X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/a5336e68a3fb124b6d024ea9b0b9d7bfe88b3b6a..0436b4878ce29c48b690772e61fcaf7aaae8a4ac:/vendor/gems/rspec-1.1.2/spec/spec/example/example_group_methods_spec.rb diff --git a/vendor/gems/rspec-1.1.2/spec/spec/example/example_group_methods_spec.rb b/vendor/gems/rspec-1.1.2/spec/spec/example/example_group_methods_spec.rb deleted file mode 100644 index fa08e6fca..000000000 --- a/vendor/gems/rspec-1.1.2/spec/spec/example/example_group_methods_spec.rb +++ /dev/null @@ -1,480 +0,0 @@ -require File.dirname(__FILE__) + '/../../spec_helper' - -module Spec - module Example - describe 'ExampleGroupMethods' do - it_should_behave_like "sandboxed rspec_options" - attr_reader :example_group, :result, :reporter - before(:each) do - options.formatters << mock("formatter", :null_object => true) - options.backtrace_tweaker = mock("backtrace_tweaker", :null_object => true) - @reporter = FakeReporter.new(@options) - options.reporter = reporter - @example_group = Class.new(ExampleGroup) do - describe("ExampleGroup") - it "does nothing" - end - class << example_group - public :include - end - @result = nil - end - - after(:each) do - ExampleGroup.reset - end - - describe "#describe" do - attr_reader :child_example_group - before do - @child_example_group = @example_group.describe("Another ExampleGroup") do - it "should pass" do - true.should be_true - end - end - end - - it "should create a subclass of the ExampleGroup when passed a block" do - child_example_group.superclass.should == @example_group - @options.example_groups.should include(child_example_group) - end - - it "should not inherit examples" do - child_example_group.examples.length.should == 1 - end - end - - describe "#it" do - it "should should create an example instance" do - lambda { - @example_group.it("") - }.should change { @example_group.examples.length }.by(1) - end - end - - describe "#xit" do - before(:each) do - Kernel.stub!(:warn) - end - - it "should NOT should create an example instance" do - lambda { - @example_group.xit("") - }.should_not change(@example_group.examples, :length) - end - - it "should warn that it is disabled" do - Kernel.should_receive(:warn).with("Example disabled: foo") - @example_group.xit("foo") - end - end - - describe "#examples" do - it "should have Examples" do - example_group = Class.new(ExampleGroup) do - describe('example') - it "should pass" do - 1.should == 1 - end - end - example_group.examples.length.should == 1 - example_group.examples.first.description.should == "should pass" - end - - it "should not include methods that begin with test (only when TU interop is loaded)" do - example_group = Class.new(ExampleGroup) do - describe('example') - def test_any_args(*args) - true.should be_true - end - def test_something - 1.should == 1 - end - def test - raise "This is not a real test" - end - def testify - raise "This is not a real test" - end - end - example_group.examples.length.should == 0 - example_group.run.should be_true - end - - it "should include methods that begin with should and has an arity of 0 in suite" do - example_group = Class.new(ExampleGroup) do - describe('example') - def shouldCamelCase - true.should be_true - end - def should_any_args(*args) - true.should be_true - end - def should_something - 1.should == 1 - end - def should_not_something - 1.should_not == 2 - end - def should - raise "This is not a real example" - end - def should_not - raise "This is not a real example" - end - end - example_group = example_group.dup - example_group.examples.length.should == 4 - descriptions = example_group.examples.collect {|example| example.description}.sort - descriptions.should include("shouldCamelCase") - descriptions.should include("should_any_args") - descriptions.should include("should_something") - descriptions.should include("should_not_something") - end - - it "should not include methods that begin with test_ and has an arity > 0 in suite" do - example_group = Class.new(ExampleGroup) do - describe('example') - def test_invalid(foo) - 1.should == 1 - end - def testInvalidCamelCase(foo) - 1.should == 1 - end - end - example_group.examples.length.should == 0 - end - - it "should not include methods that begin with should_ and has an arity > 0 in suite" do - example_group = Class.new(ExampleGroup) do - describe('example') - def should_invalid(foo) - 1.should == 2 - end - def shouldInvalidCamelCase(foo) - 1.should == 3 - end - def should_not_invalid(foo) - 1.should == 4 - end - def should_valid - 1.should == 1 - end - end - example_group.examples.length.should == 1 - example_group.run.should be_true - end - - it "should run should_methods" do - example_group = Class.new(ExampleGroup) do - def should_valid - 1.should == 2 - end - end - example_group.examples.length.should == 1 - example_group.run.should be_false - end - end - - describe "#set_description" do - attr_reader :example_group - before do - class << example_group - public :set_description - end - end - - describe "#set_description(String)" do - before(:each) do - example_group.set_description("abc") - end - - specify ".description should return the String passed into .set_description" do - example_group.description.should == "abc" - end - - specify ".described_type should provide nil as its type" do - example_group.described_type.should be_nil - end - end - - describe "#set_description(Type)" do - before(:each) do - example_group.set_description(ExampleGroup) - end - - specify ".description should return a String representation of that type (fully qualified) as its name" do - example_group.description.should == "Spec::Example::ExampleGroup" - end - - specify ".described_type should return the passed in type" do - example_group.described_type.should == Spec::Example::ExampleGroup - end - end - - describe "#set_description(String, Type)" do - before(:each) do - example_group.set_description("behaving", ExampleGroup) - end - - specify ".description should return String then space then Type" do - example_group.description.should == "behaving Spec::Example::ExampleGroup" - end - - specify ".described_type should return the passed in type" do - example_group.described_type.should == Spec::Example::ExampleGroup - end - end - - describe "#set_description(Type, String not starting with a space)" do - before(:each) do - example_group.set_description(ExampleGroup, "behaving") - end - - specify ".description should return the Type then space then String" do - example_group.description.should == "Spec::Example::ExampleGroup behaving" - end - end - - describe "#set_description(Type, String starting with .)" do - before(:each) do - example_group.set_description(ExampleGroup, ".behaving") - end - - specify ".description should return the Type then String" do - example_group.description.should == "Spec::Example::ExampleGroup.behaving" - end - end - - describe "#set_description(Type, String containing .)" do - before(:each) do - example_group.set_description(ExampleGroup, "calling a.b") - end - - specify ".description should return the Type then space then String" do - example_group.description.should == "Spec::Example::ExampleGroup calling a.b" - end - end - - describe "#set_description(Type, String starting with .)" do - before(:each) do - example_group.set_description(ExampleGroup, ".behaving") - end - - specify "should return the Type then String" do - example_group.description.should == "Spec::Example::ExampleGroup.behaving" - end - end - - describe "#set_description(Type, String containing .)" do - before(:each) do - example_group.set_description(ExampleGroup, "is #1") - end - - specify ".description should return the Type then space then String" do - example_group.description.should == "Spec::Example::ExampleGroup is #1" - end - end - - describe "#set_description(String, Type, String)" do - before(:each) do - example_group.set_description("A", Hash, "with one entry") - end - - specify ".description should return the first String then space then Type then second String" do - example_group.description.should == "A Hash with one entry" - end - end - - describe "#set_description(Hash representing options)" do - before(:each) do - example_group.set_description(:a => "b", :spec_path => "blah") - end - - it ".spec_path should expand the passed in :spec_path option passed into the constructor" do - example_group.spec_path.should == File.expand_path("blah") - end - - it ".description_options should return all the options passed in" do - example_group.description_options.should == {:a => "b", :spec_path => "blah"} - end - - end - end - - describe "#description" do - it "should return the same description instance for each call" do - example_group.description.should eql(example_group.description) - end - - it "should not add a space when description_text begins with #" do - child_example_group = Class.new(example_group) do - describe("#foobar", "Does something") - end - child_example_group.description.should == "ExampleGroup#foobar Does something" - end - - it "should not add a space when description_text begins with ." do - child_example_group = Class.new(example_group) do - describe(".foobar", "Does something") - end - child_example_group.description.should == "ExampleGroup.foobar Does something" - end - - it "should return the class name if nil" do - example_group.set_description(nil) - example_group.description.should =~ /Class:/ - end - - it "should return the class name if nil" do - example_group.set_description("") - example_group.description.should =~ /Class:/ - end - end - - describe "#description_parts" do - it "should return an Array of the current class description args" do - example_group.description_parts.should == [example_group.description] - end - - it "should return an Array of the description args from each class in the hierarchy" do - child_example_group = Class.new(example_group) - child_example_group.describe("Child", ExampleGroup) - child_example_group.description.should_not be_empty - - grand_child_example_group = Class.new(child_example_group) - grand_child_example_group.describe("GrandChild", ExampleGroup) - grand_child_example_group.description.should_not be_empty - - grand_child_example_group.description_parts.should == [ - "ExampleGroup", - "Child", - Spec::Example::ExampleGroup, - "GrandChild", - Spec::Example::ExampleGroup - ] - end - end - - describe "#described_type" do - it "should return passed in type" do - child_example_group = Class.new(example_group) do - describe Object - end - child_example_group.described_type.should == Object - end - - it "should return #described_type of superclass when no passed in type" do - parent_example_group = Class.new(ExampleGroup) do - describe Object, "#foobar" - end - child_example_group = Class.new(parent_example_group) do - describe "not a type" - end - child_example_group.described_type.should == Object - end - end - - describe "#remove_after" do - it "should unregister a given after(:each) block" do - after_all_ran = false - @example_group.it("example") {} - proc = Proc.new { after_all_ran = true } - ExampleGroup.after(:each, &proc) - @example_group.run - after_all_ran.should be_true - - after_all_ran = false - ExampleGroup.remove_after(:each, &proc) - @example_group.run - after_all_ran.should be_false - end - end - - describe "#include" do - it "should have accessible class methods from included module" do - mod1_method_called = false - mod1 = Module.new do - class_methods = Module.new do - define_method :mod1_method do - mod1_method_called = true - end - end - - metaclass.class_eval do - define_method(:included) do |receiver| - receiver.extend class_methods - end - end - end - - mod2_method_called = false - mod2 = Module.new do - class_methods = Module.new do - define_method :mod2_method do - mod2_method_called = true - end - end - - metaclass.class_eval do - define_method(:included) do |receiver| - receiver.extend class_methods - end - end - end - - @example_group.include mod1, mod2 - - @example_group.mod1_method - @example_group.mod2_method - mod1_method_called.should be_true - mod2_method_called.should be_true - end - end - - describe "#number_of_examples" do - it "should count number of specs" do - proc do - @example_group.it("one") {} - @example_group.it("two") {} - @example_group.it("three") {} - @example_group.it("four") {} - end.should change {@example_group.number_of_examples}.by(4) - end - end - - describe "#class_eval" do - it "should allow constants to be defined" do - example_group = Class.new(ExampleGroup) do - describe('example') - FOO = 1 - it "should reference FOO" do - FOO.should == 1 - end - end - example_group.run - Object.const_defined?(:FOO).should == false - end - end - - describe '#register' do - it "should add ExampleGroup to set of ExampleGroups to be run" do - example_group.register - options.example_groups.should include(example_group) - end - end - - describe '#unregister' do - before do - example_group.register - options.example_groups.should include(example_group) - end - - it "should remove ExampleGroup from set of ExampleGroups to be run" do - example_group.unregister - options.example_groups.should_not include(example_group) - end - end - end - end -end \ No newline at end of file