rspec 0.8.2 → 0.9.0
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 +125 -9
- data/EXAMPLES.rd +50 -27
- data/README +14 -1
- data/Rakefile +95 -42
- data/UPGRADE +31 -0
- data/bin/spec +0 -1
- data/bin/spec_translator +6 -0
- data/examples/auto_spec_description_example.rb +19 -0
- data/examples/{setup_teardown_example.rb → before_and_after_example.rb} +6 -6
- data/examples/behave_as_example.rb +45 -0
- data/examples/custom_expectation_matchers.rb +13 -12
- data/examples/dynamic_spec.rb +2 -2
- data/examples/file_accessor_spec.rb +2 -2
- data/examples/greeter_spec.rb +3 -3
- data/examples/helper_method_example.rb +2 -2
- data/examples/io_processor_spec.rb +4 -4
- data/examples/legacy_spec.rb +10 -0
- data/examples/mocking_example.rb +5 -5
- data/examples/multi_threaded_behaviour_runner.rb +25 -0
- data/examples/partial_mock_example.rb +4 -4
- data/examples/predicate_example.rb +4 -4
- data/examples/priority.txt +1 -0
- data/examples/shared_behaviours_example.rb +31 -0
- data/examples/stack_spec.rb +52 -69
- data/examples/stubbing_example.rb +10 -10
- data/examples/test_case_adapter_example.rb +26 -0
- data/examples/test_case_spec.rb +6 -6
- data/lib/spec.rb +9 -4
- data/lib/spec/dsl.rb +10 -0
- data/lib/spec/dsl/behaviour.rb +189 -0
- data/lib/spec/dsl/behaviour_callbacks.rb +43 -0
- data/lib/spec/dsl/behaviour_eval.rb +170 -0
- data/lib/spec/dsl/behaviour_factory.rb +32 -0
- data/lib/spec/dsl/composite_proc_builder.rb +28 -0
- data/lib/spec/dsl/configuration.rb +38 -0
- data/lib/spec/dsl/description.rb +34 -0
- data/lib/spec/dsl/example.rb +114 -0
- data/lib/spec/dsl/example_matcher.rb +28 -0
- data/lib/spec/{runner/spec_should_raise_handler.rb → dsl/example_should_raise_handler.rb} +4 -4
- data/lib/spec/expectations.rb +0 -3
- data/lib/spec/expectations/differs/default.rb +0 -1
- data/lib/spec/expectations/extensions.rb +0 -1
- data/lib/spec/expectations/extensions/object.rb +10 -53
- data/lib/spec/expectations/handler.rb +14 -18
- data/lib/spec/extensions.rb +1 -0
- data/lib/spec/extensions/object.rb +6 -0
- data/lib/spec/matchers.rb +19 -21
- data/lib/spec/matchers/be.rb +40 -11
- data/lib/spec/matchers/be_close.rb +2 -2
- data/lib/spec/matchers/operator_matcher.rb +52 -0
- data/lib/spec/matchers/respond_to.rb +21 -11
- data/lib/spec/mocks.rb +5 -28
- data/lib/spec/mocks/argument_constraint_matchers.rb +12 -0
- data/lib/spec/mocks/argument_expectation.rb +7 -4
- data/lib/spec/mocks/methods.rb +11 -16
- data/lib/spec/mocks/mock.rb +6 -3
- data/lib/spec/mocks/{mock_handler.rb → proxy.rb} +4 -7
- data/lib/spec/mocks/space.rb +28 -0
- data/lib/spec/mocks/spec_methods.rb +30 -0
- data/lib/spec/rake/spectask.rb +23 -21
- data/lib/spec/rake/verify_rcov.rb +1 -0
- data/lib/spec/runner.rb +88 -35
- data/lib/spec/runner/backtrace_tweaker.rb +2 -1
- data/lib/spec/runner/behaviour_runner.rb +102 -0
- data/lib/spec/runner/command_line.rb +5 -17
- data/lib/spec/runner/drb_command_line.rb +2 -2
- data/lib/spec/runner/extensions/kernel.rb +22 -9
- data/lib/spec/runner/formatter.rb +4 -0
- data/lib/spec/runner/formatter/base_formatter.rb +63 -0
- data/lib/spec/runner/formatter/base_text_formatter.rb +22 -52
- data/lib/spec/runner/formatter/failing_behaviours_formatter.rb +25 -0
- data/lib/spec/runner/formatter/failing_examples_formatter.rb +22 -0
- data/lib/spec/runner/formatter/html_formatter.rb +74 -29
- data/lib/spec/runner/formatter/progress_bar_formatter.rb +6 -8
- data/lib/spec/runner/formatter/rdoc_formatter.rb +6 -6
- data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
- data/lib/spec/runner/formatter/specdoc_formatter.rb +6 -6
- data/lib/spec/runner/heckle_runner.rb +8 -7
- data/lib/spec/runner/option_parser.rb +136 -55
- data/lib/spec/runner/options.rb +26 -0
- data/lib/spec/runner/reporter.rb +38 -31
- data/lib/spec/runner/spec_parser.rb +22 -13
- data/lib/spec/test_case_adapter.rb +10 -0
- data/lib/spec/translator.rb +103 -86
- data/lib/spec/version.rb +7 -15
- data/plugins/mock_frameworks/flexmock.rb +27 -0
- data/plugins/mock_frameworks/mocha.rb +21 -0
- data/plugins/mock_frameworks/rspec.rb +18 -0
- data/spec/spec/dsl/behaviour_eval_spec.rb +49 -0
- data/spec/spec/dsl/behaviour_factory_spec.rb +30 -0
- data/spec/spec/dsl/behaviour_spec.rb +508 -0
- data/spec/spec/dsl/composite_proc_builder_spec.rb +57 -0
- data/spec/spec/dsl/configuration_spec.rb +43 -0
- data/spec/spec/dsl/description_spec.rb +51 -0
- data/spec/spec/dsl/example_class_spec.rb +24 -0
- data/spec/spec/dsl/example_instance_spec.rb +140 -0
- data/spec/spec/dsl/example_should_raise_spec.rb +137 -0
- data/spec/spec/dsl/predicate_matcher_spec.rb +21 -0
- data/spec/spec/dsl/shared_behaviour_spec.rb +186 -0
- data/spec/spec/expectations/differs/default_spec.rb +12 -12
- data/spec/spec/expectations/extensions/object_spec.rb +10 -10
- data/spec/spec/expectations/fail_with_spec.rb +20 -20
- data/spec/spec/matchers/be_close_spec.rb +37 -31
- data/spec/spec/matchers/be_spec.rb +50 -41
- data/spec/spec/matchers/change_spec.rb +54 -54
- data/spec/spec/matchers/description_generation_spec.rb +43 -31
- data/spec/spec/matchers/eql_spec.rb +24 -37
- data/spec/spec/matchers/equal_spec.rb +24 -37
- data/spec/spec/matchers/exist_spec.rb +48 -0
- data/spec/spec/matchers/handler_spec.rb +36 -23
- data/spec/spec/matchers/has_spec.rb +8 -8
- data/spec/spec/matchers/have_spec.rb +38 -38
- data/spec/spec/matchers/include_spec.rb +6 -6
- data/spec/spec/matchers/match_spec.rb +8 -8
- data/spec/spec/matchers/matcher_methods_spec.rb +24 -31
- data/spec/spec/matchers/raise_error_spec.rb +34 -34
- data/spec/spec/matchers/respond_to_spec.rb +32 -8
- data/spec/spec/matchers/satisfy_spec.rb +6 -6
- data/spec/spec/matchers/should_===_spec.rb +38 -0
- data/spec/spec/matchers/should_==_spec.rb +37 -0
- data/spec/spec/matchers/should_=~_spec.rb +36 -0
- data/spec/spec/matchers/throw_symbol_spec.rb +47 -55
- data/spec/spec/mocks/any_number_of_times_spec.rb +16 -21
- data/spec/spec/mocks/argument_expectation_spec.rb +3 -3
- data/spec/spec/mocks/at_least_spec.rb +30 -30
- data/spec/spec/mocks/at_most_spec.rb +53 -57
- data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
- data/spec/spec/mocks/bug_report_7611_spec.rb +3 -3
- data/spec/spec/mocks/bug_report_7805_spec.rb +3 -3
- data/spec/spec/mocks/bug_report_8165_spec.rb +5 -5
- data/spec/spec/mocks/bug_report_8302_spec.rb +5 -5
- data/spec/spec/mocks/failing_mock_argument_constraints_spec.rb +26 -27
- data/spec/spec/mocks/mock_ordering_spec.rb +19 -15
- data/spec/spec/mocks/mock_space_spec.rb +54 -0
- data/spec/spec/mocks/mock_spec.rb +111 -141
- data/spec/spec/mocks/multiple_return_value_spec.rb +48 -48
- data/spec/spec/mocks/null_object_mock_spec.rb +10 -10
- data/spec/spec/mocks/once_counts_spec.rb +32 -35
- data/spec/spec/mocks/options_hash_spec.rb +12 -10
- data/spec/spec/mocks/partial_mock_spec.rb +15 -15
- data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +24 -22
- data/spec/spec/mocks/passing_mock_argument_constraints_spec.rb +19 -19
- data/spec/spec/mocks/precise_counts_spec.rb +28 -32
- data/spec/spec/mocks/record_messages_spec.rb +10 -10
- data/spec/spec/mocks/stub_spec.rb +45 -45
- data/spec/spec/mocks/twice_counts_spec.rb +21 -21
- data/spec/spec/package/bin_spec_spec.rb +12 -0
- data/spec/spec/runner/behaviour_runner_spec.rb +114 -0
- data/spec/spec/runner/command_line_spec.rb +8 -8
- data/spec/spec/runner/context_matching_spec.rb +14 -15
- data/spec/spec/runner/drb_command_line_spec.rb +12 -12
- data/spec/spec/runner/execution_context_spec.rb +8 -29
- data/spec/spec/runner/extensions/kernel_spec.rb +36 -0
- data/spec/spec/runner/formatter/failing_behaviours_formatter_spec.rb +27 -0
- data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +28 -0
- data/spec/spec/runner/formatter/html_formatter_spec.rb +9 -8
- data/spec/spec/runner/formatter/progress_bar_formatter_dry_run_spec.rb +6 -6
- data/spec/spec/runner/formatter/progress_bar_formatter_failure_dump_spec.rb +10 -10
- data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +22 -27
- data/spec/spec/runner/formatter/rdoc_formatter_dry_run_spec.rb +6 -5
- data/spec/spec/runner/formatter/rdoc_formatter_spec.rb +17 -17
- data/spec/spec/runner/formatter/snippet_extractor_spec.rb +11 -0
- data/spec/spec/runner/formatter/specdoc_formatter_dry_run_spec.rb +6 -6
- data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +17 -17
- data/spec/spec/runner/heckle_runner_spec.rb +21 -21
- data/spec/spec/runner/heckler_spec.rb +5 -5
- data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +12 -12
- data/spec/spec/runner/object_ext_spec.rb +3 -3
- data/spec/spec/runner/option_parser_spec.rb +171 -102
- data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +21 -12
- data/spec/spec/runner/reporter_spec.rb +106 -97
- data/spec/spec/runner/spec_matcher_spec.rb +46 -51
- data/spec/spec/runner/spec_parser_spec.rb +72 -16
- data/spec/spec/spec_classes.rb +12 -3
- data/spec/spec/translator_spec.rb +165 -36
- metadata +66 -76
- data/RELEASE-PLAN +0 -117
- data/examples/auto_spec_name_generation_example.rb +0 -18
- data/lib/spec/callback.rb +0 -11
- data/lib/spec/callback/callback_container.rb +0 -60
- data/lib/spec/callback/extensions/module.rb +0 -24
- data/lib/spec/callback/extensions/object.rb +0 -37
- data/lib/spec/deprecated.rb +0 -3
- data/lib/spec/expectations/extensions/proc.rb +0 -57
- data/lib/spec/expectations/should.rb +0 -5
- data/lib/spec/expectations/should/base.rb +0 -64
- data/lib/spec/expectations/should/change.rb +0 -69
- data/lib/spec/expectations/should/have.rb +0 -128
- data/lib/spec/expectations/should/not.rb +0 -74
- data/lib/spec/expectations/should/should.rb +0 -81
- data/lib/spec/expectations/sugar.rb +0 -47
- data/lib/spec/runner/context.rb +0 -154
- data/lib/spec/runner/context_eval.rb +0 -142
- data/lib/spec/runner/context_runner.rb +0 -55
- data/lib/spec/runner/execution_context.rb +0 -17
- data/lib/spec/runner/spec_matcher.rb +0 -25
- data/lib/spec/runner/specification.rb +0 -114
- data/spec/spec/callback/callback_container_spec.rb +0 -27
- data/spec/spec/callback/module_spec.rb +0 -37
- data/spec/spec/callback/object_spec.rb +0 -90
- data/spec/spec/callback/object_with_class_callback_spec.rb +0 -19
- data/spec/spec/expectations/should/should_==_spec.rb +0 -19
- data/spec/spec/expectations/should/should_=~_spec.rb +0 -13
- data/spec/spec/expectations/should/should_be_a_kind_of_spec.rb +0 -21
- data/spec/spec/expectations/should/should_be_an_instance_of_spec.rb +0 -30
- data/spec/spec/expectations/should/should_be_arbitrary_predicate_spec.rb +0 -81
- data/spec/spec/expectations/should/should_be_close_spec.rb +0 -18
- data/spec/spec/expectations/should/should_be_comparison_operator_spec.rb +0 -44
- data/spec/spec/expectations/should/should_be_false_spec.rb +0 -39
- data/spec/spec/expectations/should/should_be_spec.rb +0 -11
- data/spec/spec/expectations/should/should_be_true_spec.rb +0 -27
- data/spec/spec/expectations/should/should_change_spec.rb +0 -184
- data/spec/spec/expectations/should/should_eql_spec.rb +0 -11
- data/spec/spec/expectations/should/should_equal_spec.rb +0 -11
- data/spec/spec/expectations/should/should_have_at_least_spec.rb +0 -53
- data/spec/spec/expectations/should/should_have_at_most_spec.rb +0 -45
- data/spec/spec/expectations/should/should_have_key_spec.rb +0 -21
- data/spec/spec/expectations/should/should_have_spec.rb +0 -64
- data/spec/spec/expectations/should/should_include_spec.rb +0 -59
- data/spec/spec/expectations/should/should_match_spec.rb +0 -25
- data/spec/spec/expectations/should/should_not_==_spec.rb +0 -15
- data/spec/spec/expectations/should/should_not_be_a_kind_of_spec.rb +0 -21
- data/spec/spec/expectations/should/should_not_be_an_instance_of_spec.rb +0 -11
- data/spec/spec/expectations/should/should_not_be_arbitrary_predicate_spec.rb +0 -68
- data/spec/spec/expectations/should/should_not_be_spec.rb +0 -11
- data/spec/spec/expectations/should/should_not_change_spec.rb +0 -24
- data/spec/spec/expectations/should/should_not_eql_spec.rb +0 -11
- data/spec/spec/expectations/should/should_not_equal_spec.rb +0 -11
- data/spec/spec/expectations/should/should_not_have_key_spec.rb +0 -15
- data/spec/spec/expectations/should/should_not_include_spec.rb +0 -58
- data/spec/spec/expectations/should/should_not_match_spec.rb +0 -11
- data/spec/spec/expectations/should/should_not_raise_spec.rb +0 -75
- data/spec/spec/expectations/should/should_not_respond_to_spec.rb +0 -15
- data/spec/spec/expectations/should/should_not_throw_spec.rb +0 -35
- data/spec/spec/expectations/should/should_raise_spec.rb +0 -66
- data/spec/spec/expectations/should/should_respond_to_spec.rb +0 -15
- data/spec/spec/expectations/should/should_satisfy_spec.rb +0 -35
- data/spec/spec/expectations/should/should_throw_spec.rb +0 -27
- data/spec/spec/runner/context_runner_spec.rb +0 -100
- data/spec/spec/runner/context_spec.rb +0 -405
- data/spec/spec/runner/kernel_ext_spec.rb +0 -16
- data/spec/spec/runner/spec_name_generation_spec.rb +0 -102
- data/spec/spec/runner/specification_class_spec.rb +0 -72
- data/spec/spec/runner/specification_instance_spec.rb +0 -160
- data/spec/spec/runner/specification_should_raise_spec.rb +0 -136
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
dir = File.dirname(__FILE__)
|
|
2
|
-
require "#{dir}/../../spec_helper"
|
|
3
|
-
|
|
4
|
-
context "An Object with class callback" do
|
|
5
|
-
specify "should notify the class callback" do
|
|
6
|
-
klass = Class.new do
|
|
7
|
-
class << self
|
|
8
|
-
callback_events :the_callback
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
klass_callback_called = false
|
|
13
|
-
klass.the_callback {klass_callback_called = true}
|
|
14
|
-
obj = klass.new
|
|
15
|
-
obj.send(:notify_class_callbacks, :the_callback)
|
|
16
|
-
|
|
17
|
-
klass_callback_called.should == true
|
|
18
|
-
end
|
|
19
|
-
end
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
require 'spec/expectations/differs/default'
|
|
4
|
-
|
|
5
|
-
context "should ==" do
|
|
6
|
-
|
|
7
|
-
specify "should pass when objects are ==" do
|
|
8
|
-
lambda do
|
|
9
|
-
"apple".should == "apple"
|
|
10
|
-
end.should_pass
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
specify "should fail when objects are not ==" do
|
|
14
|
-
lambda do
|
|
15
|
-
"1".should == 1
|
|
16
|
-
end.should_fail_with "expected 1, got \"1\" (using ==)"
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper'
|
|
2
|
-
|
|
3
|
-
context "should =~" do
|
|
4
|
-
specify "should pass when =~ operator returns non-nil" do
|
|
5
|
-
"foo".should =~ /oo/
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
specify "should fail when =~ operator returns nil" do
|
|
9
|
-
lambda do
|
|
10
|
-
"fu".should =~ /oo/
|
|
11
|
-
end.should_fail_with "expected =~ /oo/, got \"fu\""
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
context "should_be_a_kind_of" do
|
|
4
|
-
specify "should fail when target is not specified class" do
|
|
5
|
-
lambda do
|
|
6
|
-
5.should_be_a_kind_of(String)
|
|
7
|
-
end.should_fail_with "expected kind_of?(String) to return true, got false"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
specify "should pass when target is of specified class" do
|
|
11
|
-
lambda do
|
|
12
|
-
5.should_be_a_kind_of(Fixnum)
|
|
13
|
-
end.should_pass
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
specify "should pass when target is of subclass of specified class" do
|
|
17
|
-
lambda do
|
|
18
|
-
5.should_be_a_kind_of(Integer)
|
|
19
|
-
end.should_pass
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
context "should_be_an_instance_of" do
|
|
4
|
-
specify "should fail when target is not specified class (OLD STYLE)" do
|
|
5
|
-
lambda do
|
|
6
|
-
5.should_be_an_instance_of(Integer)
|
|
7
|
-
end.should_fail_with "expected instance_of?(Integer) to return true, got false"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
specify "should pass when target is specified class (OLD STYLE)" do
|
|
11
|
-
lambda do
|
|
12
|
-
5.should_be_an_instance_of(Fixnum)
|
|
13
|
-
end.should_pass
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
begin
|
|
17
|
-
specify "should fail when target is not specified class" do
|
|
18
|
-
lambda do
|
|
19
|
-
5.should be_instance_of(Integer)
|
|
20
|
-
end.should_fail_with "expected instance_of?(Integer) to return true, got false"
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
specify "should pass when target is specified class" do
|
|
24
|
-
lambda do
|
|
25
|
-
5.should be_instance_of(Fixnum)
|
|
26
|
-
end.should_pass
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
end
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
module Spec
|
|
4
|
-
module Expectations
|
|
5
|
-
module Helper
|
|
6
|
-
context "should_be_<arbitrary predicate>" do
|
|
7
|
-
specify "should fail when method returns something other than true false or nil" do
|
|
8
|
-
mock=HandCodedMock.new(5)
|
|
9
|
-
lambda do
|
|
10
|
-
mock.should_be_funny
|
|
11
|
-
end.should_pass
|
|
12
|
-
mock.__verify
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
specify "should fail when predicate accepts args and returns false" do
|
|
16
|
-
mock=HandCodedMock.new(false)
|
|
17
|
-
lambda do
|
|
18
|
-
mock.should_be_hungry(1, 2, 3)
|
|
19
|
-
end.should_fail_with "expected hungry?(1, 2, 3) to return true, got false"
|
|
20
|
-
mock.__verify
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
specify "should fail when predicate returns false" do
|
|
24
|
-
mock=HandCodedMock.new(false)
|
|
25
|
-
lambda do
|
|
26
|
-
mock.should_be_funny
|
|
27
|
-
end.should_fail
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
specify "should fail when predicate returns nil" do
|
|
31
|
-
mock=HandCodedMock.new(nil)
|
|
32
|
-
lambda do
|
|
33
|
-
mock.should_be_funny
|
|
34
|
-
end.should_fail
|
|
35
|
-
mock.__verify
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
specify "should pass when predicate accepts args and returns true" do
|
|
39
|
-
mock=HandCodedMock.new(true)
|
|
40
|
-
lambda do
|
|
41
|
-
mock.should_be_hungry(1, 2, 3)
|
|
42
|
-
end.should_pass
|
|
43
|
-
mock.__verify
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
specify "should pass when predicate returns true" do
|
|
47
|
-
mock=HandCodedMock.new(true)
|
|
48
|
-
lambda do
|
|
49
|
-
mock.should_be_funny
|
|
50
|
-
end.should_pass
|
|
51
|
-
mock.__verify
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
specify "should raise when target does not respond to predicate" do
|
|
55
|
-
lambda do
|
|
56
|
-
5.should_be_funny
|
|
57
|
-
end.should_raise(NameError)
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
specify "should support multi word predicates with should" do
|
|
61
|
-
lambda do
|
|
62
|
-
HandCodedMock.new(true).should_multi_word_predicate
|
|
63
|
-
end.should_pass
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
specify "should support multi word predicates with should be" do
|
|
67
|
-
lambda do
|
|
68
|
-
HandCodedMock.new(true).should_be_multi_word_predicate
|
|
69
|
-
end.should_pass
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
specify "should support present tense (i.e. t.should_exist evaluates t.exists?)" do
|
|
73
|
-
mock=HandCodedMock.new(true)
|
|
74
|
-
lambda do
|
|
75
|
-
mock.should_exist
|
|
76
|
-
end.should_pass
|
|
77
|
-
end
|
|
78
|
-
end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
end
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
context "should_be_close" do
|
|
4
|
-
specify "should not raise when values are within bounds" do
|
|
5
|
-
3.5.should_be_close(3.5, 0.5)
|
|
6
|
-
3.5.should_be_close(3.1, 0.5)
|
|
7
|
-
3.5.should_be_close(3.01, 0.5)
|
|
8
|
-
3.5.should_be_close(3.9, 0.5)
|
|
9
|
-
3.5.should_be_close(3.99, 0.5)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
specify "should raise when values are outside bounds" do
|
|
13
|
-
lambda { 3.5.should_be_close(3.0, 0.5) }.should_fail_with "expected 3.0 +/- (<0.5), got 3.5"
|
|
14
|
-
lambda { 3.5.should_be_close(2.0, 0.5) }.should_fail
|
|
15
|
-
lambda { 3.5.should_be_close(3.0, 0.5) }.should_fail
|
|
16
|
-
lambda { 3.5.should_be_close(4.0, 0.5) }.should_fail
|
|
17
|
-
end
|
|
18
|
-
end
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper'
|
|
2
|
-
|
|
3
|
-
context "should_be <" do
|
|
4
|
-
specify "should pass when < operator returns true" do
|
|
5
|
-
3.should_be < 4
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
specify "should fail when < operator returns false" do
|
|
9
|
-
lambda { 3.should_be < 3 }.should_fail_with "expected < 3, got 3"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
context "should_be <=" do
|
|
14
|
-
specify "should pass when <= operator returns true" do
|
|
15
|
-
3.should_be <= 4
|
|
16
|
-
4.should_be <= 4
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
specify "should fail when <= operator returns false" do
|
|
20
|
-
lambda { 3.should_be <= 2 }.should_fail
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
context "should_be >=" do
|
|
25
|
-
specify "should pass when >= operator returns true" do
|
|
26
|
-
4.should_be >= 4
|
|
27
|
-
5.should_be >= 4
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
specify "should fail when >= operator returns false" do
|
|
31
|
-
lambda { 3.should_be >= 4 }.should_fail
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
context "should_be >" do
|
|
36
|
-
specify "should pass when > operator returns true" do
|
|
37
|
-
5.should_be > 4
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
specify "should fail when > operator returns false" do
|
|
41
|
-
lambda { 3.should_be > 4 }.should_fail
|
|
42
|
-
end
|
|
43
|
-
end
|
|
44
|
-
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
context "should_be false" do
|
|
4
|
-
specify "should fail when target is true" do
|
|
5
|
-
lambda do
|
|
6
|
-
true.should_be false
|
|
7
|
-
end.should_fail_with "expected false, got true (using .equal?)"
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
specify "should fail when target is a number" do
|
|
11
|
-
lambda do
|
|
12
|
-
5.should_be false
|
|
13
|
-
end.should_fail
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
specify "should fail when target is a some random object" do
|
|
17
|
-
lambda do
|
|
18
|
-
self.should_be false
|
|
19
|
-
end.should_fail
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
specify "should fail when target is a string" do
|
|
23
|
-
lambda do
|
|
24
|
-
"false".should_be false
|
|
25
|
-
end.should_fail
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
specify "should fail when target is nil" do
|
|
29
|
-
lambda do
|
|
30
|
-
nil.should_be false
|
|
31
|
-
end.should_raise
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
specify "should pass when target is false" do
|
|
35
|
-
lambda do
|
|
36
|
-
false.should_be false
|
|
37
|
-
end.should_not_raise
|
|
38
|
-
end
|
|
39
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
context "should_be" do
|
|
4
|
-
specify "should pass when objects are the same instance" do
|
|
5
|
-
:apple.should_be(:apple)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
specify "should fail when objects are not the same instance" do
|
|
9
|
-
lambda { "apple".should_be("apple") }.should_fail
|
|
10
|
-
end
|
|
11
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
|
|
3
|
-
context "should_be true" do
|
|
4
|
-
specify "should fail when object is false" do
|
|
5
|
-
lambda { false.should_be(true) }.should_fail
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
specify "should fail when object is nil" do
|
|
9
|
-
lambda { nil.should_be(true) }.should_fail
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
specify "should fail when object is a number" do
|
|
13
|
-
lambda { 5.should_be(true) }.should_fail
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
specify "should fail when object is a some random object" do
|
|
17
|
-
lambda { self.should_be(true) }.should_fail
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
specify "should fail when object is a string" do
|
|
21
|
-
lambda { "true".should_be(true) }.should_raise
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
specify "should pass when object is true" do
|
|
25
|
-
true.should_be(true)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
require File.dirname(__FILE__) + '/../../../spec_helper.rb'
|
|
2
|
-
class SomethingExpected
|
|
3
|
-
attr_accessor :some_value
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
context "should_change(actual, message)" do
|
|
7
|
-
setup do
|
|
8
|
-
@instance = SomethingExpected.new
|
|
9
|
-
@instance.some_value = 5
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
specify "should pass when actual is modified by the block" do
|
|
13
|
-
lambda {@instance.some_value = 6}.should_change(@instance, :some_value)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
specify "should fail when actual is not modified by the block" do
|
|
17
|
-
lambda do
|
|
18
|
-
lambda {}.should_change(@instance, :some_value)
|
|
19
|
-
end.should_fail_with "some_value should have changed, but is still 5"
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
context "should_change { block }" do
|
|
24
|
-
setup do
|
|
25
|
-
@instance = SomethingExpected.new
|
|
26
|
-
@instance.some_value = 5
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
specify "should pass when actual is modified by the block" do
|
|
30
|
-
lambda {@instance.some_value = 6}.should_change { @instance.some_value }
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
specify "should fail when actual is not modified by the block" do
|
|
34
|
-
lambda do
|
|
35
|
-
lambda {}.should_change{ @instance.some_value }
|
|
36
|
-
end.should_fail_with "result should have changed, but is still 5"
|
|
37
|
-
end
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
context "should_change(actual, message).by(expected)" do
|
|
41
|
-
setup do
|
|
42
|
-
@instance = SomethingExpected.new
|
|
43
|
-
@instance.some_value = 5
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
specify "should pass when attribute is changed by expected amount" do
|
|
47
|
-
lambda { @instance.some_value += 1 }.should_change(@instance, :some_value).by(1)
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
specify "should fail when the attribute is changed by unexpected amount" do
|
|
51
|
-
lambda do
|
|
52
|
-
lambda { @instance.some_value += 2 }.should_change(@instance, :some_value).by(1)
|
|
53
|
-
end.should_fail_with "some_value should have been changed by 1, but was changed by 2"
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
specify "should fail when the attribute is changed by unexpected amount in the opposite direction" do
|
|
57
|
-
lambda do
|
|
58
|
-
lambda { @instance.some_value -= 1 }.should_change(@instance, :some_value).by(1)
|
|
59
|
-
end.should_fail_with "some_value should have been changed by 1, but was changed by -1"
|
|
60
|
-
end
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
context "should_change{ block }.by(expected)" do
|
|
64
|
-
setup do
|
|
65
|
-
@instance = SomethingExpected.new
|
|
66
|
-
@instance.some_value = 5
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
specify "should pass when attribute is changed by expected amount" do
|
|
70
|
-
lambda { @instance.some_value += 1 }.should_change{@instance.some_value}.by(1)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
specify "should fail when the attribute is changed by unexpected amount" do
|
|
74
|
-
lambda do
|
|
75
|
-
lambda { @instance.some_value += 2 }.should_change{@instance.some_value}.by(1)
|
|
76
|
-
end.should_fail_with "result should have been changed by 1, but was changed by 2"
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
specify "should fail when the attribute is changed by unexpected amount in the opposite direction" do
|
|
80
|
-
lambda do
|
|
81
|
-
lambda { @instance.some_value -= 1 }.should_change{@instance.some_value}.by(1)
|
|
82
|
-
end.should_fail_with "result should have been changed by 1, but was changed by -1"
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
context "should_change(actual, message).from(old)" do
|
|
87
|
-
setup do
|
|
88
|
-
@instance = SomethingExpected.new
|
|
89
|
-
@instance.some_value = 'string'
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
specify "should pass when attribute is == to expected value before executing block" do
|
|
93
|
-
lambda { @instance.some_value = "astring" }.should_change(@instance, :some_value).from("string")
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
specify "should fail when attribute is not == to expected value before executing block" do
|
|
97
|
-
lambda do
|
|
98
|
-
lambda { @instance.some_value = "knot" }.should_change(@instance, :some_value).from("cat")
|
|
99
|
-
end.should_fail_with "some_value should have initially been \"cat\", but was \"string\""
|
|
100
|
-
end
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
context "should_change{ block }.from(old)" do
|
|
104
|
-
setup do
|
|
105
|
-
@instance = SomethingExpected.new
|
|
106
|
-
@instance.some_value = 'string'
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
specify "should pass when attribute is == to expected value before executing block" do
|
|
110
|
-
lambda { @instance.some_value = "astring" }.should_change{@instance.some_value}.from("string")
|
|
111
|
-
end
|
|
112
|
-
|
|
113
|
-
specify "should fail when attribute is not == to expected value before executing block" do
|
|
114
|
-
lambda do
|
|
115
|
-
lambda { @instance.some_value = "knot" }.should_change{@instance.some_value}.from("cat")
|
|
116
|
-
end.should_fail_with "result should have initially been \"cat\", but was \"string\""
|
|
117
|
-
end
|
|
118
|
-
end
|
|
119
|
-
|
|
120
|
-
context "should_change(actual, message).to(new)" do
|
|
121
|
-
setup do
|
|
122
|
-
@instance = SomethingExpected.new
|
|
123
|
-
@instance.some_value = 'string'
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
specify "should pass when attribute is == to expected value after executing block" do
|
|
127
|
-
lambda { @instance.some_value = "cat" }.should_change(@instance, :some_value).to("cat")
|
|
128
|
-
end
|
|
129
|
-
|
|
130
|
-
specify "should fail when attribute is not == to expected value after executing block" do
|
|
131
|
-
lambda do
|
|
132
|
-
lambda { @instance.some_value = "cat" }.should_change(@instance, :some_value).from("string").to("dog")
|
|
133
|
-
end.should_fail_with "some_value should have been changed to \"dog\", but is now \"cat\""
|
|
134
|
-
end
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
context "should_change{ block }.to(new)" do
|
|
138
|
-
setup do
|
|
139
|
-
@instance = SomethingExpected.new
|
|
140
|
-
@instance.some_value = 'string'
|
|
141
|
-
end
|
|
142
|
-
|
|
143
|
-
specify "should pass when attribute is == to expected value after executing block" do
|
|
144
|
-
lambda { @instance.some_value = "cat" }.should_change{@instance.some_value}.to("cat")
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
specify "should fail when attribute is not == to expected value after executing block" do
|
|
148
|
-
lambda do
|
|
149
|
-
lambda { @instance.some_value = "cat" }.should_change{@instance.some_value}.from("string").to("dog")
|
|
150
|
-
end.should_fail_with "result should have been changed to \"dog\", but is now \"cat\""
|
|
151
|
-
end
|
|
152
|
-
end
|
|
153
|
-
|
|
154
|
-
context "should_change(actual, message).from(old).to(new)" do
|
|
155
|
-
setup do
|
|
156
|
-
@instance = SomethingExpected.new
|
|
157
|
-
@instance.some_value = 'string'
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
specify "should pass when #to comes before #from" do
|
|
161
|
-
lambda { @instance.some_value = "cat" }.should_change(@instance, :some_value).to("cat").from("string")
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
specify "should pass when #from comes before #to" do
|
|
165
|
-
lambda do
|
|
166
|
-
lambda { @instance.some_value = "cat" }.should_change(@instance, :some_value).from("string").to("cat")
|
|
167
|
-
end.should_pass
|
|
168
|
-
end
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
context "should_change{ block }.from(old).to(new)" do
|
|
172
|
-
setup do
|
|
173
|
-
@instance = SomethingExpected.new
|
|
174
|
-
@instance.some_value = 'string'
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
specify "should pass when #to comes before #from" do
|
|
178
|
-
lambda { @instance.some_value = "cat" }.should_change{@instance.some_value}.to("cat").from("string")
|
|
179
|
-
end
|
|
180
|
-
|
|
181
|
-
specify "should pass when #from comes before #to" do
|
|
182
|
-
lambda { @instance.some_value = "cat" }.should_change{@instance.some_value}.from("string").to("cat")
|
|
183
|
-
end
|
|
184
|
-
end
|