rspec 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +78 -1
- data/EXAMPLES.rd +8 -5
- data/README +1 -0
- data/Rakefile +1 -1
- data/examples/pending_example.rb +20 -0
- data/lib/autotest/rspec.rb +46 -18
- data/lib/spec/dsl.rb +1 -0
- data/lib/spec/dsl/behaviour.rb +37 -27
- data/lib/spec/dsl/behaviour_callbacks.rb +4 -0
- data/lib/spec/dsl/behaviour_eval.rb +27 -16
- data/lib/spec/dsl/behaviour_factory.rb +2 -2
- data/lib/spec/dsl/composite_proc_builder.rb +9 -4
- data/lib/spec/dsl/configuration.rb +20 -4
- data/lib/spec/dsl/description.rb +7 -0
- data/lib/spec/dsl/errors.rb +9 -0
- data/lib/spec/dsl/example.rb +18 -10
- data/lib/spec/matchers/have.rb +10 -13
- data/lib/spec/matchers/operator_matcher.rb +3 -3
- data/lib/spec/matchers/raise_error.rb +8 -3
- data/lib/spec/mocks/error_generator.rb +1 -1
- data/lib/spec/mocks/message_expectation.rb +11 -0
- data/lib/spec/mocks/methods.rb +9 -5
- data/lib/spec/mocks/proxy.rb +13 -9
- data/lib/spec/rake/spectask.rb +80 -38
- data/lib/spec/runner/backtrace_tweaker.rb +2 -1
- data/lib/spec/runner/behaviour_runner.rb +37 -16
- data/lib/spec/runner/formatter/base_formatter.rb +23 -15
- data/lib/spec/runner/formatter/base_text_formatter.rb +39 -11
- data/lib/spec/runner/formatter/failing_behaviours_formatter.rb +7 -3
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +3 -3
- data/lib/spec/runner/formatter/html_formatter.rb +32 -25
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +6 -5
- data/lib/spec/runner/formatter/rdoc_formatter.rb +6 -6
- data/lib/spec/runner/formatter/specdoc_formatter.rb +7 -6
- data/lib/spec/runner/option_parser.rb +6 -5
- data/lib/spec/runner/options.rb +60 -43
- data/lib/spec/runner/reporter.rb +17 -6
- data/lib/spec/runner/spec_parser.rb +1 -1
- data/lib/spec/translator.rb +8 -0
- data/lib/spec/version.rb +3 -3
- data/plugins/mock_frameworks/flexmock.rb +14 -18
- data/plugins/mock_frameworks/mocha.rb +0 -2
- data/plugins/mock_frameworks/rr.rb +21 -0
- data/spec/autotest/discover_spec.rb +19 -0
- data/spec/autotest/rspec_spec.rb +257 -0
- data/spec/autotest_helper.rb +4 -0
- data/spec/spec/dsl/behaviour_eval_spec.rb +30 -0
- data/spec/spec/dsl/behaviour_factory_spec.rb +18 -0
- data/spec/spec/dsl/behaviour_spec.rb +95 -58
- data/spec/spec/dsl/composite_proc_builder_spec.rb +0 -13
- data/spec/spec/dsl/configuration_spec.rb +6 -1
- data/spec/spec/dsl/description_spec.rb +9 -1
- data/spec/spec/dsl/example_class_spec.rb +3 -3
- data/spec/spec/dsl/example_instance_spec.rb +26 -28
- data/spec/spec/dsl/example_matcher_spec.rb +91 -0
- data/spec/spec/dsl/shared_behaviour_spec.rb +24 -0
- data/spec/spec/expectations/extensions/object_spec.rb +2 -2
- data/spec/spec/expectations/fail_with_spec.rb +2 -2
- data/spec/spec/matchers/have_spec.rb +1 -1
- data/spec/spec/matchers/operator_matcher_spec.rb +10 -10
- data/spec/spec/matchers/raise_error_spec.rb +38 -0
- data/spec/spec/mocks/argument_expectation_spec.rb +18 -14
- data/spec/spec/mocks/at_most_spec.rb +1 -1
- data/spec/spec/mocks/bug_report_11545_spec.rb +31 -0
- data/spec/spec/mocks/partial_mock_spec.rb +33 -1
- data/spec/spec/runner/behaviour_runner_spec.rb +72 -49
- data/spec/spec/runner/command_line_spec.rb +1 -1
- data/spec/spec/runner/context_matching_spec.rb +10 -10
- data/spec/spec/runner/drb_command_line_spec.rb +62 -59
- data/spec/spec/runner/extensions/bug_report_10577_spec.rb +35 -0
- data/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +15 -2
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +3 -3
- data/spec/spec/runner/formatter/html_formatter_spec.rb +1 -1
- data/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +14 -15
- data/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +1 -1
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +42 -9
- data/spec/spec/runner/formatter/rdoc_formatter_spec.rb +40 -40
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +55 -49
- data/spec/spec/runner/option_parser_spec.rb +16 -15
- data/spec/spec/runner/options_spec.rb +64 -31
- data/spec/spec/runner/reporter_spec.rb +67 -15
- data/spec/spec/spec_classes.rb +9 -1
- data/spec/spec/translator_spec.rb +48 -0
- data/spec/spec_helper.rb +5 -2
- metadata +13 -6
- data/examples/not_yet_implemented_spec.rb +0 -12
- data/spec/spec/runner/example_matcher_spec.rb +0 -127
@@ -0,0 +1,35 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
2
|
+
require 'delegate'
|
3
|
+
|
4
|
+
module Bug10577
|
5
|
+
class OCI8
|
6
|
+
def describe(name)
|
7
|
+
"Hello, #{name}"
|
8
|
+
end
|
9
|
+
|
10
|
+
def something(name)
|
11
|
+
"Something, #{name}"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
class OCI8AutoRecover < DelegateClass(OCI8)
|
16
|
+
def initialize
|
17
|
+
@connection = OCI8.new
|
18
|
+
super(@connection)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
class OCI8AutoRecover
|
23
|
+
def describe(name)
|
24
|
+
@connection.describe(name)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe Kernel do
|
29
|
+
it "should not mask a delegate class' describe method" do
|
30
|
+
bugger = OCI8AutoRecover.new
|
31
|
+
bugger.describe('aslak').should == "Hello, aslak"
|
32
|
+
bugger.something('aslak').should == "Something, aslak"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -8,17 +8,30 @@ module Spec
|
|
8
8
|
@io = StringIO.new
|
9
9
|
@formatter = FailingBehavioursFormatter.new(@io)
|
10
10
|
end
|
11
|
+
|
12
|
+
def description(s)
|
13
|
+
Spec::DSL::Description.new(s)
|
14
|
+
end
|
11
15
|
|
12
16
|
it "should add example name for each failure" do
|
13
|
-
@formatter.add_behaviour("b 1")
|
17
|
+
@formatter.add_behaviour(description("b 1"))
|
14
18
|
@formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
15
|
-
@formatter.add_behaviour("b 2")
|
19
|
+
@formatter.add_behaviour(description("b 2"))
|
16
20
|
@formatter.example_failed("e 2", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
17
21
|
@formatter.example_failed("e 3", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
18
22
|
@io.string.should eql(<<-EOF
|
19
23
|
b 1
|
20
24
|
b 2
|
21
25
|
EOF
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
it "should remove druby url, which is used by Spec::Distributed" do
|
30
|
+
@formatter.add_behaviour("something something (druby://99.99.99.99:99)")
|
31
|
+
@formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
32
|
+
@io.string.should eql(<<-EOF
|
33
|
+
something something
|
34
|
+
EOF
|
22
35
|
)
|
23
36
|
end
|
24
37
|
end
|
@@ -11,10 +11,10 @@ module Spec
|
|
11
11
|
|
12
12
|
it "should add example name for each failure" do
|
13
13
|
@formatter.add_behaviour("b 1")
|
14
|
-
@formatter.example_failed("e 1", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
14
|
+
@formatter.example_failed(DSL::Example.new("e 1"), nil, Reporter::Failure.new(nil, RuntimeError.new))
|
15
15
|
@formatter.add_behaviour("b 2")
|
16
|
-
@formatter.example_failed("e 2", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
17
|
-
@formatter.example_failed("e 3", nil, Reporter::Failure.new(nil, RuntimeError.new))
|
16
|
+
@formatter.example_failed(DSL::Example.new("e 2"), nil, Reporter::Failure.new(nil, RuntimeError.new))
|
17
|
+
@formatter.example_failed(DSL::Example.new("e 3"), nil, Reporter::Failure.new(nil, RuntimeError.new))
|
18
18
|
@io.string.should eql(<<-EOF
|
19
19
|
b 1 e 1
|
20
20
|
b 2 e 2
|
@@ -11,7 +11,7 @@ describe "HtmlFormatter" do
|
|
11
11
|
raise "There should be no absolute paths in html_formatted.html!!" if (expected_html =~ /\/Users/n || expected_html =~ /\/home/n)
|
12
12
|
|
13
13
|
Dir.chdir(root) do
|
14
|
-
args = ['failing_examples/mocking_example.rb', 'failing_examples/diffing_spec.rb', 'examples/stubbing_example.rb', 'examples/
|
14
|
+
args = ['failing_examples/mocking_example.rb', 'failing_examples/diffing_spec.rb', 'examples/stubbing_example.rb', 'examples/pending_example.rb', '--format', 'html', opt]
|
15
15
|
err = StringIO.new
|
16
16
|
out = StringIO.new
|
17
17
|
Spec::Runner::CommandLine.run(
|
@@ -1,21 +1,20 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
2
2
|
|
3
3
|
module Spec
|
4
|
-
module Runner
|
5
|
-
module Formatter
|
6
|
-
describe "
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
it "should not produce summary on dry run" do
|
13
|
-
@formatter.dump_summary(3, 2, 1, 0)
|
14
|
-
@io.string.should eql("")
|
4
|
+
module Runner
|
5
|
+
module Formatter
|
6
|
+
describe ProgressBarFormatter, "dry run" do
|
7
|
+
before(:each) do
|
8
|
+
@io = StringIO.new
|
9
|
+
@formatter = ProgressBarFormatter.new(@io)
|
10
|
+
@formatter.dry_run = true
|
11
|
+
end
|
15
12
|
|
13
|
+
it "should not produce summary on dry run" do
|
14
|
+
@formatter.dump_summary(3, 2, 1, 0)
|
15
|
+
@io.string.should eql("")
|
16
|
+
end
|
17
|
+
end
|
16
18
|
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
19
|
+
end
|
21
20
|
end
|
@@ -7,7 +7,7 @@ module Spec
|
|
7
7
|
before(:each) do
|
8
8
|
@io = StringIO.new
|
9
9
|
@reporter = Reporter.new([ProgressBarFormatter.new(@io)], NoisyBacktraceTweaker.new)
|
10
|
-
@reporter.add_behaviour("context")
|
10
|
+
@reporter.add_behaviour(Spec::DSL::Description.new("context"))
|
11
11
|
end
|
12
12
|
|
13
13
|
it "should end with line break" do
|
@@ -3,7 +3,7 @@ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
3
3
|
module Spec
|
4
4
|
module Runner
|
5
5
|
module Formatter
|
6
|
-
describe
|
6
|
+
describe ProgressBarFormatter do
|
7
7
|
before(:each) do
|
8
8
|
@io = StringIO.new
|
9
9
|
@formatter = ProgressBarFormatter.new(@io)
|
@@ -14,24 +14,51 @@ module Spec
|
|
14
14
|
@io.string.should eql("\n")
|
15
15
|
end
|
16
16
|
|
17
|
-
it "should produce standard summary without
|
17
|
+
it "should produce standard summary without pending when pending has a 0 count" do
|
18
18
|
@formatter.dump_summary(3, 2, 1, 0)
|
19
19
|
@io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
|
20
20
|
end
|
21
21
|
|
22
22
|
it "should produce standard summary" do
|
23
|
-
@formatter.
|
24
|
-
@io.
|
23
|
+
@formatter.example_pending("behaviour", "example", "message")
|
24
|
+
@io.rewind
|
25
|
+
@formatter.dump_summary(3, 2, 1, 1)
|
26
|
+
@io.string.should eql(%Q|
|
27
|
+
Finished in 3 seconds
|
28
|
+
|
29
|
+
2 examples, 1 failure, 1 pending
|
30
|
+
|
31
|
+
Pending:
|
32
|
+
behaviour example (message)
|
33
|
+
|)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should push green dot for passing spec" do
|
37
|
+
@io.should_receive(:tty?).and_return(true)
|
38
|
+
@formatter.colour = true
|
39
|
+
@formatter.example_passed("spec")
|
40
|
+
@io.string.should == "\e[32m.\e[0m"
|
25
41
|
end
|
26
42
|
|
27
|
-
it "should push F for
|
43
|
+
it "should push red F for failure spec" do
|
44
|
+
@io.should_receive(:tty?).and_return(true)
|
45
|
+
@formatter.colour = true
|
46
|
+
@formatter.example_failed("spec", 98, Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new))
|
47
|
+
@io.string.should eql("\e[31mF\e[0m")
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should push magenta F for error spec" do
|
51
|
+
@io.should_receive(:tty?).and_return(true)
|
52
|
+
@formatter.colour = true
|
28
53
|
@formatter.example_failed("spec", 98, Reporter::Failure.new("c s", RuntimeError.new))
|
29
|
-
@io.string.should eql("
|
54
|
+
@io.string.should eql("\e[35mF\e[0m")
|
30
55
|
end
|
31
56
|
|
32
|
-
it "should push
|
33
|
-
@
|
34
|
-
@
|
57
|
+
it "should push blue F for fixed pending spec" do
|
58
|
+
@io.should_receive(:tty?).and_return(true)
|
59
|
+
@formatter.colour = true
|
60
|
+
@formatter.example_failed("spec", 98, Reporter::Failure.new("c s", Spec::DSL::PendingFixedError.new))
|
61
|
+
@io.string.should eql("\e[34mF\e[0m")
|
35
62
|
end
|
36
63
|
|
37
64
|
it "should push nothing on start" do
|
@@ -54,6 +81,12 @@ EOE
|
|
54
81
|
/tmp/x.rb:3:
|
55
82
|
EOE
|
56
83
|
end
|
84
|
+
|
85
|
+
it "should dump pending" do
|
86
|
+
@formatter.example_pending("behaviour", "example", "message")
|
87
|
+
@formatter.dump_pending
|
88
|
+
@io.string.should =~ /Pending\:\nbehaviour example \(message\)\n/
|
89
|
+
end
|
57
90
|
end
|
58
91
|
|
59
92
|
describe "ProgressBarFormatter outputting to custom out" do
|
@@ -1,46 +1,46 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
2
2
|
|
3
3
|
module Spec
|
4
|
-
module Runner
|
5
|
-
module Formatter
|
6
|
-
describe "RdocFormatter" do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
it "should push out context" do
|
23
|
-
@formatter.add_behaviour("context")
|
24
|
-
@io.string.should eql("# context\n")
|
25
|
-
|
26
|
-
end
|
27
|
-
it "should push out failed spec" do
|
28
|
-
@formatter.example_failed("spec", 98, nil)
|
29
|
-
@io.string.should eql("# * spec [98 - FAILED]\n")
|
30
|
-
|
31
|
-
end
|
32
|
-
it "should push out spec" do
|
33
|
-
@formatter.example_passed("spec")
|
34
|
-
@io.string.should eql("# * spec\n")
|
35
|
-
|
36
|
-
end
|
4
|
+
module Runner
|
5
|
+
module Formatter
|
6
|
+
describe "RdocFormatter" do
|
7
|
+
before(:each) do
|
8
|
+
@io = StringIO.new
|
9
|
+
@formatter = RdocFormatter.new(@io)
|
10
|
+
@formatter.dry_run = true
|
11
|
+
end
|
12
|
+
|
13
|
+
it "should produce no summary" do
|
14
|
+
@formatter.dump_summary(nil, nil, nil, nil)
|
15
|
+
@io.string.should be_empty
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should produce nothing on start dump" do
|
19
|
+
@formatter.start_dump
|
20
|
+
@io.string.should be_empty
|
21
|
+
end
|
37
22
|
|
38
|
-
|
39
|
-
|
40
|
-
|
23
|
+
it "should push out context" do
|
24
|
+
@formatter.add_behaviour(Spec::DSL::Description.new("context"))
|
25
|
+
@io.string.should eql("# context\n")
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should push out failed spec" do
|
29
|
+
@formatter.example_failed(DSL::Example.new("spec"), 98, nil)
|
30
|
+
@io.string.should eql("# * spec [98 - FAILED]\n")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should push out spec" do
|
34
|
+
@formatter.example_passed(DSL::Example.new("spec"))
|
35
|
+
@io.string.should eql("# * spec\n")
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should push out not pending example" do
|
39
|
+
@formatter.example_pending("behaviour", "example", "reason")
|
40
|
+
@io.string.should eql("# * behaviour example [PENDING: reason]\n")
|
41
|
+
end
|
42
|
+
|
43
|
+
end
|
41
44
|
end
|
42
|
-
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
45
|
+
end
|
46
46
|
end
|
@@ -1,56 +1,62 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
2
2
|
|
3
3
|
module Spec
|
4
|
-
module Runner
|
5
|
-
module Formatter
|
6
|
-
describe "SpecdocFormatter" do
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
module Runner
|
5
|
+
module Formatter
|
6
|
+
describe "SpecdocFormatter" do
|
7
|
+
before(:each) do
|
8
|
+
@io = StringIO.new
|
9
|
+
@formatter = SpecdocFormatter.new(@io)
|
10
|
+
end
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
12
|
+
it "should produce standard summary without pending when pending has a 0 count" do
|
13
|
+
@formatter.dump_summary(3, 2, 1, 0)
|
14
|
+
@io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
|
15
|
+
end
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
17
|
+
it "should produce standard summary" do
|
18
|
+
@formatter.dump_summary(3, 2, 1, 4)
|
19
|
+
@io.string.should eql("\nFinished in 3 seconds\n\n2 examples, 1 failure, 4 pending\n")
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should push context name" do
|
23
|
+
@formatter.add_behaviour(Spec::DSL::Description.new("context"))
|
24
|
+
@io.string.should eql("\ncontext\n")
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should push failing spec name and failure number" do
|
28
|
+
@formatter.example_failed(DSL::Example.new("spec"), 98, Reporter::Failure.new("c s", RuntimeError.new))
|
29
|
+
@io.string.should eql("- spec (ERROR - 98)\n")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should push nothing on start" do
|
33
|
+
@formatter.start(5)
|
34
|
+
@io.string.should eql("")
|
35
|
+
end
|
36
|
+
|
37
|
+
it "should push nothing on start dump" do
|
38
|
+
@formatter.start_dump
|
39
|
+
@io.string.should eql("")
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should push passing spec name" do
|
43
|
+
@formatter.example_passed(DSL::Example.new("spec"))
|
44
|
+
@io.string.should eql("- spec\n")
|
45
|
+
end
|
46
|
+
|
47
|
+
it "should push pending example name and message" do
|
48
|
+
@formatter.example_pending('behaviour', 'example','reason')
|
49
|
+
@io.string.should eql("- example (PENDING: reason)\n")
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should dump pending" do
|
53
|
+
@formatter.example_pending('behaviour', 'example','reason')
|
54
|
+
@io.rewind
|
55
|
+
@formatter.dump_pending
|
56
|
+
@io.string.should =~ /Pending\:\nbehaviour example \(reason\)\n/
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
51
60
|
end
|
52
|
-
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
61
|
+
end
|
56
62
|
end
|
@@ -54,9 +54,9 @@ describe "OptionParser" do
|
|
54
54
|
@out.read.should match(/Usage: spec \(FILE\|DIRECTORY\|GLOB\)\+ \[options\]/m)
|
55
55
|
end
|
56
56
|
|
57
|
-
it "should print instructions about how to
|
58
|
-
options = parse(["--format", "Custom::
|
59
|
-
@err.string.should match(/Couldn't find formatter class Custom::
|
57
|
+
it "should print instructions about how to require missing formatter" do
|
58
|
+
lambda { options = parse(["--format", "Custom::MissingFormatter"]) }.should raise_error(NameError)
|
59
|
+
@err.string.should match(/Couldn't find formatter class Custom::MissingFormatter/n)
|
60
60
|
end
|
61
61
|
|
62
62
|
it "should print usage to err if no dir specified" do
|
@@ -133,7 +133,8 @@ describe "OptionParser" do
|
|
133
133
|
options = parse(["--format", "html:test.html"])
|
134
134
|
File.should be_exist('test.html')
|
135
135
|
options.formatters[0].class.should equal(Spec::Runner::Formatter::HtmlFormatter)
|
136
|
-
|
136
|
+
options.formatters[0].close
|
137
|
+
FileUtils.rm 'test.html'
|
137
138
|
end
|
138
139
|
|
139
140
|
it "should use noisy backtrace tweaker with b option" do
|
@@ -199,9 +200,9 @@ describe "OptionParser" do
|
|
199
200
|
options.differ_class.should == Custom::Formatter
|
200
201
|
end
|
201
202
|
|
202
|
-
it "should print instructions about how to fix
|
203
|
-
|
204
|
-
@err.string.should match(/Couldn't find differ class Custom::
|
203
|
+
it "should print instructions about how to fix missing differ" do
|
204
|
+
lambda { parse(["--diff", "Custom::MissingFormatter"]) }.should raise_error(NameError)
|
205
|
+
@err.string.should match(/Couldn't find differ class Custom::MissingFormatter/n)
|
205
206
|
end
|
206
207
|
|
207
208
|
it "should support --line to identify spec" do
|
@@ -293,8 +294,8 @@ describe "OptionParser" do
|
|
293
294
|
it "should save config to file when --generate-options is specified" do
|
294
295
|
FileUtils.rm 'test.spec.opts' if File.exist?('test.spec.opts')
|
295
296
|
options = parse(["--colour", "--generate-options", "test.spec.opts", "--diff"])
|
296
|
-
|
297
|
-
FileUtils.rm 'test.spec.opts'
|
297
|
+
IO.read('test.spec.opts').should == "--colour\n--diff\n"
|
298
|
+
FileUtils.rm 'test.spec.opts'
|
298
299
|
end
|
299
300
|
|
300
301
|
it "should call DrbCommandLine when --drb is specified" do
|
@@ -322,19 +323,19 @@ describe "OptionParser" do
|
|
322
323
|
end
|
323
324
|
end
|
324
325
|
|
325
|
-
it "should
|
326
|
+
it "should use the standard runner by default" do
|
326
327
|
options = parse([])
|
327
|
-
options.
|
328
|
+
options.create_behaviour_runner.class.should equal(Spec::Runner::BehaviourRunner)
|
328
329
|
end
|
329
330
|
|
330
331
|
it "should use a custom runner when given" do
|
331
332
|
options = parse(["--runner", "Custom::BehaviourRunner"])
|
332
|
-
options.
|
333
|
+
options.create_behaviour_runner.class.should equal(Custom::BehaviourRunner)
|
333
334
|
end
|
334
335
|
|
335
|
-
it "should
|
336
|
-
parse(["--runner", "
|
337
|
-
|
336
|
+
it "should use a custom runner with extra options" do
|
337
|
+
options = parse(["--runner", "Custom::BehaviourRunner:something"])
|
338
|
+
options.create_behaviour_runner.class.should equal(Custom::BehaviourRunner)
|
338
339
|
end
|
339
340
|
|
340
341
|
it "should return the correct default behaviour runner" do
|