newbamboo-rspec 1.1.12

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.
Files changed (324) hide show
  1. data/.autotest +4 -0
  2. data/History.txt +1263 -0
  3. data/License.txt +22 -0
  4. data/Manifest.txt +327 -0
  5. data/README.txt +57 -0
  6. data/Rakefile +104 -0
  7. data/TODO.txt +18 -0
  8. data/bin/autospec +4 -0
  9. data/bin/spec +4 -0
  10. data/examples/failing/README.txt +7 -0
  11. data/examples/failing/diffing_spec.rb +36 -0
  12. data/examples/failing/failing_autogenerated_docstrings_example.rb +19 -0
  13. data/examples/failing/failure_in_after.rb +10 -0
  14. data/examples/failing/failure_in_before.rb +10 -0
  15. data/examples/failing/mocking_example.rb +40 -0
  16. data/examples/failing/mocking_with_flexmock.rb +26 -0
  17. data/examples/failing/mocking_with_mocha.rb +25 -0
  18. data/examples/failing/mocking_with_rr.rb +27 -0
  19. data/examples/failing/partial_mock_example.rb +20 -0
  20. data/examples/failing/predicate_example.rb +34 -0
  21. data/examples/failing/raising_example.rb +47 -0
  22. data/examples/failing/spec_helper.rb +3 -0
  23. data/examples/failing/syntax_error_example.rb +7 -0
  24. data/examples/failing/team_spec.rb +44 -0
  25. data/examples/failing/timeout_behaviour.rb +7 -0
  26. data/examples/passing/autogenerated_docstrings_example.rb +25 -0
  27. data/examples/passing/before_and_after_example.rb +40 -0
  28. data/examples/passing/behave_as_example.rb +45 -0
  29. data/examples/passing/custom_expectation_matchers.rb +54 -0
  30. data/examples/passing/custom_formatter.rb +12 -0
  31. data/examples/passing/dynamic_spec.rb +9 -0
  32. data/examples/passing/file_accessor.rb +19 -0
  33. data/examples/passing/file_accessor_spec.rb +38 -0
  34. data/examples/passing/greeter_spec.rb +31 -0
  35. data/examples/passing/helper_method_example.rb +14 -0
  36. data/examples/passing/io_processor.rb +8 -0
  37. data/examples/passing/io_processor_spec.rb +21 -0
  38. data/examples/passing/legacy_spec.rb +11 -0
  39. data/examples/passing/mocking_example.rb +27 -0
  40. data/examples/passing/multi_threaded_example_group_runner.rb +26 -0
  41. data/examples/passing/nested_classes_example.rb +36 -0
  42. data/examples/passing/partial_mock_example.rb +29 -0
  43. data/examples/passing/pending_example.rb +20 -0
  44. data/examples/passing/predicate_example.rb +27 -0
  45. data/examples/passing/priority.txt +1 -0
  46. data/examples/passing/shared_example_group_example.rb +81 -0
  47. data/examples/passing/shared_stack_examples.rb +36 -0
  48. data/examples/passing/simple_matcher_example.rb +31 -0
  49. data/examples/passing/spec_helper.rb +3 -0
  50. data/examples/passing/stack.rb +36 -0
  51. data/examples/passing/stack_spec.rb +64 -0
  52. data/examples/passing/stack_spec_with_nested_example_groups.rb +67 -0
  53. data/examples/passing/stubbing_example.rb +69 -0
  54. data/examples/passing/yielding_example.rb +33 -0
  55. data/examples/ruby1.9.compatibility/access_to_constants_spec.rb +86 -0
  56. data/features/before_and_after_blocks/before_and_after_blocks.feature +168 -0
  57. data/features/example_groups/autogenerated_docstrings.feature +45 -0
  58. data/features/example_groups/example_group_with_should_methods.feature +17 -0
  59. data/features/example_groups/nested_groups.feature +17 -0
  60. data/features/example_groups/output.feature +20 -0
  61. data/features/interop/examples_and_tests_together.feature +31 -0
  62. data/features/interop/test_but_not_test_unit.feature +14 -0
  63. data/features/interop/test_case_with_should_methods.feature +17 -0
  64. data/features/mock_framework_integration/use_flexmock.feature +27 -0
  65. data/features/step_definitions/running_rspec.rb +54 -0
  66. data/features/support/env.rb +26 -0
  67. data/features/support/helpers/cmdline.rb +9 -0
  68. data/features/support/matchers/smart_match.rb +37 -0
  69. data/init.rb +9 -0
  70. data/lib/adapters/mock_frameworks/flexmock.rb +24 -0
  71. data/lib/adapters/mock_frameworks/mocha.rb +20 -0
  72. data/lib/adapters/mock_frameworks/rr.rb +22 -0
  73. data/lib/adapters/mock_frameworks/rspec.rb +20 -0
  74. data/lib/autotest/discover.rb +3 -0
  75. data/lib/autotest/rspec.rb +47 -0
  76. data/lib/spec/dsl/main.rb +87 -0
  77. data/lib/spec/dsl.rb +1 -0
  78. data/lib/spec/example/before_and_after_hooks.rb +99 -0
  79. data/lib/spec/example/errors.rb +30 -0
  80. data/lib/spec/example/example_group.rb +26 -0
  81. data/lib/spec/example/example_group_factory.rb +98 -0
  82. data/lib/spec/example/example_group_methods.rb +376 -0
  83. data/lib/spec/example/example_matcher.rb +44 -0
  84. data/lib/spec/example/example_methods.rb +137 -0
  85. data/lib/spec/example/module_reopening_fix.rb +21 -0
  86. data/lib/spec/example/pending.rb +18 -0
  87. data/lib/spec/example/shared_example_group.rb +59 -0
  88. data/lib/spec/example.rb +187 -0
  89. data/lib/spec/expectations/differs/default.rb +66 -0
  90. data/lib/spec/expectations/errors.rb +12 -0
  91. data/lib/spec/expectations/extensions/object.rb +63 -0
  92. data/lib/spec/expectations/extensions/string_and_symbol.rb +17 -0
  93. data/lib/spec/expectations/extensions.rb +2 -0
  94. data/lib/spec/expectations/handler.rb +32 -0
  95. data/lib/spec/expectations.rb +60 -0
  96. data/lib/spec/interop/test/unit/autorunner.rb +6 -0
  97. data/lib/spec/interop/test/unit/testcase.rb +73 -0
  98. data/lib/spec/interop/test/unit/testresult.rb +6 -0
  99. data/lib/spec/interop/test/unit/testsuite_adapter.rb +34 -0
  100. data/lib/spec/interop/test/unit/ui/console/testrunner.rb +61 -0
  101. data/lib/spec/interop/test.rb +12 -0
  102. data/lib/spec/matchers/be.rb +208 -0
  103. data/lib/spec/matchers/be_close.rb +21 -0
  104. data/lib/spec/matchers/change.rb +148 -0
  105. data/lib/spec/matchers/eql.rb +25 -0
  106. data/lib/spec/matchers/equal.rb +25 -0
  107. data/lib/spec/matchers/errors.rb +5 -0
  108. data/lib/spec/matchers/exist.rb +16 -0
  109. data/lib/spec/matchers/generated_descriptions.rb +48 -0
  110. data/lib/spec/matchers/has.rb +15 -0
  111. data/lib/spec/matchers/have.rb +150 -0
  112. data/lib/spec/matchers/include.rb +80 -0
  113. data/lib/spec/matchers/match.rb +22 -0
  114. data/lib/spec/matchers/match_array.rb +79 -0
  115. data/lib/spec/matchers/method_missing.rb +9 -0
  116. data/lib/spec/matchers/operator_matcher.rb +70 -0
  117. data/lib/spec/matchers/raise_error.rb +128 -0
  118. data/lib/spec/matchers/respond_to.rb +71 -0
  119. data/lib/spec/matchers/satisfy.rb +47 -0
  120. data/lib/spec/matchers/simple_matcher.rb +132 -0
  121. data/lib/spec/matchers/throw_symbol.rb +106 -0
  122. data/lib/spec/matchers/wrap_expectation.rb +55 -0
  123. data/lib/spec/matchers.rb +141 -0
  124. data/lib/spec/mocks/argument_expectation.rb +49 -0
  125. data/lib/spec/mocks/argument_matchers.rb +237 -0
  126. data/lib/spec/mocks/error_generator.rb +82 -0
  127. data/lib/spec/mocks/errors.rb +10 -0
  128. data/lib/spec/mocks/extensions/object.rb +3 -0
  129. data/lib/spec/mocks/extensions.rb +1 -0
  130. data/lib/spec/mocks/framework.rb +15 -0
  131. data/lib/spec/mocks/message_expectation.rb +331 -0
  132. data/lib/spec/mocks/methods.rb +51 -0
  133. data/lib/spec/mocks/mock.rb +55 -0
  134. data/lib/spec/mocks/order_group.rb +29 -0
  135. data/lib/spec/mocks/proxy.rb +230 -0
  136. data/lib/spec/mocks/space.rb +28 -0
  137. data/lib/spec/mocks/spec_methods.rb +55 -0
  138. data/lib/spec/mocks.rb +200 -0
  139. data/lib/spec/rake/spectask.rb +225 -0
  140. data/lib/spec/rake/verify_rcov.rb +52 -0
  141. data/lib/spec/ruby.rb +9 -0
  142. data/lib/spec/runner/backtrace_tweaker.rb +58 -0
  143. data/lib/spec/runner/class_and_arguments_parser.rb +14 -0
  144. data/lib/spec/runner/command_line.rb +35 -0
  145. data/lib/spec/runner/configuration.rb +166 -0
  146. data/lib/spec/runner/drb_command_line.rb +20 -0
  147. data/lib/spec/runner/example_group_runner.rb +70 -0
  148. data/lib/spec/runner/formatter/base_formatter.rb +79 -0
  149. data/lib/spec/runner/formatter/base_text_formatter.rb +127 -0
  150. data/lib/spec/runner/formatter/failing_example_groups_formatter.rb +27 -0
  151. data/lib/spec/runner/formatter/failing_examples_formatter.rb +20 -0
  152. data/lib/spec/runner/formatter/html_formatter.rb +340 -0
  153. data/lib/spec/runner/formatter/nested_text_formatter.rb +65 -0
  154. data/lib/spec/runner/formatter/profile_formatter.rb +51 -0
  155. data/lib/spec/runner/formatter/progress_bar_formatter.rb +34 -0
  156. data/lib/spec/runner/formatter/snippet_extractor.rb +52 -0
  157. data/lib/spec/runner/formatter/specdoc_formatter.rb +39 -0
  158. data/lib/spec/runner/formatter/text_mate_formatter.rb +16 -0
  159. data/lib/spec/runner/heckle_runner.rb +74 -0
  160. data/lib/spec/runner/heckle_runner_unsupported.rb +10 -0
  161. data/lib/spec/runner/option_parser.rb +204 -0
  162. data/lib/spec/runner/options.rb +320 -0
  163. data/lib/spec/runner/reporter.rb +167 -0
  164. data/lib/spec/runner/spec_parser.rb +73 -0
  165. data/lib/spec/runner.rb +88 -0
  166. data/lib/spec/version.rb +15 -0
  167. data/lib/spec.rb +7 -0
  168. data/resources/rake/examples.rake +7 -0
  169. data/resources/rake/examples_with_rcov.rake +9 -0
  170. data/resources/rake/failing_examples_with_html.rake +9 -0
  171. data/resources/rake/verify_rcov.rake +7 -0
  172. data/resources/spec/example_group_with_should_methods.rb +12 -0
  173. data/resources/spec/simple_spec.rb +8 -0
  174. data/resources/test/spec_and_test_together.rb +57 -0
  175. data/resources/test/spec_including_test_but_not_unit.rb +11 -0
  176. data/resources/test/test_case_with_should_methods.rb +30 -0
  177. data/rspec.gemspec +32 -0
  178. data/spec/README.jruby +15 -0
  179. data/spec/autotest/autotest_helper.rb +6 -0
  180. data/spec/autotest/autotest_matchers.rb +47 -0
  181. data/spec/autotest/discover_spec.rb +8 -0
  182. data/spec/autotest/failed_results_re_spec.rb +24 -0
  183. data/spec/autotest/rspec_spec.rb +114 -0
  184. data/spec/rspec_suite.rb +6 -0
  185. data/spec/ruby_forker.rb +13 -0
  186. data/spec/spec/dsl/main_spec.rb +88 -0
  187. data/spec/spec/example/example_group_class_definition_spec.rb +49 -0
  188. data/spec/spec/example/example_group_factory_spec.rb +224 -0
  189. data/spec/spec/example/example_group_methods_spec.rb +653 -0
  190. data/spec/spec/example/example_group_spec.rb +661 -0
  191. data/spec/spec/example/example_matcher_spec.rb +79 -0
  192. data/spec/spec/example/example_methods_spec.rb +204 -0
  193. data/spec/spec/example/helper_method_spec.rb +24 -0
  194. data/spec/spec/example/nested_example_group_spec.rb +71 -0
  195. data/spec/spec/example/pending_module_spec.rb +139 -0
  196. data/spec/spec/example/predicate_matcher_spec.rb +21 -0
  197. data/spec/spec/example/shared_example_group_spec.rb +257 -0
  198. data/spec/spec/example/subclassing_example_group_spec.rb +25 -0
  199. data/spec/spec/expectations/differs/default_spec.rb +127 -0
  200. data/spec/spec/expectations/extensions/object_spec.rb +45 -0
  201. data/spec/spec/expectations/fail_with_spec.rb +71 -0
  202. data/spec/spec/expectations/wrap_expectation_spec.rb +30 -0
  203. data/spec/spec/interop/test/unit/resources/spec_that_fails.rb +10 -0
  204. data/spec/spec/interop/test/unit/resources/spec_that_passes.rb +10 -0
  205. data/spec/spec/interop/test/unit/resources/spec_with_errors.rb +10 -0
  206. data/spec/spec/interop/test/unit/resources/spec_with_options_hash.rb +13 -0
  207. data/spec/spec/interop/test/unit/resources/test_case_that_fails.rb +10 -0
  208. data/spec/spec/interop/test/unit/resources/test_case_that_passes.rb +10 -0
  209. data/spec/spec/interop/test/unit/resources/test_case_with_errors.rb +10 -0
  210. data/spec/spec/interop/test/unit/resources/testsuite_adapter_spec_with_test_unit.rb +38 -0
  211. data/spec/spec/interop/test/unit/spec_spec.rb +48 -0
  212. data/spec/spec/interop/test/unit/test_unit_spec_helper.rb +18 -0
  213. data/spec/spec/interop/test/unit/testcase_spec.rb +49 -0
  214. data/spec/spec/interop/test/unit/testsuite_adapter_spec.rb +9 -0
  215. data/spec/spec/matchers/be_close_spec.rb +41 -0
  216. data/spec/spec/matchers/be_spec.rb +303 -0
  217. data/spec/spec/matchers/change_spec.rb +329 -0
  218. data/spec/spec/matchers/description_generation_spec.rb +172 -0
  219. data/spec/spec/matchers/eql_spec.rb +29 -0
  220. data/spec/spec/matchers/equal_spec.rb +29 -0
  221. data/spec/spec/matchers/exist_spec.rb +57 -0
  222. data/spec/spec/matchers/handler_spec.rb +111 -0
  223. data/spec/spec/matchers/has_spec.rb +63 -0
  224. data/spec/spec/matchers/have_spec.rb +399 -0
  225. data/spec/spec/matchers/include_spec.rb +88 -0
  226. data/spec/spec/matchers/match_array_spec.rb +83 -0
  227. data/spec/spec/matchers/match_spec.rb +37 -0
  228. data/spec/spec/matchers/matcher_methods_spec.rb +66 -0
  229. data/spec/spec/matchers/operator_matcher_spec.rb +191 -0
  230. data/spec/spec/matchers/raise_error_spec.rb +333 -0
  231. data/spec/spec/matchers/respond_to_spec.rb +116 -0
  232. data/spec/spec/matchers/satisfy_spec.rb +36 -0
  233. data/spec/spec/matchers/simple_matcher_spec.rb +93 -0
  234. data/spec/spec/matchers/throw_symbol_spec.rb +96 -0
  235. data/spec/spec/mocks/any_number_of_times_spec.rb +36 -0
  236. data/spec/spec/mocks/argument_expectation_spec.rb +23 -0
  237. data/spec/spec/mocks/at_least_spec.rb +97 -0
  238. data/spec/spec/mocks/at_most_spec.rb +93 -0
  239. data/spec/spec/mocks/bug_report_10260_spec.rb +8 -0
  240. data/spec/spec/mocks/bug_report_10263_spec.rb +24 -0
  241. data/spec/spec/mocks/bug_report_11545_spec.rb +32 -0
  242. data/spec/spec/mocks/bug_report_15719_spec.rb +30 -0
  243. data/spec/spec/mocks/bug_report_496.rb +19 -0
  244. data/spec/spec/mocks/bug_report_600_spec.rb +22 -0
  245. data/spec/spec/mocks/bug_report_7611_spec.rb +19 -0
  246. data/spec/spec/mocks/bug_report_7805_spec.rb +22 -0
  247. data/spec/spec/mocks/bug_report_8165_spec.rb +31 -0
  248. data/spec/spec/mocks/bug_report_8302_spec.rb +26 -0
  249. data/spec/spec/mocks/failing_argument_matchers_spec.rb +95 -0
  250. data/spec/spec/mocks/hash_including_matcher_spec.rb +90 -0
  251. data/spec/spec/mocks/hash_not_including_matcher_spec.rb +67 -0
  252. data/spec/spec/mocks/mock_ordering_spec.rb +84 -0
  253. data/spec/spec/mocks/mock_space_spec.rb +54 -0
  254. data/spec/spec/mocks/mock_spec.rb +579 -0
  255. data/spec/spec/mocks/multiple_return_value_spec.rb +113 -0
  256. data/spec/spec/mocks/nil_expectation_warning_spec.rb +53 -0
  257. data/spec/spec/mocks/null_object_mock_spec.rb +54 -0
  258. data/spec/spec/mocks/once_counts_spec.rb +53 -0
  259. data/spec/spec/mocks/options_hash_spec.rb +35 -0
  260. data/spec/spec/mocks/partial_mock_spec.rb +149 -0
  261. data/spec/spec/mocks/partial_mock_using_mocks_directly_spec.rb +66 -0
  262. data/spec/spec/mocks/passing_argument_matchers_spec.rb +145 -0
  263. data/spec/spec/mocks/precise_counts_spec.rb +52 -0
  264. data/spec/spec/mocks/record_messages_spec.rb +26 -0
  265. data/spec/spec/mocks/stub_spec.rb +194 -0
  266. data/spec/spec/mocks/stubbed_message_expectations_spec.rb +14 -0
  267. data/spec/spec/mocks/twice_counts_spec.rb +67 -0
  268. data/spec/spec/package/bin_spec_spec.rb +22 -0
  269. data/spec/spec/runner/class_and_argument_parser_spec.rb +23 -0
  270. data/spec/spec/runner/command_line_spec.rb +141 -0
  271. data/spec/spec/runner/configuration_spec.rb +301 -0
  272. data/spec/spec/runner/drb_command_line_spec.rb +97 -0
  273. data/spec/spec/runner/empty_file.txt +0 -0
  274. data/spec/spec/runner/example_group_runner_spec.rb +33 -0
  275. data/spec/spec/runner/examples.txt +2 -0
  276. data/spec/spec/runner/failed.txt +3 -0
  277. data/spec/spec/runner/formatter/base_formatter_spec.rb +23 -0
  278. data/spec/spec/runner/formatter/base_text_formatter_spec.rb +23 -0
  279. data/spec/spec/runner/formatter/failing_example_groups_formatter_spec.rb +45 -0
  280. data/spec/spec/runner/formatter/failing_examples_formatter_spec.rb +33 -0
  281. data/spec/spec/runner/formatter/html_formatted-1.8.4.html +365 -0
  282. data/spec/spec/runner/formatter/html_formatted-1.8.5-jruby.html +387 -0
  283. data/spec/spec/runner/formatter/html_formatted-1.8.5.html +371 -0
  284. data/spec/spec/runner/formatter/html_formatted-1.8.6-jruby.html +381 -0
  285. data/spec/spec/runner/formatter/html_formatted-1.8.6.html +379 -0
  286. data/spec/spec/runner/formatter/html_formatted-1.8.7.html +379 -0
  287. data/spec/spec/runner/formatter/html_formatted-1.9.1.html +379 -0
  288. data/spec/spec/runner/formatter/html_formatter_spec.rb +62 -0
  289. data/spec/spec/runner/formatter/nested_text_formatter_spec.rb +318 -0
  290. data/spec/spec/runner/formatter/profile_formatter_spec.rb +65 -0
  291. data/spec/spec/runner/formatter/progress_bar_formatter_spec.rb +145 -0
  292. data/spec/spec/runner/formatter/snippet_extractor_spec.rb +18 -0
  293. data/spec/spec/runner/formatter/spec_mate_formatter_spec.rb +104 -0
  294. data/spec/spec/runner/formatter/specdoc_formatter_spec.rb +159 -0
  295. data/spec/spec/runner/formatter/text_mate_formatted-1.8.4.html +365 -0
  296. data/spec/spec/runner/formatter/text_mate_formatted-1.8.6.html +373 -0
  297. data/spec/spec/runner/formatter/text_mate_formatted-1.8.7.html +373 -0
  298. data/spec/spec/runner/formatter/text_mate_formatted-1.9.1.html +373 -0
  299. data/spec/spec/runner/heckle_runner_spec.rb +78 -0
  300. data/spec/spec/runner/heckler_spec.rb +20 -0
  301. data/spec/spec/runner/noisy_backtrace_tweaker_spec.rb +45 -0
  302. data/spec/spec/runner/option_parser_spec.rb +396 -0
  303. data/spec/spec/runner/options_spec.rb +469 -0
  304. data/spec/spec/runner/output_one_time_fixture.rb +7 -0
  305. data/spec/spec/runner/output_one_time_fixture_runner.rb +8 -0
  306. data/spec/spec/runner/output_one_time_spec.rb +16 -0
  307. data/spec/spec/runner/quiet_backtrace_tweaker_spec.rb +62 -0
  308. data/spec/spec/runner/reporter_spec.rb +238 -0
  309. data/spec/spec/runner/resources/a_bar.rb +0 -0
  310. data/spec/spec/runner/resources/a_foo.rb +0 -0
  311. data/spec/spec/runner/resources/a_spec.rb +1 -0
  312. data/spec/spec/runner/resources/custom_example_group_runner.rb +14 -0
  313. data/spec/spec/runner/resources/utf8_encoded.rb +7 -0
  314. data/spec/spec/runner/spec.opts +2 -0
  315. data/spec/spec/runner/spec_drb.opts +1 -0
  316. data/spec/spec/runner/spec_parser/spec_parser_fixture.rb +70 -0
  317. data/spec/spec/runner/spec_parser_spec.rb +91 -0
  318. data/spec/spec/runner/spec_spaced.opts +2 -0
  319. data/spec/spec/runner_spec.rb +11 -0
  320. data/spec/spec/spec_classes.rb +133 -0
  321. data/spec/spec/spec_spec.rb +21 -0
  322. data/spec/spec.opts +6 -0
  323. data/spec/spec_helper.rb +107 -0
  324. metadata +388 -0
@@ -0,0 +1,159 @@
1
+ require File.dirname(__FILE__) + '/../../../spec_helper.rb'
2
+ require 'spec/runner/formatter/specdoc_formatter'
3
+
4
+ module Spec
5
+ module Runner
6
+ module Formatter
7
+ describe SpecdocFormatter do
8
+ with_sandboxed_options do
9
+ attr_reader :io, :formatter, :example_group
10
+ before(:each) do
11
+ @io = StringIO.new
12
+ options.stub!(:dry_run).and_return(false)
13
+ options.stub!(:colour).and_return(false)
14
+ @formatter = SpecdocFormatter.new(options, io)
15
+ @example_group = ::Spec::Example::ExampleGroup.describe("ExampleGroup") do
16
+ specify "example" do
17
+ end
18
+ end
19
+ end
20
+
21
+ describe "where ExampleGroup has no superclasss with a description" do
22
+ before do
23
+ add_example_group
24
+ end
25
+
26
+ def add_example_group
27
+ formatter.add_example_group(example_group)
28
+ end
29
+
30
+ describe "#dump_summary" do
31
+ it "should produce standard summary without pending when pending has a 0 count" do
32
+ formatter.dump_summary(3, 2, 1, 0)
33
+ io.string.should have_example_group_output("\nFinished in 3 seconds\n\n2 examples, 1 failure\n")
34
+ end
35
+
36
+ it "should produce standard summary" do
37
+ formatter.dump_summary(3, 2, 1, 4)
38
+ io.string.should have_example_group_output("\nFinished in 3 seconds\n\n2 examples, 1 failure, 4 pending\n")
39
+ end
40
+ end
41
+
42
+ describe "#add_example_group" do
43
+ it "should push ExampleGroup name" do
44
+ io.string.should eql("\nExampleGroup\n")
45
+ end
46
+ end
47
+
48
+ describe "#example_failed" do
49
+ describe "where ExampleGroup has no superclasss with a description" do
50
+ describe "when having an error" do
51
+ it "should push failing spec name and failure number" do
52
+ formatter.example_failed(
53
+ example_group.it("spec"),
54
+ 98,
55
+ Spec::Runner::Reporter::Failure.new("c s", RuntimeError.new)
56
+ )
57
+ io.string.should have_example_group_output("- spec (ERROR - 98)\n")
58
+ end
59
+ end
60
+
61
+ describe "when having an expectation failure" do
62
+ it "should push failing spec name and failure number" do
63
+ formatter.example_failed(
64
+ example_group.it("spec"),
65
+ 98,
66
+ Spec::Runner::Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
67
+ )
68
+ io.string.should have_example_group_output("- spec (FAILED - 98)\n")
69
+ end
70
+ end
71
+ end
72
+
73
+ describe "where ExampleGroup has two superclasses with a description" do
74
+ attr_reader :child_example_group, :grand_child_example_group
75
+
76
+ def add_example_group
77
+ @child_example_group = Class.new(example_group).describe("Child ExampleGroup")
78
+ @grand_child_example_group = Class.new(child_example_group).describe("GrandChild ExampleGroup")
79
+ formatter.add_example_group(grand_child_example_group)
80
+ end
81
+
82
+ describe "when having an error" do
83
+ it "should push failing spec name and failure number" do
84
+ formatter.example_failed(
85
+ example_group.it("spec"),
86
+ 98,
87
+ Spec::Runner::Reporter::Failure.new("c s", RuntimeError.new)
88
+ )
89
+ io.string.should have_nested_example_group_output("- spec (ERROR - 98)\n")
90
+ end
91
+ end
92
+
93
+ describe "when having an expectation" do
94
+ it "should push failing spec name and failure number" do
95
+ formatter.example_failed(
96
+ example_group.it("spec"),
97
+ 98,
98
+ Spec::Runner::Reporter::Failure.new("c s", Spec::Expectations::ExpectationNotMetError.new)
99
+ )
100
+ io.string.should have_nested_example_group_output("- spec (FAILED - 98)\n")
101
+ end
102
+ end
103
+
104
+ def have_nested_example_group_output(expected_output)
105
+ expected_full_output = "\nExampleGroup Child ExampleGroup GrandChild ExampleGroup\n#{expected_output}"
106
+ ::Spec::Matchers::SimpleMatcher.new(expected_full_output) do |actual|
107
+ actual == expected_full_output
108
+ end
109
+ end
110
+ end
111
+ end
112
+
113
+ describe "#start" do
114
+ it "should push nothing on start" do
115
+ formatter.start(5)
116
+ io.string.should have_example_group_output("")
117
+ end
118
+ end
119
+
120
+ describe "#start_dump" do
121
+ it "should push nothing on start dump" do
122
+ formatter.start_dump
123
+ io.string.should have_example_group_output("")
124
+ end
125
+ end
126
+
127
+ describe "#example_passed" do
128
+ it "should push passing spec name" do
129
+ formatter.example_passed(example_group.it("spec"))
130
+ io.string.should have_example_group_output("- spec\n")
131
+ end
132
+ end
133
+
134
+ describe "#example_pending" do
135
+ it "should push pending example name and message" do
136
+ formatter.example_pending(example_group.examples.first, 'reason', "#{__FILE__}:#{__LINE__}")
137
+ io.string.should have_example_group_output("- example (PENDING: reason)\n")
138
+ end
139
+
140
+ it "should dump pending" do
141
+ formatter.example_pending(example_group.examples.first, 'reason', "#{__FILE__}:#{__LINE__}")
142
+ io.rewind
143
+ formatter.dump_pending
144
+ io.string.should =~ /Pending\:\n\nExampleGroup example \(reason\)\n/
145
+ end
146
+ end
147
+
148
+ def have_example_group_output(expected_output)
149
+ expected = "\nExampleGroup\n#{expected_output}"
150
+ ::Spec::Matchers::SimpleMatcher.new(expected) do |actual|
151
+ actual == expected
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end
157
+ end
158
+ end
159
+ end
@@ -0,0 +1,365 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
6
+ <head>
7
+ <title>RSpec results</title>
8
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
+ <meta http-equiv="Expires" content="-1" />
10
+ <meta http-equiv="Pragma" content="no-cache" />
11
+ <style type="text/css">
12
+ body {
13
+ margin: 0;
14
+ padding: 0;
15
+ background: #fff;
16
+ font-size: 80%;
17
+ }
18
+ </style>
19
+ </head>
20
+ <body>
21
+ <div class="rspec-report">
22
+ <script type="text/javascript">
23
+ // <![CDATA[
24
+ function moveProgressBar(percentDone) {
25
+ document.getElementById("rspec-header").style.width = percentDone +"%";
26
+ }
27
+ function makeRed(element_id) {
28
+ document.getElementById(element_id).style.background = '#C40D0D';
29
+ document.getElementById(element_id).style.color = '#FFFFFF';
30
+ }
31
+
32
+ function makeYellow(element_id) {
33
+ if (element_id == "rspec-header" && document.getElementById(element_id).style.background != '#C40D0D')
34
+ {
35
+ document.getElementById(element_id).style.background = '#FAF834';
36
+ document.getElementById(element_id).style.color = '#000000';
37
+ }
38
+ else
39
+ {
40
+ document.getElementById(element_id).style.background = '#FAF834';
41
+ document.getElementById(element_id).style.color = '#000000';
42
+ }
43
+ }
44
+
45
+ // ]]>
46
+ </script>
47
+ <style type="text/css">
48
+ #rspec-header {
49
+ background: #65C400; color: #fff;
50
+ }
51
+
52
+ .rspec-report h1 {
53
+ margin: 0px 10px 0px 10px;
54
+ padding: 10px;
55
+ font-family: "Lucida Grande", Helvetica, sans-serif;
56
+ font-size: 1.8em;
57
+ }
58
+
59
+ #summary {
60
+ margin: 0; padding: 5px 10px;
61
+ font-family: "Lucida Grande", Helvetica, sans-serif;
62
+ text-align: right;
63
+ position: absolute;
64
+ top: 0px;
65
+ right: 0px;
66
+ }
67
+
68
+ #summary p {
69
+ margin: 0 0 0 2px;
70
+ }
71
+
72
+ #summary #totals {
73
+ font-size: 1.2em;
74
+ }
75
+
76
+ .example_group {
77
+ margin: 0 10px 5px;
78
+ background: #fff;
79
+ }
80
+
81
+ dl {
82
+ margin: 0; padding: 0 0 5px;
83
+ font: normal 11px "Lucida Grande", Helvetica, sans-serif;
84
+ }
85
+
86
+ dt {
87
+ padding: 3px;
88
+ background: #65C400;
89
+ color: #fff;
90
+ font-weight: bold;
91
+ }
92
+
93
+ dd {
94
+ margin: 5px 0 5px 5px;
95
+ padding: 3px 3px 3px 18px;
96
+ }
97
+
98
+ dd.spec.passed {
99
+ border-left: 5px solid #65C400;
100
+ border-bottom: 1px solid #65C400;
101
+ background: #DBFFB4; color: #3D7700;
102
+ }
103
+
104
+ dd.spec.failed {
105
+ border-left: 5px solid #C20000;
106
+ border-bottom: 1px solid #C20000;
107
+ color: #C20000; background: #FFFBD3;
108
+ }
109
+
110
+ dd.spec.not_implemented {
111
+ border-left: 5px solid #FAF834;
112
+ border-bottom: 1px solid #FAF834;
113
+ background: #FCFB98; color: #131313;
114
+ }
115
+
116
+ dd.spec.pending_fixed {
117
+ border-left: 5px solid #0000C2;
118
+ border-bottom: 1px solid #0000C2;
119
+ color: #0000C2; background: #D3FBFF;
120
+ }
121
+
122
+ .backtrace {
123
+ color: #000;
124
+ font-size: 12px;
125
+ }
126
+
127
+ a {
128
+ color: #BE5C00;
129
+ }
130
+
131
+ /* Ruby code, style similar to vibrant ink */
132
+ .ruby {
133
+ font-size: 12px;
134
+ font-family: monospace;
135
+ color: white;
136
+ background-color: black;
137
+ padding: 0.1em 0 0.2em 0;
138
+ }
139
+
140
+ .ruby .keyword { color: #FF6600; }
141
+ .ruby .constant { color: #339999; }
142
+ .ruby .attribute { color: white; }
143
+ .ruby .global { color: white; }
144
+ .ruby .module { color: white; }
145
+ .ruby .class { color: white; }
146
+ .ruby .string { color: #66FF00; }
147
+ .ruby .ident { color: white; }
148
+ .ruby .method { color: #FFCC00; }
149
+ .ruby .number { color: white; }
150
+ .ruby .char { color: white; }
151
+ .ruby .comment { color: #9933CC; }
152
+ .ruby .symbol { color: white; }
153
+ .ruby .regex { color: #44B4CC; }
154
+ .ruby .punct { color: white; }
155
+ .ruby .escape { color: white; }
156
+ .ruby .interp { color: white; }
157
+ .ruby .expr { color: white; }
158
+
159
+ .ruby .offending { background-color: gray; }
160
+ .ruby .linenum {
161
+ width: 75px;
162
+ padding: 0.1em 1em 0.2em 0;
163
+ color: #000000;
164
+ background-color: #FFFBD3;
165
+ }
166
+
167
+ </style>
168
+
169
+ <div id="rspec-header">
170
+ <h1>RSpec Results</h1>
171
+
172
+ <div id="summary">
173
+ <p id="totals">&nbsp;</p>
174
+ <p id="duration">&nbsp;</p>
175
+ </div>
176
+ </div>
177
+
178
+ <div class="results">
179
+ <div class="example_group">
180
+ <dl>
181
+ <dt id="example_group_1">Mocker</dt>
182
+ <script type="text/javascript">moveProgressBar('5.8');</script>
183
+ <dd class="spec passed"><span class="passed_spec_name">should be able to call mock()</span></dd>
184
+ <script type="text/javascript">makeRed('rspec-header');</script>
185
+ <script type="text/javascript">makeRed('example_group_1');</script>
186
+ <script type="text/javascript">moveProgressBar('11.7');</script>
187
+ <dd class="spec failed">
188
+ <span class="failed_spec_name">should fail when expected message not received</span>
189
+ <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><a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/examples/failing/mocking_example.rb&line=13">./examples/failing/mocking_example.rb:13</a>
192
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=52">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52</a>
193
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=48">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48</a> </pre></div>
194
+ <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>
195
+ <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>
196
+ <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>
197
+ <span class="linenum">14</span> <span class="keyword">end</span>
198
+ <span class="linenum">15</span> </code></pre>
199
+ </div>
200
+ </dd>
201
+ <script type="text/javascript">moveProgressBar('17.6');</script>
202
+ <dd class="spec failed">
203
+ <span class="failed_spec_name">should fail when messages are received out of order</span>
204
+ <div class="failure" id="failure_2">
205
+ <div class="message"><pre>Mock 'one two three' received :three out of order</pre></div>
206
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/examples/failing/mocking_example.rb&line=22">./examples/failing/mocking_example.rb:22</a>
207
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=52">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52</a>
208
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=48">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48</a> </pre></div>
209
+ <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>
210
+ <span class="linenum">21</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">one</span>
211
+ <span class="offending"><span class="linenum">22</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">three</span></span>
212
+ <span class="linenum">23</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">two</span>
213
+ <span class="linenum">24</span> <span class="keyword">end</span></code></pre>
214
+ </div>
215
+ </dd>
216
+ <script type="text/javascript">moveProgressBar('23.5');</script>
217
+ <dd class="spec failed">
218
+ <span class="failed_spec_name">should get yelled at when sending unexpected messages</span>
219
+ <div class="failure" id="failure_3">
220
+ <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>
221
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/examples/failing/mocking_example.rb&line=28">./examples/failing/mocking_example.rb:28</a>
222
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=52">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52</a>
223
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=48">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48</a> </pre></div>
224
+ <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>
225
+ <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>
226
+ <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>
227
+ <span class="linenum">29</span> <span class="ident">mock</span><span class="punct">.</span><span class="ident">any_message_at_all</span>
228
+ <span class="linenum">30</span> <span class="keyword">end</span></code></pre>
229
+ </div>
230
+ </dd>
231
+ <script type="text/javascript">moveProgressBar('29.4');</script>
232
+ <dd class="spec pending_fixed">
233
+ <span class="failed_spec_name">has a bug we need to fix</span>
234
+ <div class="failure" id="failure_4">
235
+ <div class="message"><pre>Expected pending 'here is the bug' to fail. No Error was raised.</pre></div>
236
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/examples/failing/mocking_example.rb&line=33">./examples/failing/mocking_example.rb:33</a>
237
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=52">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52</a>
238
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=48">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48</a> </pre></div>
239
+ <pre class="ruby"><code><span class="linenum">31</span>
240
+ <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>
241
+ <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>
242
+ <span class="linenum">34</span> <span class="comment"># Actually, no. It's fixed. This will fail because it passes :-)</span>
243
+ <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>
245
+ </dd>
246
+ </dl>
247
+ </div>
248
+ <div class="example_group">
249
+ <dl>
250
+ <dt id="example_group_2">Running specs with --diff</dt>
251
+ <script type="text/javascript">makeRed('example_group_2');</script>
252
+ <script type="text/javascript">moveProgressBar('35.2');</script>
253
+ <dd class="spec failed">
254
+ <span class="failed_spec_name">should print diff of different strings</span>
255
+ <div class="failure" id="failure_5">
256
+ <div class="message"><pre>expected: &quot;RSpec is a\nbehaviour driven development\nframework for Ruby\n&quot;,
257
+ got: &quot;RSpec is a\nbehavior driven development\nframework for Ruby\n&quot; (using ==)
258
+ Diff:
259
+ @@ -1,4 +1,4 @@
260
+ RSpec is a
261
+ -behavior driven development
262
+ +behaviour driven development
263
+ framework for Ruby
264
+ </pre></div>
265
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/examples/failing/diffing_spec.rb&line=13">./examples/failing/diffing_spec.rb:13</a>
266
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=52">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52</a>
267
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=48">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48</a> </pre></div>
268
+ <pre class="ruby"><code><span class="linenum">11</span><span class="ident">framework</span> <span class="keyword">for</span> <span class="constant">Ruby</span>
269
+ <span class="linenum">12</span><span class="constant">EOF</span>
270
+ <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>
271
+ <span class="linenum">14</span> <span class="keyword">end</span></code></pre>
272
+ </div>
273
+ </dd>
274
+ <script type="text/javascript">moveProgressBar('41.1');</script>
275
+ <dd class="spec failed">
276
+ <span class="failed_spec_name">should print diff of different objects' pretty representation</span>
277
+ <div class="failure" id="failure_6">
278
+ <div class="message"><pre>expected &lt;Animal
279
+ name=bob,
280
+ species=tortoise
281
+ &gt;
282
+ , got &lt;Animal
283
+ name=bob,
284
+ species=giraffe
285
+ &gt;
286
+ (using .eql?)
287
+ Diff:
288
+ @@ -1,5 +1,5 @@
289
+ &lt;Animal
290
+ name=bob,
291
+ -species=giraffe
292
+ +species=tortoise
293
+ &gt;
294
+ </pre></div>
295
+ <div class="backtrace"><pre><a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/examples/failing/diffing_spec.rb&line=34">./examples/failing/diffing_spec.rb:34</a>
296
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=52">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:52</a>
297
+ <a href="txmt://open?url=file:///Users/aslakhellesoy/scm/rspec/trunk/rspec/spec/spec/runner/formatter/spec_mate_formatter_spec.rb&line=48">./spec/spec/runner/formatter/spec_mate_formatter_spec.rb:48</a> </pre></div>
298
+ <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>
299
+ <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>
300
+ <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>
301
+ <span class="linenum">35</span> <span class="keyword">end</span>
302
+ <span class="linenum">36</span><span class="keyword">end</span></code></pre>
303
+ </div>
304
+ </dd>
305
+ </dl>
306
+ </div>
307
+ <div class="example_group">
308
+ <dl>
309
+ <dt id="example_group_3">A consumer of a stub</dt>
310
+ <script type="text/javascript">moveProgressBar('47.0');</script>
311
+ <dd class="spec passed"><span class="passed_spec_name">should be able to stub methods on any Object</span></dd>
312
+ </dl>
313
+ </div>
314
+ <div class="example_group">
315
+ <dl>
316
+ <dt id="example_group_4">A stubbed method on a class</dt>
317
+ <script type="text/javascript">moveProgressBar('52.9');</script>
318
+ <dd class="spec passed"><span class="passed_spec_name">should return the stubbed value</span></dd>
319
+ <script type="text/javascript">moveProgressBar('58.8');</script>
320
+ <dd class="spec passed"><span class="passed_spec_name">should revert to the original method after each spec</span></dd>
321
+ <script type="text/javascript">moveProgressBar('64.7');</script>
322
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock the same message</span></dd>
323
+ </dl>
324
+ </div>
325
+ <div class="example_group">
326
+ <dl>
327
+ <dt id="example_group_5">A mock</dt>
328
+ <script type="text/javascript">moveProgressBar('70.5');</script>
329
+ <dd class="spec passed"><span class="passed_spec_name">can stub!</span></dd>
330
+ <script type="text/javascript">moveProgressBar('76.4');</script>
331
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock</span></dd>
332
+ <script type="text/javascript">moveProgressBar('82.3');</script>
333
+ <dd class="spec passed"><span class="passed_spec_name">can stub! and mock the same message</span></dd>
334
+ </dl>
335
+ </div>
336
+ <div class="example_group">
337
+ <dl>
338
+ <dt id="example_group_6">pending example (using pending method)</dt>
339
+ <script type="text/javascript">makeYellow('example_group_6');</script>
340
+ <script type="text/javascript">moveProgressBar('88.2');</script>
341
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should be reported as &quot;PENDING: for some reason&quot; (PENDING: for some reason)</span></dd>
342
+ </dl>
343
+ </div>
344
+ <div class="example_group">
345
+ <dl>
346
+ <dt id="example_group_7">pending example (with no block)</dt>
347
+ <script type="text/javascript">makeYellow('example_group_7');</script>
348
+ <script type="text/javascript">moveProgressBar('94.1');</script>
349
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should be reported as &quot;PENDING: Not Yet Implemented&quot; (PENDING: Not Yet Implemented)</span></dd>
350
+ </dl>
351
+ </div>
352
+ <div class="example_group">
353
+ <dl>
354
+ <dt id="example_group_8">pending example (with block for pending)</dt>
355
+ <script type="text/javascript">makeYellow('example_group_8');</script>
356
+ <script type="text/javascript">moveProgressBar('100.0');</script>
357
+ <dd class="spec not_implemented"><span class="not_implemented_spec_name">should have a failing block, passed to pending, reported as &quot;PENDING: for some reason&quot; (PENDING: for some reason)</span></dd>
358
+ </dl>
359
+ </div>
360
+ <script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>x seconds</strong>";</script>
361
+ <script type="text/javascript">document.getElementById('totals').innerHTML = "17 examples, 6 failures, 3 pending";</script>
362
+ </div>
363
+ </div>
364
+ </body>
365
+ </html>