rspec 1.2.8 → 1.2.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (238) hide show
  1. data/History.rdoc +41 -2
  2. data/Manifest.txt +11 -10
  3. data/Rakefile +47 -22
  4. data/Ruby1.9.rdoc +1 -2
  5. data/Upgrade.rdoc +56 -7
  6. data/bin/spec +2 -1
  7. data/cucumber.yml +3 -1
  8. data/examples/failing/README.txt +7 -3
  9. data/examples/failing/failing_implicit_docstrings_example.rb +0 -2
  10. data/examples/failing/mocking_example.rb +0 -2
  11. data/examples/failing/partial_mock_example.rb +0 -2
  12. data/examples/failing/pending_example.rb +0 -2
  13. data/examples/failing/predicate_example.rb +0 -2
  14. data/examples/failing/team_spec.rb +0 -3
  15. data/examples/failing/timeout_behaviour.rb +0 -2
  16. data/examples/passing/custom_formatter.rb +0 -1
  17. data/examples/passing/dynamic_spec.rb +0 -2
  18. data/examples/passing/file_accessor.rb +1 -2
  19. data/examples/passing/file_accessor_spec.rb +1 -2
  20. data/examples/passing/filtered_formatter.rb +0 -1
  21. data/examples/passing/greeter_spec.rb +0 -1
  22. data/examples/passing/helper_method_example.rb +0 -2
  23. data/examples/passing/implicit_docstrings_example.rb +0 -2
  24. data/examples/passing/io_processor_spec.rb +1 -2
  25. data/examples/passing/mocking_example.rb +0 -2
  26. data/examples/passing/nested_classes_example.rb +1 -2
  27. data/examples/passing/options_example.rb +0 -2
  28. data/examples/passing/partial_mock_example.rb +0 -2
  29. data/examples/passing/pending_example.rb +0 -2
  30. data/examples/passing/predicate_example.rb +0 -2
  31. data/examples/passing/shared_example_group_example.rb +0 -2
  32. data/examples/passing/simple_matcher_example.rb +0 -2
  33. data/examples/passing/stack_spec.rb +2 -3
  34. data/examples/passing/stack_spec_with_nested_example_groups.rb +2 -3
  35. data/examples/passing/stubbing_example.rb +0 -2
  36. data/examples/passing/yielding_example.rb +0 -2
  37. data/features/before_and_after_blocks/before_and_after_blocks.feature +4 -4
  38. data/features/command_line/line_number_option.feature +14 -14
  39. data/features/command_line/line_number_option_with_example_with_no_name.feature +2 -2
  40. data/features/example_groups/define_example_attribute.feature +41 -0
  41. data/features/example_groups/example_group_with_should_methods.feature +1 -1
  42. data/features/example_groups/implicit_docstrings.feature +7 -7
  43. data/features/example_groups/nested_groups.feature +2 -2
  44. data/features/expectations/customized_message.feature +4 -4
  45. data/features/expectations/expect_change.feature +4 -4
  46. data/features/expectations/expect_error.feature +4 -4
  47. data/features/extensions/custom_example_group.feature +10 -10
  48. data/features/formatters/custom_formatter.feature +3 -3
  49. data/features/interop/examples_and_tests_together.feature +10 -6
  50. data/features/interop/rspec_output.feature +1 -1
  51. data/features/interop/test_case_with_should_methods.feature +1 -1
  52. data/features/load_paths/add_lib_to_load_path.feature +20 -0
  53. data/features/load_paths/add_spec_to_load_path.feature +20 -0
  54. data/features/matchers/define_diffable_matcher.feature +2 -2
  55. data/features/matchers/define_matcher.feature +19 -19
  56. data/features/matchers/define_matcher_outside_rspec.feature +2 -3
  57. data/features/matchers/define_matcher_with_fluent_interface.feature +2 -2
  58. data/features/matchers/define_wrapped_matcher.feature +29 -0
  59. data/features/mock_framework_integration/use_flexmock.feature +1 -1
  60. data/features/mock_framework_integration/use_mocha.feature +1 -1
  61. data/features/mock_framework_integration/use_rr.feature +1 -1
  62. data/features/mocks/mix_stubs_and_mocks.feature +2 -2
  63. data/features/mocks/stub_implementation.feature +1 -1
  64. data/features/pending/pending_examples.feature +16 -16
  65. data/features/runner/specify_line_number.feature +4 -4
  66. data/features/spec_helper/spec_helper.feature +25 -0
  67. data/features/step_definitions/running_rspec_steps.rb +4 -2
  68. data/features/subject/explicit_subject.feature +2 -2
  69. data/features/subject/implicit_subject.feature +14 -2
  70. data/features/support/env.rb +6 -3
  71. data/lib/spec/adapters/mock_frameworks/mocha.rb +6 -1
  72. data/lib/spec/example/example_group_methods.rb +7 -0
  73. data/lib/spec/example/example_methods.rb +1 -1
  74. data/lib/spec/example/subject.rb +8 -0
  75. data/lib/spec/interop/test.rb +27 -1
  76. data/lib/spec/interop/test/unit/testcase.rb +1 -1
  77. data/lib/spec/matchers/exist.rb +2 -2
  78. data/lib/spec/matchers/extensions/instance_exec.rb +28 -20
  79. data/lib/spec/matchers/matcher.rb +21 -20
  80. data/lib/spec/mocks/argument_matchers.rb +17 -13
  81. data/lib/spec/mocks/error_generator.rb +14 -3
  82. data/lib/spec/mocks/{spec_methods.rb → example_methods.rb} +25 -11
  83. data/lib/spec/mocks/framework.rb +1 -1
  84. data/lib/spec/mocks/methods.rb +15 -0
  85. data/lib/spec/mocks/mock.rb +16 -10
  86. data/lib/spec/mocks/proxy.rb +1 -1
  87. data/lib/spec/rake/spectask.rb +3 -3
  88. data/lib/spec/runner/backtrace_tweaker.rb +41 -22
  89. data/lib/spec/runner/configuration.rb +18 -1
  90. data/lib/spec/runner/differs/default.rb +1 -1
  91. data/lib/spec/runner/drb_command_line.rb +5 -2
  92. data/lib/spec/runner/formatter/base_text_formatter.rb +8 -3
  93. data/lib/spec/runner/option_parser.rb +21 -15
  94. data/lib/spec/runner/options.rb +54 -23
  95. data/lib/spec/version.rb +3 -3
  96. data/resources/helpers/cmdline.rb +0 -1
  97. data/spec/autotest/autotest_helper.rb +4 -6
  98. data/spec/autotest/discover_spec.rb +2 -2
  99. data/spec/autotest/failed_results_re_spec.rb +1 -1
  100. data/spec/autotest/rspec_spec.rb +1 -1
  101. data/spec/spec/dsl/main_spec.rb +1 -1
  102. data/spec/spec/example/example_group_class_definition_spec.rb +1 -1
  103. data/spec/spec/example/example_group_factory_spec.rb +1 -1
  104. data/spec/spec/example/example_group_methods_spec.rb +21 -1
  105. data/spec/spec/example/example_group_proxy_spec.rb +1 -1
  106. data/spec/spec/example/example_group_spec.rb +1 -1
  107. data/spec/spec/example/example_matcher_spec.rb +1 -1
  108. data/spec/spec/example/example_methods_spec.rb +1 -1
  109. data/spec/spec/example/example_proxy_spec.rb +1 -1
  110. data/spec/spec/example/helper_method_spec.rb +1 -1
  111. data/spec/spec/example/nested_example_group_spec.rb +1 -1
  112. data/spec/spec/example/predicate_matcher_spec.rb +1 -1
  113. data/spec/spec/example/shared_example_group_spec.rb +1 -1
  114. data/spec/spec/example/subclassing_example_group_spec.rb +1 -1
  115. data/spec/spec/example/subject_spec.rb +17 -1
  116. data/spec/spec/expectations/differs/default_spec.rb +16 -3
  117. data/spec/spec/expectations/extensions/kernel_spec.rb +1 -1
  118. data/spec/spec/expectations/fail_with_spec.rb +1 -1
  119. data/spec/spec/expectations/handler_spec.rb +1 -1
  120. data/spec/spec/expectations/wrap_expectation_spec.rb +1 -1
  121. data/spec/spec/interop/test/unit/resources/test_case_with_various_names.rb +22 -0
  122. data/spec/spec/interop/test/unit/spec_spec.rb +1 -1
  123. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +2 -2
  124. data/spec/spec/interop/test/unit/testcase_spec.rb +7 -2
  125. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +1 -1
  126. data/spec/spec/matchers/be_close_spec.rb +1 -1
  127. data/spec/spec/matchers/be_instance_of_spec.rb +1 -1
  128. data/spec/spec/matchers/be_kind_of_spec.rb +1 -1
  129. data/spec/spec/matchers/be_spec.rb +13 -1
  130. data/spec/spec/matchers/change_spec.rb +1 -1
  131. data/spec/spec/matchers/compatibility_spec.rb +1 -1
  132. data/spec/spec/matchers/description_generation_spec.rb +1 -1
  133. data/spec/spec/matchers/dsl_spec.rb +1 -1
  134. data/spec/spec/matchers/eql_spec.rb +1 -1
  135. data/spec/spec/matchers/equal_spec.rb +1 -1
  136. data/spec/spec/matchers/exist_spec.rb +6 -2
  137. data/spec/spec/matchers/has_spec.rb +19 -1
  138. data/spec/spec/matchers/have_spec.rb +1 -1
  139. data/spec/spec/matchers/include_spec.rb +1 -1
  140. data/spec/spec/matchers/match_array_spec.rb +1 -1
  141. data/spec/spec/matchers/match_spec.rb +1 -1
  142. data/spec/spec/matchers/matcher_methods_spec.rb +1 -1
  143. data/spec/spec/matchers/matcher_spec.rb +55 -28
  144. data/spec/spec/matchers/matchers_spec.rb +1 -1
  145. data/spec/spec/matchers/operator_matcher_spec.rb +1 -1
  146. data/spec/spec/matchers/raise_error_spec.rb +1 -1
  147. data/spec/spec/matchers/respond_to_spec.rb +1 -1
  148. data/spec/spec/matchers/satisfy_spec.rb +1 -1
  149. data/spec/spec/matchers/simple_matcher_spec.rb +1 -1
  150. data/spec/spec/matchers/throw_symbol_spec.rb +1 -1
  151. data/spec/spec/mocks/any_number_of_times_spec.rb +1 -1
  152. data/spec/spec/mocks/argument_expectation_spec.rb +1 -1
  153. data/spec/spec/mocks/argument_matchers_spec.rb +19 -0
  154. data/spec/spec/mocks/at_least_spec.rb +1 -1
  155. data/spec/spec/mocks/at_most_spec.rb +1 -1
  156. data/spec/spec/mocks/bug_report_10260_spec.rb +1 -1
  157. data/spec/spec/mocks/bug_report_10263_spec.rb +1 -1
  158. data/spec/spec/mocks/bug_report_11545_spec.rb +1 -1
  159. data/spec/spec/mocks/bug_report_15719_spec.rb +3 -3
  160. data/spec/spec/mocks/bug_report_496_spec.rb +1 -1
  161. data/spec/spec/mocks/bug_report_600_spec.rb +1 -1
  162. data/spec/spec/mocks/bug_report_7611_spec.rb +1 -1
  163. data/spec/spec/mocks/bug_report_7805_spec.rb +1 -1
  164. data/spec/spec/mocks/bug_report_8165_spec.rb +1 -1
  165. data/spec/spec/mocks/bug_report_8302_spec.rb +1 -1
  166. data/spec/spec/mocks/bug_report_830_spec.rb +1 -1
  167. data/spec/spec/mocks/double_spec.rb +12 -0
  168. data/spec/spec/mocks/failing_argument_matchers_spec.rb +6 -6
  169. data/spec/spec/mocks/hash_including_matcher_spec.rb +1 -1
  170. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +1 -1
  171. data/spec/spec/mocks/mock_ordering_spec.rb +4 -4
  172. data/spec/spec/mocks/mock_space_spec.rb +1 -1
  173. data/spec/spec/mocks/mock_spec.rb +20 -24
  174. data/spec/spec/mocks/multiple_return_value_spec.rb +8 -8
  175. data/spec/spec/mocks/nil_expectation_warning_spec.rb +1 -1
  176. data/spec/spec/mocks/null_object_mock_spec.rb +1 -1
  177. data/spec/spec/mocks/once_counts_spec.rb +1 -1
  178. data/spec/spec/mocks/options_hash_spec.rb +1 -1
  179. data/spec/spec/mocks/partial_mock_spec.rb +1 -1
  180. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +1 -1
  181. data/spec/spec/mocks/passing_argument_matchers_spec.rb +1 -1
  182. data/spec/spec/mocks/precise_counts_spec.rb +1 -1
  183. data/spec/spec/mocks/record_messages_spec.rb +1 -1
  184. data/spec/spec/mocks/stub_chain_spec.rb +1 -1
  185. data/spec/spec/mocks/stub_implementation_spec.rb +1 -1
  186. data/spec/spec/mocks/stub_spec.rb +14 -9
  187. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +2 -2
  188. data/spec/spec/mocks/twice_counts_spec.rb +1 -1
  189. data/spec/spec/mocks/unstub_spec.rb +1 -1
  190. data/spec/spec/package/bin_spec_spec.rb +4 -10
  191. data/spec/spec/rake/spectask_spec.rb +2 -2
  192. data/spec/spec/runner/class_and_argument_parser_spec.rb +1 -1
  193. data/spec/spec/runner/command_line_spec.rb +1 -1
  194. data/spec/spec/runner/configuration_spec.rb +15 -6
  195. data/spec/spec/runner/drb_command_line_spec.rb +1 -1
  196. data/spec/spec/runner/example_group_runner_spec.rb +1 -1
  197. data/spec/spec/runner/formatter/base_formatter_spec.rb +1 -1
  198. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +10 -1
  199. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +1 -1
  200. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +1 -1
  201. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +72 -76
  202. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +50 -50
  203. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +50 -50
  204. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +61 -69
  205. data/spec/spec/runner/formatter/html_formatter_spec.rb +26 -26
  206. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +1 -1
  207. data/spec/spec/runner/formatter/profile_formatter_spec.rb +1 -1
  208. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +13 -9
  209. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +1 -1
  210. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +1 -1
  211. data/spec/spec/runner/formatter/{text_mate_formatted-1.8.4.html → text_mate_formatted-1.8.6-jruby.html} +64 -59
  212. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +46 -46
  213. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +46 -46
  214. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +55 -63
  215. data/spec/spec/runner/formatter/text_mate_formatter_spec.rb +3 -3
  216. data/spec/spec/runner/heckle_runner_spec.rb +1 -1
  217. data/spec/spec/runner/heckler_spec.rb +1 -1
  218. data/spec/spec/runner/line_number_query/line_number_query_fixture.rb +1 -1
  219. data/spec/spec/runner/line_number_query_spec.rb +10 -1
  220. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +22 -16
  221. data/spec/spec/runner/option_parser_spec.rb +48 -14
  222. data/spec/spec/runner/options_spec.rb +16 -2
  223. data/spec/spec/runner/output_one_time_fixture.rb +1 -1
  224. data/spec/spec/runner/output_one_time_fixture_runner.rb +2 -3
  225. data/spec/spec/runner/output_one_time_spec.rb +6 -7
  226. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +65 -22
  227. data/spec/spec/runner/reporter_spec.rb +1 -1
  228. data/spec/spec/runner_spec.rb +1 -1
  229. data/spec/spec_helper.rb +5 -7
  230. data/spec/{spec → support}/spec_classes.rb +0 -0
  231. metadata +58 -17
  232. data/examples/failing/spec_helper.rb +0 -3
  233. data/examples/passing/spec_helper.rb +0 -3
  234. data/features/heckle/heckle.feature +0 -56
  235. data/spec/rspec_suite.rb +0 -6
  236. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +0 -366
  237. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +0 -387
  238. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +0 -372
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
@@ -16,7 +16,7 @@ module Spec
16
16
  @instance = @class.new
17
17
  @stub = Object.new
18
18
  end
19
-
19
+
20
20
  [:stub!, :stub].each do |method|
21
21
  context "using #{method}" do
22
22
  it "should return expected value when expected message is received" do
@@ -55,7 +55,7 @@ module Spec
55
55
  @instance.msg1.should == 1
56
56
  @instance.msg2.should == 2
57
57
  end
58
-
58
+
59
59
  it "should clear itself when verified" do
60
60
  @instance.stub!(:this_should_go).and_return(:blah)
61
61
  @instance.this_should_go.should == :blah
@@ -90,7 +90,7 @@ module Spec
90
90
  @instance.rspec_verify
91
91
  @instance.existing_instance_method.should equal(:original_value)
92
92
  end
93
-
93
+
94
94
  it "should revert to original class method if there is one" do
95
95
  @class.existing_class_method.should equal(:original_value)
96
96
  @class.stub!(:existing_class_method).and_return(:mock_value)
@@ -115,7 +115,7 @@ module Spec
115
115
  current_value.should == [:yielded_value, :another_value]
116
116
  @instance.rspec_verify
117
117
  end
118
-
118
+
119
119
  it "should yield a specified object and return another specified object" do
120
120
  yielded_obj = mock("my mock")
121
121
  yielded_obj.should_receive(:foo).with(:bar)
@@ -129,12 +129,12 @@ module Spec
129
129
  @mock.something
130
130
  end.should throw_symbol(:up)
131
131
  end
132
-
132
+
133
133
  it "should override a pre-existing stub" do
134
134
  @stub.stub!(:existing_instance_method).and_return(:updated_stub_value)
135
135
  @stub.existing_instance_method.should == :updated_stub_value
136
136
  end
137
-
137
+
138
138
  it "should limit " do
139
139
  @stub.stub!(:foo).with("bar")
140
140
  @stub.should_receive(:foo).with("baz")
@@ -148,7 +148,7 @@ module Spec
148
148
  @mock.rspec_verify
149
149
  end
150
150
  end
151
-
151
+
152
152
  describe "A method stub with args" do
153
153
  before(:each) do
154
154
  @stub = Object.new
@@ -188,10 +188,15 @@ module Spec
188
188
  @stub.foo("other")
189
189
  end.should raise_error
190
190
  end
191
-
191
+
192
192
  it "should support options" do
193
193
  @stub.stub!(:foo, :expected_from => "bar")
194
194
  end
195
+
196
+ it "should use 'Stub' in the failure message" do
197
+ stub = stub('name')
198
+ expect {stub.foo}.to raise_error(/Stub "name" received/)
199
+ end
195
200
  end
196
201
 
197
202
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
@@ -17,7 +17,7 @@ module Spec
17
17
  m.foo('third')
18
18
  lambda do
19
19
  m.rspec_verify
20
- end.should raise_error(%q|Mock 'mock' expected :foo with ("first") but received it with (["second"], ["third"])|)
20
+ end.should raise_error(%Q|Mock "mock" received :foo with unexpected arguments\n expected: ("first")\n got: (["second"], ["third"])|)
21
21
  m.rspec_reset
22
22
  end
23
23
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Mocks
@@ -1,22 +1,16 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
2
- require File.dirname(__FILE__) + '/../../ruby_forker'
1
+ require 'spec_helper'
2
+ require 'ruby_forker'
3
3
 
4
4
  describe "The bin/spec script" do
5
5
  include RubyForker
6
6
 
7
7
  it "should have no warnings" do
8
- pending "Hangs on JRuby" if RUBY_PLATFORM =~ /java/
9
- location = "#{File.dirname(__FILE__)}/../../../bin/spec"
10
-
11
- output = ruby "-w #{location} --help 2>&1"
8
+ output = ruby "-w -Ilib bin/spec --help"
12
9
  output.should_not =~ /warning/n
13
10
  end
14
11
 
15
12
  it "should show the help w/ no args" do
16
- pending "Hangs on JRuby" if RUBY_PLATFORM =~ /java/
17
- location = "#{File.dirname(__FILE__)}/../../../bin/spec"
18
-
19
- output = ruby "-w #{location} 2>&1"
13
+ output = ruby "-w -Ilib bin/spec"
20
14
  output.should =~ /^Usage: spec/
21
15
  end
22
16
  end
@@ -1,5 +1,5 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
2
- require File.dirname(__FILE__) + '/../../../lib/spec/rake/spectask.rb'
1
+ require 'spec_helper'
2
+ require 'spec/rake/spectask'
3
3
 
4
4
  module Spec
5
5
  module Rake
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
@@ -8,27 +8,27 @@ module Spec
8
8
 
9
9
  describe "#mock_with" do
10
10
  it "should default mock framework to rspec" do
11
- config.mock_framework.should =~ /\/spec\/adapters\/mock_frameworks\/rspec$/
11
+ config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/rspec$/
12
12
  end
13
13
 
14
14
  it "should set rspec mocking explicitly" do
15
15
  config.mock_with(:rspec)
16
- config.mock_framework.should =~ /\/spec\/adapters\/mock_frameworks\/rspec$/
16
+ config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/rspec$/
17
17
  end
18
18
 
19
19
  it "should set mocha" do
20
20
  config.mock_with(:mocha)
21
- config.mock_framework.should =~ /\/spec\/adapters\/mock_frameworks\/mocha$/
21
+ config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/mocha$/
22
22
  end
23
23
 
24
24
  it "should set flexmock" do
25
25
  config.mock_with(:flexmock)
26
- config.mock_framework.should =~ /\/spec\/adapters\/mock_frameworks\/flexmock$/
26
+ config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/flexmock$/
27
27
  end
28
28
 
29
29
  it "should set rr" do
30
30
  config.mock_with(:rr)
31
- config.mock_framework.should =~ /\/spec\/adapters\/mock_frameworks\/rr$/
31
+ config.mock_framework.should =~ /^spec\/adapters\/mock_frameworks\/rr$/
32
32
  end
33
33
 
34
34
  it "should set an arbitrary adapter module" do
@@ -296,6 +296,15 @@ module Spec
296
296
  end
297
297
 
298
298
  end
299
+
300
+ describe "#ignore_backtrace_patterns" do
301
+ it "adds patterns to ignore in backtrace" do
302
+ config.ignore_backtrace_patterns /custom_pattern/, /shoulda/, /spork/
303
+ config.ignored_backtrace_patterns.should include(/custom_pattern/)
304
+ config.ignored_backtrace_patterns.should include(/shoulda/)
305
+ config.ignored_backtrace_patterns.should include(/spork/)
306
+ end
307
+ end
299
308
 
300
309
  describe "#predicate_matchers (DEPRECATED)" do
301
310
  it "is deprecated" do
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper.rb'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../spec_helper'
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + "/../../../spec_helper"
1
+ require 'spec_helper'
2
2
 
3
3
  module Spec
4
4
  module Runner
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
1
+ require 'spec_helper'
2
2
  require 'spec/runner/formatter/base_text_formatter'
3
3
 
4
4
  module Spec
@@ -66,6 +66,15 @@ module Spec
66
66
  @original_RSPEC_COLOR = ENV['RSPEC_COLOR']
67
67
  end
68
68
 
69
+ it "does not colorize when output_to_file? returns true" do
70
+ out = StringIO.new
71
+ options = stub('options', :colour => true, :autospec => false)
72
+ formatter = BaseTextFormatter.new(options,out)
73
+ formatter.stub!(:output_to_tty?).and_return(true)
74
+ formatter.stub!(:output_to_file?).and_return(true)
75
+ formatter.__send__(:colour, 'foo', "\e[32m").should == "foo"
76
+ end
77
+
69
78
  it "colorizes when colour? and output_to_tty? return true" do
70
79
  out = StringIO.new
71
80
  options = stub('options', :colour => true, :autospec => false)
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
1
+ require 'spec_helper'
2
2
  require 'spec/runner/formatter/failing_example_groups_formatter'
3
3
 
4
4
  module Spec
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/../../../spec_helper'
1
+ require 'spec_helper'
2
2
  require 'spec/runner/formatter/failing_examples_formatter'
3
3
 
4
4
  module Spec
@@ -16,9 +16,6 @@
16
16
  font-size: 80%;
17
17
  }
18
18
  </style>
19
- </head>
20
- <body>
21
- <div class="rspec-report">
22
19
  <script type="text/javascript">
23
20
  // <![CDATA[
24
21
  function moveProgressBar(percentDone) {
@@ -46,7 +43,7 @@ function makeYellow(element_id) {
46
43
  </script>
47
44
  <style type="text/css">
48
45
  #rspec-header {
49
- background: #65C400; color: #fff;
46
+ background: #65C400; color: #fff; height: 4em;
50
47
  }
51
48
 
52
49
  .rspec-report h1 {
@@ -54,15 +51,16 @@ function makeYellow(element_id) {
54
51
  padding: 10px;
55
52
  font-family: "Lucida Grande", Helvetica, sans-serif;
56
53
  font-size: 1.8em;
54
+ position: absolute;
57
55
  }
58
56
 
59
57
  #summary {
60
58
  margin: 0; padding: 5px 10px;
61
59
  font-family: "Lucida Grande", Helvetica, sans-serif;
62
60
  text-align: right;
63
- position: absolute;
64
61
  top: 0px;
65
62
  right: 0px;
63
+ float:right;
66
64
  }
67
65
 
68
66
  #summary p {
@@ -165,9 +163,14 @@ a {
165
163
  }
166
164
 
167
165
  </style>
166
+ </head>
167
+ <body>
168
+ <div class="rspec-report">
168
169
 
169
170
  <div id="rspec-header">
170
- <h1>RSpec Code Examples</h1>
171
+ <div id="label">
172
+ <h1>RSpec Code Examples</h1>
173
+ </div>
171
174
 
172
175
  <div id="summary">
173
176
  <p id="totals">&nbsp;</p>
@@ -187,52 +190,50 @@ a {
187
190
  <dd class="spec failed">
188
191
  <span class="failed_spec_name">should fail when expected message not received</span>
189
192
  <div class="failure" id="failure_1">
190
- <div class="message"><pre>Mock 'poke me' expected :poke with (any args) once, but received it 0 times</pre></div>
191
- <div class="backtrace"><pre>/Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/mocking_example.rb:13:
192
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:28:
193
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
194
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:
195
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `instance_eval'</pre></div>
196
- <pre class="ruby"><code><span class="linenum">11</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should fail when expected message not received</span><span class="punct">&quot;</span> <span class="keyword">do</span>
197
- <span class="linenum">12</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">poke me</span><span class="punct">&quot;)</span>
198
- <span class="offending"><span class="linenum">13</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span>
199
- <span class="linenum">14</span> <span class="keyword">end</span>
200
- <span class="linenum">15</span> </code></pre>
193
+ <div class="message"><pre>Mock &quot;poke me&quot; expected :poke with (any args) once, but received it 0 times</pre></div>
194
+ <div class="backtrace"><pre>examples/failing/mocking_example.rb:11:
195
+ spec/spec_helper.rb:42:in `run_with'
196
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:41:
197
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
198
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:</pre></div>
199
+ <pre class="ruby"><code><span class="linenum">9</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should fail when expected message not received</span><span class="punct">&quot;</span> <span class="keyword">do</span>
200
+ <span class="linenum">10</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">poke me</span><span class="punct">&quot;)</span>
201
+ <span class="offending"><span class="linenum">11</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:poke</span><span class="punct">)</span></span>
202
+ <span class="linenum">12</span> <span class="keyword">end</span>
203
+ <span class="linenum">13</span> </code></pre>
201
204
  </div>
202
205
  </dd>
203
206
  <script type="text/javascript">moveProgressBar('17.6');</script>
204
207
  <dd class="spec failed">
205
208
  <span class="failed_spec_name">should fail when messages are received out of order</span>
206
209
  <div class="failure" id="failure_2">
207
- <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div>
208
- <div class="backtrace"><pre>/Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/mocking_example.rb:22:
209
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/mocking_example.rb:16:in `instance_eval'
210
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:28:
211
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
212
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:
213
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `instance_eval'</pre></div>
214
- <pre class="ruby"><code><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span>
215
- <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
216
- <span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
217
- <span class="linenum">23</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">two</span>
218
- <span class="linenum">24</span> <span class="keyword">end</span></code></pre>
210
+ <div class="message"><pre>Mock &quot;one two three&quot; received :three out of order</pre></div>
211
+ <div class="backtrace"><pre>examples/failing/mocking_example.rb:20:
212
+ spec/spec_helper.rb:42:in `run_with'
213
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:41:
214
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
215
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:</pre></div>
216
+ <pre class="ruby"><code><span class="linenum">18</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_receive</span><span class="punct">(</span><span class="symbol">:three</span><span class="punct">).</span><span class="ident">ordered</span>
217
+ <span class="linenum">19</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
218
+ <span class="offending"><span class="linenum">20</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
219
+ <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">two</span>
220
+ <span class="linenum">22</span> <span class="keyword">end</span></code></pre>
219
221
  </div>
220
222
  </dd>
221
223
  <script type="text/javascript">moveProgressBar('23.5');</script>
222
224
  <dd class="spec failed">
223
225
  <span class="failed_spec_name">should get yelled at when sending unexpected messages</span>
224
226
  <div class="failure" id="failure_3">
225
- <div class="message"><pre>Mock 'don't talk to me' expected :any_message_at_all with (any args) 0 times, but received it once</pre></div>
226
- <div class="backtrace"><pre>/Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/mocking_example.rb:28:
227
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:28:
228
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
229
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:
230
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `instance_eval'</pre></div>
231
- <pre class="ruby"><code><span class="linenum">26</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">should get yelled at when sending unexpected messages</span><span class="punct">&quot;</span> <span class="keyword">do</span>
232
- <span class="linenum">27</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">don't talk to me</span><span class="punct">&quot;)</span>
233
- <span class="offending"><span class="linenum">28</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span></span>
234
- <span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span>
235
- <span class="linenum">30</span> <span class="keyword">end</span></code></pre>
227
+ <div class="message"><pre>Mock &quot;don't talk to me&quot; expected :any_message_at_all with (no args) 0 times, but received it once</pre></div>
228
+ <div class="backtrace"><pre>examples/failing/mocking_example.rb:27:
229
+ spec/spec_helper.rb:42:in `run_with'
230
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:41:
231
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
232
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:</pre></div>
233
+ <pre class="ruby"><code><span class="linenum">25</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">don't talk to me</span><span class="punct">&quot;)</span>
234
+ <span class="linenum">26</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">should_not_receive</span><span class="punct">(</span><span class="symbol">:any_message_at_all</span><span class="punct">)</span>
235
+ <span class="offending"><span class="linenum">27</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span></span>
236
+ <span class="linenum">28</span> <span class="keyword">end</span></code></pre>
236
237
  </div>
237
238
  </dd>
238
239
  <script type="text/javascript">moveProgressBar('29.4');</script>
@@ -240,17 +241,16 @@ a {
240
241
  <span class="failed_spec_name">has a bug we need to fix</span>
241
242
  <div class="failure" id="failure_4">
242
243
  <div class="message"><pre>Expected pending 'here is the bug' to fail. No Error was raised.</pre></div>
243
- <div class="backtrace"><pre>/Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/mocking_example.rb:33:
244
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/mocking_example.rb:33:in `instance_eval'
245
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:28:
246
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
247
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:
248
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `instance_eval'</pre></div>
249
- <pre class="ruby"><code><span class="linenum">31</span>
250
- <span class="linenum">32</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">has a bug we need to fix</span><span class="punct">&quot;</span> <span class="keyword">do</span>
251
- <span class="offending"><span class="linenum">33</span> <span class="ident">pending</span> <span class="punct">&quot;</span><span class="string">here is the bug</span><span class="punct">&quot;</span> <span class="keyword">do</span></span>
252
- <span class="linenum">34</span> <span class="comment"># Actually, no. It's fixed. This will fail because it passes :-)</span>
253
- <span class="linenum">35</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">Bug</span><span class="punct">&quot;)</span></code></pre>
244
+ <div class="backtrace"><pre>examples/failing/mocking_example.rb:31:
245
+ spec/spec_helper.rb:42:in `run_with'
246
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:41:
247
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
248
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:</pre></div>
249
+ <pre class="ruby"><code><span class="linenum">29</span>
250
+ <span class="linenum">30</span> <span class="ident">it</span> <span class="punct">&quot;</span><span class="string">has a bug we need to fix</span><span class="punct">&quot;</span> <span class="keyword">do</span>
251
+ <span class="offending"><span class="linenum">31</span> <span class="ident">pending</span> <span class="punct">&quot;</span><span class="string">here is the bug</span><span class="punct">&quot;</span> <span class="keyword">do</span></span>
252
+ <span class="linenum">32</span> <span class="comment"># Actually, no. It's fixed. This will fail because it passes :-)</span>
253
+ <span class="linenum">33</span> <span class="ident">mock</span> <span class="punct">=</span> <span class="ident">mock</span><span class="punct">(&quot;</span><span class="string">Bug</span><span class="punct">&quot;)</span></code></pre>
254
254
  </div>
255
255
  </dd>
256
256
  </dl>
@@ -265,19 +265,19 @@ a {
265
265
  <div class="failure" id="failure_5">
266
266
  <div class="message"><pre>expected: &quot;RSpec is a\nbehaviour driven development\nframework for Ruby\n&quot;,
267
267
  got: &quot;RSpec is a\nbehavior driven development\nframework for Ruby\n&quot; (using ==)
268
- Diff:
268
+
269
+ Diff:
269
270
  @@ -1,4 +1,4 @@
270
271
  RSpec is a
271
- -behavior driven development
272
- +behaviour driven development
272
+ -behaviour driven development
273
+ +behavior driven development
273
274
  framework for Ruby
274
275
  </pre></div>
275
- <div class="backtrace"><pre>/Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/diffing_spec.rb:13:
276
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/diffing_spec.rb:2:in `instance_eval'
277
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:28:
278
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
279
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:
280
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `instance_eval'</pre></div>
276
+ <div class="backtrace"><pre>examples/failing/diffing_spec.rb:13:
277
+ spec/spec_helper.rb:42:in `run_with'
278
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:41:
279
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
280
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:</pre></div>
281
281
  <pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span>
282
282
  <span class="linenum">12</span><span class="constant">EOF</span>
283
283
  <span class="offending"><span class="linenum">13</span> <span class="ident">usa</span><span class="punct">.</span><span class="ident">should</span> <span class="punct">==</span> <span class="ident">uk</span></span>
@@ -288,29 +288,25 @@ Diff:
288
288
  <dd class="spec failed">
289
289
  <span class="failed_spec_name">should print diff of different objects' pretty representation</span>
290
290
  <div class="failure" id="failure_6">
291
- <div class="message"><pre>expected &lt;Animal
291
+ <div class="message"><pre>
292
+ expected &lt;Animal
292
293
  name=bob,
293
294
  species=tortoise
294
295
  &gt;
295
- , got &lt;Animal
296
+
297
+ got &lt;Animal
296
298
  name=bob,
297
299
  species=giraffe
298
300
  &gt;
299
- (using .eql?)
300
- Diff:
301
- @@ -1,5 +1,5 @@
302
- &lt;Animal
303
- name=bob,
304
- -species=giraffe
305
- +species=tortoise
306
- &gt;
301
+
302
+
303
+ (compared using eql?)
307
304
  </pre></div>
308
- <div class="backtrace"><pre>/Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/diffing_spec.rb:34:
309
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./examples/failing/diffing_spec.rb:31:in `instance_eval'
310
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:28:
311
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `chdir'
312
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:
313
- /Users/david/projects/ruby/jruby/testsuites/rspec/target/rspec/./spec/spec/runner/formatter/html_formatter_spec.rb:24:in `instance_eval'</pre></div>
305
+ <div class="backtrace"><pre>examples/failing/diffing_spec.rb:34:
306
+ spec/spec_helper.rb:42:in `run_with'
307
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:41:
308
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:in `chdir'
309
+ ./spec/spec/runner/formatter/html_formatter_spec.rb:29:</pre></div>
314
310
  <pre class="ruby"><code><span class="linenum">32</span> <span class="ident">expected</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">giraffe</span><span class="punct">&quot;</span>
315
311
  <span class="linenum">33</span> <span class="ident">actual</span> <span class="punct">=</span> <span class="constant">Animal</span><span class="punct">.</span><span class="ident">new</span> <span class="punct">&quot;</span><span class="string">bob</span><span class="punct">&quot;,</span> <span class="punct">&quot;</span><span class="string">tortoise</span><span class="punct">&quot;</span>
316
312
  <span class="offending"><span class="linenum">34</span> <span class="ident">expected</span><span class="punct">.</span><span class="ident">should</span> <span class="ident">eql</span><span class="punct">(</span><span class="ident">actual</span><span class="punct">)</span></span>