Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

got rid of the test/unit output in TextMate

git-svn-id: svn+ssh://rubyforge.org/var/svn/rspec/trunk@2800 410327ef-2207-0410-a325-f78bbcb22a5a
  • Loading branch information...
commit 8c27e7844eebaf172e46de0d892be7e174ca86af 0 parents
dchelimsky authored
Showing with 16,266 additions and 0 deletions.
  1. +1 −0  README
  2. +25 −0 RSpec.tmbundle/Commands/Alternate File.tmCommand
  3. +28 −0 RSpec.tmbundle/Commands/Run Focussed Specification.tmCommand
  4. +27 −0 RSpec.tmbundle/Commands/Run Specifications - Normal.tmCommand
  5. +26 −0 RSpec.tmbundle/Commands/Run Specifications in selected files or directories.tmCommand
  6. +19 −0 RSpec.tmbundle/Preferences/SymbolList-Behaviour.tmPreferences
  7. +19 −0 RSpec.tmbundle/Preferences/SymbolList-Example.tmPreferences
  8. +2 −0  RSpec.tmbundle/README
  9. +39 −0 RSpec.tmbundle/Snippets/Custom Matcher.tmSnippet
  10. +20 −0 RSpec.tmbundle/Snippets/Describe.tmSnippet
  11. +20 −0 RSpec.tmbundle/Snippets/Describe_type.tmSnippet
  12. +20 −0 RSpec.tmbundle/Snippets/Describe_type_string.tmSnippet
  13. +18 −0 RSpec.tmbundle/Snippets/It.tmSnippet
  14. +16 −0 RSpec.tmbundle/Snippets/Require spec_helper.tmSnippet
  15. +16 −0 RSpec.tmbundle/Snippets/Set Controller for Spec.tmSnippet
  16. +21 −0 RSpec.tmbundle/Snippets/Story.tmSnippet
  17. +16 −0 RSpec.tmbundle/Snippets/and_raise.tmSnippet
  18. +16 −0 RSpec.tmbundle/Snippets/and_return_block.tmSnippet
  19. +16 −0 RSpec.tmbundle/Snippets/and_return_value.tmSnippet
  20. +16 −0 RSpec.tmbundle/Snippets/and_throw.tmSnippet
  21. +16 −0 RSpec.tmbundle/Snippets/and_yield.tmSnippet
  22. +16 −0 RSpec.tmbundle/Snippets/any_number_of_times.tmSnippet
  23. +16 −0 RSpec.tmbundle/Snippets/at_least.tmSnippet
  24. +16 −0 RSpec.tmbundle/Snippets/at_most.tmSnippet
  25. +20 −0 RSpec.tmbundle/Snippets/controller_context.tmSnippet
  26. +18 −0 RSpec.tmbundle/Snippets/controller_context_RESTful.tmSnippet
  27. +16 −0 RSpec.tmbundle/Snippets/exactly.tmSnippet
  28. +17 −0 RSpec.tmbundle/Snippets/mock.tmSnippet
  29. +16 −0 RSpec.tmbundle/Snippets/once.tmSnippet
  30. +17 −0 RSpec.tmbundle/Snippets/response_should_be_success.tmSnippet
  31. +17 −0 RSpec.tmbundle/Snippets/response_should_not_be_success.tmSnippet
  32. +18 −0 RSpec.tmbundle/Snippets/setup.tmSnippet
  33. +17 −0 RSpec.tmbundle/Snippets/should ==.tmSnippet
  34. +17 −0 RSpec.tmbundle/Snippets/should =~.tmSnippet
  35. +17 −0 RSpec.tmbundle/Snippets/should eql.tmSnippet
  36. +17 −0 RSpec.tmbundle/Snippets/should_be.tmSnippet
  37. +17 −0 RSpec.tmbundle/Snippets/should_be_a_kind_of.tmSnippet
  38. +17 −0 RSpec.tmbundle/Snippets/should_be_an_instance_of.tmSnippet
  39. +17 −0 RSpec.tmbundle/Snippets/should_be_close.tmSnippet
  40. +17 −0 RSpec.tmbundle/Snippets/should_be_redirect.tmSnippet
  41. +17 −0 RSpec.tmbundle/Snippets/should_equal.tmSnippet
  42. +17 −0 RSpec.tmbundle/Snippets/should_have.tmSnippet
  43. +17 −0 RSpec.tmbundle/Snippets/should_have_at_least.tmSnippet
  44. +17 −0 RSpec.tmbundle/Snippets/should_have_at_most.tmSnippet
  45. +17 −0 RSpec.tmbundle/Snippets/should_have_records.tmSnippet
  46. +17 −0 RSpec.tmbundle/Snippets/should_match.tmSnippet
  47. +17 −0 RSpec.tmbundle/Snippets/should_not ==.tmSnippet
  48. +17 −0 RSpec.tmbundle/Snippets/should_not =~.tmSnippet
  49. +17 −0 RSpec.tmbundle/Snippets/should_not eql.tmSnippet
  50. +17 −0 RSpec.tmbundle/Snippets/should_not_be.tmSnippet
  51. +17 −0 RSpec.tmbundle/Snippets/should_not_be_a_kind_of.tmSnippet
  52. +17 −0 RSpec.tmbundle/Snippets/should_not_be_an_instance_of.tmSnippet
  53. +17 −0 RSpec.tmbundle/Snippets/should_not_be_close.tmSnippet
  54. +17 −0 RSpec.tmbundle/Snippets/should_not_be_redirect.tmSnippet
  55. +17 −0 RSpec.tmbundle/Snippets/should_not_equal.tmSnippet
  56. +17 −0 RSpec.tmbundle/Snippets/should_not_match.tmSnippet
  57. +17 −0 RSpec.tmbundle/Snippets/should_not_predicate.tmSnippet
  58. +17 −0 RSpec.tmbundle/Snippets/should_not_raise.tmSnippet
  59. +18 −0 RSpec.tmbundle/Snippets/should_not_receive.tmSnippet
  60. +17 −0 RSpec.tmbundle/Snippets/should_not_respond_to.tmSnippet
  61. +17 −0 RSpec.tmbundle/Snippets/should_not_satisfy.tmSnippet
  62. +17 −0 RSpec.tmbundle/Snippets/should_not_throw.tmSnippet
  63. +17 −0 RSpec.tmbundle/Snippets/should_predicate.tmSnippet
  64. +17 −0 RSpec.tmbundle/Snippets/should_raise.tmSnippet
  65. +18 −0 RSpec.tmbundle/Snippets/should_receive.tmSnippet
  66. +18 −0 RSpec.tmbundle/Snippets/should_receive_with_args.tmSnippet
  67. +17 −0 RSpec.tmbundle/Snippets/should_redirect_to.tmSnippet
  68. +17 −0 RSpec.tmbundle/Snippets/should_render.tmSnippet
  69. +17 −0 RSpec.tmbundle/Snippets/should_respond_to.tmSnippet
  70. +17 −0 RSpec.tmbundle/Snippets/should_satisfy.tmSnippet
  71. +17 −0 RSpec.tmbundle/Snippets/should_throw.tmSnippet
  72. +18 −0 RSpec.tmbundle/Snippets/teardown.tmSnippet
  73. +16 −0 RSpec.tmbundle/Snippets/twice.tmSnippet
  74. +10 −0 RSpec.tmbundle/Support/Rakefile
  75. +9 −0 RSpec.tmbundle/Support/fixtures/example_failing_spec.rb
  76. +9 −0 RSpec.tmbundle/Support/fixtures/example_passing_spec.rb
  77. +17 −0 RSpec.tmbundle/Support/lib/spec/mate.rb
  78. +39 −0 RSpec.tmbundle/Support/lib/spec/mate/runner.rb
  79. +121 −0 RSpec.tmbundle/Support/lib/spec/mate/switch_command.rb
  80. +14 −0 RSpec.tmbundle/Support/lib/spec/mate/text_mate_formatter.rb
  81. +101 −0 RSpec.tmbundle/Support/spec/spec/mate/runner_spec.rb
  82. +178 −0 RSpec.tmbundle/Support/spec/spec/mate/switch_command_spec.rb
  83. +13 −0 RSpec.tmbundle/Support/spec/spec_helper.rb
  84. +140 −0 RSpec.tmbundle/Syntaxes/RSpec.tmLanguage
  85. +287 −0 RSpec.tmbundle/info.plist
  86. +61 −0 Rakefile
  87. +5 −0 doc/config.yaml
  88. +6 −0 doc/docspec.rb
  89. +109 −0 doc/metainfo.yaml
  90. +50 −0 doc/plugin/breadcrumbs.rb
  91. +132 −0 doc/plugin/rspec_content.rb
  92. +12 −0 doc/plugin/svn_tag.rb
  93. +16 −0 doc/plugin/syntax.rb
  94. +12 −0 doc/plugin/version.rb
  95. +86 −0 doc/src/breadcrumbs.css
  96. +1 −0  doc/src/changes.page
  97. +81 −0 doc/src/community/contribute.page
  98. +243 −0 doc/src/community/index.page
  99. +233 −0 doc/src/default.css
  100. +44 −0 doc/src/default.template
  101. +96 −0 doc/src/documentation/before_and_after.page
  102. +6 −0 doc/src/documentation/expectations.page
  103. +271 −0 doc/src/documentation/index.page
  104. +60 −0 doc/src/documentation/mocks/index.page
  105. +337 −0 doc/src/documentation/mocks/mocks.page
  106. +56 −0 doc/src/documentation/mocks/other_frameworks.page
  107. +25 −0 doc/src/documentation/mocks/partial_mocks.page
  108. +62 −0 doc/src/documentation/mocks/stubs.page
  109. +26 −0 doc/src/documentation/rails/generators.page
  110. +95 −0 doc/src/documentation/rails/index.page
  111. +121 −0 doc/src/documentation/rails/install.page
  112. +69 −0 doc/src/documentation/rails/runners.page
  113. +157 −0 doc/src/documentation/rails/writing/controllers.page
  114. +23 −0 doc/src/documentation/rails/writing/helpers.page
  115. +35 −0 doc/src/documentation/rails/writing/index.page
  116. +10 −0 doc/src/documentation/rails/writing/integration.page
  117. +33 −0 doc/src/documentation/rails/writing/models.page
  118. +21 −0 doc/src/documentation/rails/writing/notes.txt
  119. +114 −0 doc/src/documentation/rails/writing/views.page
  120. +1 −0  doc/src/documentation/specs.page
  121. +1 −0  doc/src/documentation/stories.page
  122. +76 −0 doc/src/documentation/test_unit.page
  123. +51 −0 doc/src/documentation/tools/extensions/editors/index.page
  124. +59 −0 doc/src/documentation/tools/extensions/editors/textmate.page
  125. +14 −0 doc/src/documentation/tools/extensions/index.page
  126. +18 −0 doc/src/documentation/tools/heckle.page
  127. +52 −0 doc/src/documentation/tools/index.page
  128. +34 −0 doc/src/documentation/tools/rake.page
  129. +46 −0 doc/src/documentation/tools/rcov.page
  130. +54 −0 doc/src/documentation/tools/spec.page
  131. +46 −0 doc/src/download.page
  132. +8 −0 doc/src/examples.page
  133. BIN  doc/src/images/David_and_Aslak.jpg
  134. BIN  doc/src/images/Whats_That_Dude.jpg
  135. BIN  doc/src/images/ali_westside.jpg
  136. BIN  doc/src/images/arrow.gif
  137. BIN  doc/src/images/ducks1.png
  138. +767 −0 doc/src/images/test_unit.graffle
  139. BIN  doc/src/images/test_unit.png
  140. +145 −0 doc/src/index.page
  141. +11 −0 doc/src/license.page
  142. +63 −0 doc/src/upgrade.page
  143. +22 −0 example_rails_app/Multirails.rake
  144. +11 −0 example_rails_app/README
  145. +11 −0 example_rails_app/Rakefile
  146. +7 −0 example_rails_app/TODO
  147. +4 −0 example_rails_app/app/controllers/application.rb
  148. +9 −0 example_rails_app/app/controllers/naughty_controller.rb
  149. +35 −0 example_rails_app/app/controllers/people_controller.rb
  150. +3 −0  example_rails_app/app/helpers/application_helper.rb
  151. +18 −0 example_rails_app/app/helpers/people_helper.rb
  152. +3 −0  example_rails_app/app/models/animal.rb
  153. +18 −0 example_rails_app/app/models/person.rb
  154. +1 −0  example_rails_app/app/views/people/_person.rhtml
  155. +1 −0  example_rails_app/app/views/people/_person_spacer.rhtml
  156. +7 −0 example_rails_app/app/views/people/create.rhtml
  157. +22 −0 example_rails_app/app/views/people/list.rhtml
  158. +5 −0 example_rails_app/app/views/people/show.rhtml
  159. +36 −0 example_rails_app/config/boot.rb
  160. +8 −0 example_rails_app/config/database.mysql.yml
  161. +6 −0 example_rails_app/config/database.sqlite3.yml
  162. +68 −0 example_rails_app/config/environment.rb
  163. +18 −0 example_rails_app/config/environments/development.rb
  164. +18 −0 example_rails_app/config/environments/production.rb
  165. +22 −0 example_rails_app/config/environments/test.rb
  166. +3 −0  example_rails_app/config/routes.rb
  167. +12 −0 example_rails_app/db/migrate/001_initial_schema.rb
  168. +13 −0 example_rails_app/db/migrate/002_create_animals.rb
  169. +12 −0 example_rails_app/db/migrate/003_create_things.rb
  170. +15 −0 example_rails_app/db/migrate/004_create_mockables.rb
  171. +6 −0 example_rails_app/db/mysql_setup.sql
  172. +5 −0 example_rails_app/db/mysql_teardown.sql
  173. +2 −0  example_rails_app/doc/README_FOR_APP
  174. +77 −0 example_rails_app/lib/tasks/bootstrap_rspec.rake
  175. +40 −0 example_rails_app/public/.htaccess
  176. +8 −0 example_rails_app/public/404.html
  177. +8 −0 example_rails_app/public/500.html
  178. +10 −0 example_rails_app/public/dispatch.cgi
  179. +24 −0 example_rails_app/public/dispatch.fcgi
  180. +10 −0 example_rails_app/public/dispatch.rb
  181. 0  example_rails_app/public/favicon.ico
  182. BIN  example_rails_app/public/images/rails.png
  183. +277 −0 example_rails_app/public/index.html
  184. +2 −0  example_rails_app/public/javascripts/application.js
  185. +815 −0 example_rails_app/public/javascripts/controls.js
  186. +913 −0 example_rails_app/public/javascripts/dragdrop.js
  187. +958 −0 example_rails_app/public/javascripts/effects.js
  188. +2,006 −0 example_rails_app/public/javascripts/prototype.js
  189. +1 −0  example_rails_app/public/robots.txt
  190. +3 −0  example_rails_app/script/about
  191. +3 −0  example_rails_app/script/breakpointer
  192. +3 −0  example_rails_app/script/console
  193. +3 −0  example_rails_app/script/destroy
  194. +3 −0  example_rails_app/script/generate
  195. +3 −0  example_rails_app/script/performance/benchmarker
  196. +3 −0  example_rails_app/script/performance/profiler
  197. +3 −0  example_rails_app/script/plugin
  198. +3 −0  example_rails_app/script/process/reaper
  199. +3 −0  example_rails_app/script/process/spawner
  200. +3 −0  example_rails_app/script/runner
  201. +3 −0  example_rails_app/script/server
  202. +21 −0 example_rails_app/spec/controllers/naughty_controller_spec.rb
  203. +156 −0 example_rails_app/spec/controllers/people_controller_spec.rb
  204. +8 −0 example_rails_app/spec/fixtures/animals.yml
  205. +3 −0  example_rails_app/spec/fixtures/people.yml
  206. +22 −0 example_rails_app/spec/helpers/people_helper_spec.rb
  207. +74 −0 example_rails_app/spec/models/person_spec.rb
  208. +17 −0 example_rails_app/spec/views/person/create_view_spec.rb
  209. +35 −0 example_rails_app/spec/views/person/list_view_spec.rb
  210. +19 −0 example_rails_app/spec/views/person/show_view_spec.rb
  211. +20 −0 example_rails_app/spec/watir/person_spec.rb
  212. +47 −0 example_rails_app/stories/add_person.rb
  213. +29 −0 example_rails_app/test/test_helper.rb
  214. +4 −0 pre_commit/lib/pre_commit.rb
  215. +47 −0 pre_commit/lib/pre_commit/core.rb
  216. +54 −0 pre_commit/lib/pre_commit/pre_commit.rb
  217. +110 −0 pre_commit/lib/pre_commit/rspec.rb
  218. +309 −0 pre_commit/lib/pre_commit/rspec_on_rails.rb
  219. +15 −0 pre_commit/spec/pre_commit/pre_commit_spec.rb
  220. +36 −0 pre_commit/spec/pre_commit/rspec_on_rails_spec.rb
  221. +3 −0  pre_commit/spec/spec_helper.rb
  222. +11 −0 pre_commit/spec/spec_suite.rb
  223. +968 −0 rspec/CHANGES
  224. +20 −0 rspec/MIT-LICENSE
  225. +75 −0 rspec/README
  226. +273 −0 rspec/Rakefile
  227. +59 −0 rspec/TODO
  228. +31 −0 rspec/UPGRADE
  229. +6 −0 rspec/autotest/discover.rb
  230. +1 −0  rspec/autotest/rspec.rb
  231. +3 −0  rspec/bin/spec
  232. +8 −0 rspec/bin/spec_translator
  233. +19 −0 rspec/examples/auto_spec_description_example.rb
  234. +40 −0 rspec/examples/before_and_after_example.rb
  235. +45 −0 rspec/examples/behave_as_example.rb
  236. +54 −0 rspec/examples/custom_expectation_matchers.rb
  237. +12 −0 rspec/examples/custom_formatter.rb
  238. +9 −0 rspec/examples/dynamic_spec.rb
  239. +19 −0 rspec/examples/file_accessor.rb
  240. +38 −0 rspec/examples/file_accessor_spec.rb
  241. +31 −0 rspec/examples/greeter_spec.rb
  242. +11 −0 rspec/examples/helper_method_example.rb
  243. +8 −0 rspec/examples/io_processor.rb
  244. +21 −0 rspec/examples/io_processor_spec.rb
  245. +11 −0 rspec/examples/legacy_spec.rb
  246. +27 −0 rspec/examples/mocking_example.rb
  247. +27 −0 rspec/examples/multi_threaded_behaviour_runner.rb
  248. +28 −0 rspec/examples/partial_mock_example.rb
  249. +20 −0 rspec/examples/pending_example.rb
  250. +27 −0 rspec/examples/predicate_example.rb
  251. +1 −0  rspec/examples/priority.txt
  252. +39 −0 rspec/examples/shared_behaviours_example.rb
  253. +20 −0 rspec/examples/spec_and_test_together.rb
  254. +3 −0  rspec/examples/spec_helper.rb
  255. +36 −0 rspec/examples/stack.rb
  256. +97 −0 rspec/examples/stack_spec.rb
  257. +13 −0 rspec/examples/stories/adder.rb
  258. +25 −0 rspec/examples/stories/addition
  259. +7 −0 rspec/examples/stories/addition.rb
  260. +55 −0 rspec/examples/stories/calculator.rb
  261. +9 −0 rspec/examples/stories/helper.rb
  262. +16 −0 rspec/examples/stories/steps/addition_steps.rb
  263. +5 −0 rspec/examples/story/game-of-life/.loadpath
  264. +21 −0 rspec/examples/story/game-of-life/README.txt
  265. +6 −0 rspec/examples/story/game-of-life/behaviour/everything.rb
  266. +3 −0  rspec/examples/story/game-of-life/behaviour/examples/examples.rb
  267. +35 −0 rspec/examples/story/game-of-life/behaviour/examples/game_behaviour.rb
  268. +66 −0 rspec/examples/story/game-of-life/behaviour/examples/grid_behaviour.rb
  269. +21 −0 rspec/examples/story/game-of-life/behaviour/stories/CellsWithLessThanTwoNeighboursDie.story
  270. +21 −0 rspec/examples/story/game-of-life/behaviour/stories/CellsWithMoreThanThreeNeighboursDie.story
  271. +42 −0 rspec/examples/story/game-of-life/behaviour/stories/EmptySpacesWithThreeNeighboursCreateACell.story
  272. +42 −0 rspec/examples/story/game-of-life/behaviour/stories/ICanCreateACell.story
  273. +17 −0 rspec/examples/story/game-of-life/behaviour/stories/ICanKillACell.story
  274. +53 −0 rspec/examples/story/game-of-life/behaviour/stories/TheGridWraps.story
  275. +52 −0 rspec/examples/story/game-of-life/behaviour/stories/create_a_cell.rb
  276. +24 −0 rspec/examples/story/game-of-life/behaviour/stories/kill_a_cell.rb
  277. +7 −0 rspec/examples/story/game-of-life/behaviour/stories/stories.rb
  278. +22 −0 rspec/examples/story/game-of-life/behaviour/stories/stories.txt
  279. +3 −0  rspec/examples/story/game-of-life/life.rb
  280. +23 −0 rspec/examples/story/game-of-life/life/game.rb
  281. +43 −0 rspec/examples/story/game-of-life/life/grid.rb
  282. +69 −0 rspec/examples/stubbing_example.rb
  283. +26 −0 rspec/examples/test_case_adapter_example.rb
  284. +36 −0 rspec/failing_examples/diffing_spec.rb
  285. +10 −0 rspec/failing_examples/failure_in_setup.rb
  286. +10 −0 rspec/failing_examples/failure_in_teardown.rb
  287. +40 −0 rspec/failing_examples/mocking_example.rb
  288. +26 −0 rspec/failing_examples/mocking_with_flexmock.rb
  289. +25 −0 rspec/failing_examples/mocking_with_mocha.rb
  290. +27 −0 rspec/failing_examples/mocking_with_rr.rb
  291. +20 −0 rspec/failing_examples/partial_mock_example.rb
  292. +29 −0 rspec/failing_examples/predicate_example.rb
  293. +47 −0 rspec/failing_examples/raising_example.rb
  294. +3 −0  rspec/failing_examples/spec_helper.rb
  295. +7 −0 rspec/failing_examples/syntax_error_example.rb
  296. +44 −0 rspec/failing_examples/team_spec.rb
  297. +7 −0 rspec/failing_examples/timeout_behaviour.rb
  298. +3 −0  rspec/init.rb
  299. +3 −0  rspec/lib/autotest/discover.rb
  300. +94 −0 rspec/lib/autotest/rspec.rb
Sorry, we could not display the entire diff because too many files (689) changed.
1  README
@@ -0,0 +1 @@
+See rspec/README.
25 RSpec.tmbundle/Commands/Alternate File.tmCommand
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>nop</string>
+ <key>command</key>
+ <string>#!/usr/bin/env ruby
+
+require ENV['TM_BUNDLE_SUPPORT'] + "/lib/spec/mate/switch_command"
+Spec::Mate::SwitchCommand.new.go_to_twin(ENV['TM_PROJECT_DIRECTORY'], ENV['TM_FILEPATH'])</string>
+ <key>input</key>
+ <string>none</string>
+ <key>keyEquivalent</key>
+ <string>^$</string>
+ <key>name</key>
+ <string>Alternate File</string>
+ <key>output</key>
+ <string>showAsTooltip</string>
+ <key>scope</key>
+ <string>source.ruby, text.html.ruby</string>
+ <key>uuid</key>
+ <string>0C96C910-0A83-4AFE-AEF7-1F4882A00232</string>
+</dict>
+</plist>
28 RSpec.tmbundle/Commands/Run Focussed Specification.tmCommand
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>saveActiveFile</string>
+ <key>command</key>
+ <string>#!/usr/bin/env ruby
+
+require ENV['TM_BUNDLE_SUPPORT'] + "/lib/spec/mate"
+Spec::Mate::Runner.new.run_focussed STDOUT
+</string>
+ <key>fallbackInput</key>
+ <string>line</string>
+ <key>input</key>
+ <string>document</string>
+ <key>keyEquivalent</key>
+ <string>@R</string>
+ <key>name</key>
+ <string>Run Focused Example</string>
+ <key>output</key>
+ <string>showAsHTML</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>uuid</key>
+ <string>240FDD9D-CD49-4917-9003-80A3E1DADFBA</string>
+</dict>
+</plist>
27 RSpec.tmbundle/Commands/Run Specifications - Normal.tmCommand
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>saveActiveFile</string>
+ <key>command</key>
+ <string>#!/usr/bin/env ruby
+
+require ENV['TM_BUNDLE_SUPPORT'] + "/lib/spec/mate"
+Spec::Mate::Runner.new.run_file STDOUT</string>
+ <key>fallbackInput</key>
+ <string>document</string>
+ <key>input</key>
+ <string>document</string>
+ <key>keyEquivalent</key>
+ <string>@r</string>
+ <key>name</key>
+ <string>Run Behaviour Description</string>
+ <key>output</key>
+ <string>showAsHTML</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>uuid</key>
+ <string>B5906021-8E54-4863-A13B-EA46333DB5F1</string>
+</dict>
+</plist>
26 RSpec.tmbundle/Commands/Run Specifications in selected files or directories.tmCommand
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>beforeRunningCommand</key>
+ <string>saveModifiedFiles</string>
+ <key>command</key>
+ <string>#!/usr/bin/env ruby
+
+require ENV['TM_BUNDLE_SUPPORT'] + "/lib/spec/mate"
+Spec::Mate::Runner.new.run_files STDOUT
+</string>
+ <key>input</key>
+ <string>none</string>
+ <key>keyEquivalent</key>
+ <string>~@r</string>
+ <key>name</key>
+ <string>Run Behaviour Descriptions in selected files/directories</string>
+ <key>output</key>
+ <string>showAsHTML</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>uuid</key>
+ <string>67E726E0-63E2-4840-B8BB-37F665CD34B8</string>
+</dict>
+</plist>
19 RSpec.tmbundle/Preferences/SymbolList-Behaviour.tmPreferences
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Symbol List: Behaviour</string>
+ <key>scope</key>
+ <string>meta.rspec.behaviour</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>s/^\s*(describe)\s+(.+)\s+do\s*$/$2/</string>
+ </dict>
+ <key>uuid</key>
+ <string>28F89786-04F4-43D7-82A6-34B046C2BC6B</string>
+</dict>
+</plist>
19 RSpec.tmbundle/Preferences/SymbolList-Example.tmPreferences
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>name</key>
+ <string>Symbol List: Example</string>
+ <key>scope</key>
+ <string>meta.rspec.example</string>
+ <key>settings</key>
+ <dict>
+ <key>showInSymbolList</key>
+ <integer>1</integer>
+ <key>symbolTransformation</key>
+ <string>s/^\s*(it)\s+(.+)\s+do\s*$/ $2/</string>
+ </dict>
+ <key>uuid</key>
+ <string>57EF6130-05A6-4117-94CB-C0BD63328334</string>
+</dict>
+</plist>
2  RSpec.tmbundle/README
@@ -0,0 +1,2 @@
+Parts of RSpec.tmbundle is based on Florian Weber's TDDMate.
+The license of RSpec.tmbundle is the same as RSpec's.
39 RSpec.tmbundle/Snippets/Custom Matcher.tmSnippet
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>class ${1:ReverseTo}
+ def initialize($3)
+ @$3 = $3
+ end
+
+ def matches?(actual)
+ @actual = actual
+ # Satisfy expectation here. Return false or raise an error if it's not met.
+ ${0:@actual.reverse.should == @$3}
+ true
+ end
+
+ def failure_message
+ "expected #{@actual.inspect} to $2 #{@$3.inspect}, but it didn't"
+ end
+
+ def negative_failure_message
+ "expected #{@actual.inspect} not to $2 #{@$3.inspect}, but it did"
+ end
+end
+
+def ${2:reverse_to}(${3:expected})
+ $1.new($3)
+end</string>
+ <key>name</key>
+ <string>Custom Matcher</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>mat</string>
+ <key>uuid</key>
+ <string>55BF6C99-B4C4-4772-B7DC-0A18407E429C</string>
+</dict>
+</plist>
20 RSpec.tmbundle/Snippets/Describe.tmSnippet
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>describe "${1:description}" do
+ it "should ${2:description}" do
+ $0
+ end
+end</string>
+ <key>name</key>
+ <string>describe (String)</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>des</string>
+ <key>uuid</key>
+ <string>34CBBD13-CE8E-4601-9968-C2CB0D771CA5</string>
+</dict>
+</plist>
20 RSpec.tmbundle/Snippets/Describe_type.tmSnippet
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>describe ${1:Type} do
+ it "should ${2:description}" do
+ $0
+ end
+end</string>
+ <key>name</key>
+ <string>describe (type)</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>dest</string>
+ <key>uuid</key>
+ <string>2ED94046-DAF7-4C91-8D98-771513BB3804</string>
+</dict>
+</plist>
20 RSpec.tmbundle/Snippets/Describe_type_string.tmSnippet
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>describe ${1:Type}, "${2:description}" do
+ it "should ${3:description}" do
+ $0
+ end
+end</string>
+ <key>name</key>
+ <string>describe (type, string)</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>dests</string>
+ <key>uuid</key>
+ <string>ACFE21E0-902B-45C4-BF54-D137718FF61C</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/It.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>it "${2:should ${1:description}}" ${3:do
+ $0
+end}</string>
+ <key>name</key>
+ <string>it</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>it</string>
+ <key>uuid</key>
+ <string>AD51AA2B-09C9-40DE-9720-2FD43C967FA9</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/Require spec_helper.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>require File.dirname(__FILE__) + '/../spec_helper'</string>
+ <key>name</key>
+ <string>Require spec_helper</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>resh</string>
+ <key>uuid</key>
+ <string>DAD2B74D-2105-42B0-9FC5-466F3B3D0DB7</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/Set Controller for Spec.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>controller_name :${1:controller}</string>
+ <key>name</key>
+ <string>controller_name</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>conn</string>
+ <key>uuid</key>
+ <string>57374EB7-6CCE-4281-97A7-289905315351</string>
+</dict>
+</plist>
21 RSpec.tmbundle/Snippets/Story.tmSnippet
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>Story "${1:title}", %{
+ As a${2:role}
+ I want ${3:feature}
+ So that ${4:value}
+} do
+end</string>
+ <key>name</key>
+ <string>Story</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>st</string>
+ <key>uuid</key>
+ <string>73A67D49-CA5B-4B8A-9B62-003506276CDD</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/and_raise.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>and_raise(${1:exception})</string>
+ <key>name</key>
+ <string>and_raise</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>anr</string>
+ <key>uuid</key>
+ <string>65B85B0D-26FC-4A08-8D6A-7BF00AA787FC</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/and_return_block.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>and_return { $1 }</string>
+ <key>name</key>
+ <string>and_return with block</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>anrb</string>
+ <key>uuid</key>
+ <string>C57E9EFD-3FE7-40ED-832E-DD812D1FB769</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/and_return_value.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>and_return(${1:value})</string>
+ <key>name</key>
+ <string>and_return with args</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>anra</string>
+ <key>uuid</key>
+ <string>804A1B15-0756-438F-892F-2B72BE4490F0</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/and_throw.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>and_throw(${1:sym})</string>
+ <key>name</key>
+ <string>and_throw</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>ant</string>
+ <key>uuid</key>
+ <string>2CC293EE-496A-4B66-928C-332DDCBEE884</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/and_yield.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>and_yield(${1:values})</string>
+ <key>name</key>
+ <string>and_yield</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>any</string>
+ <key>uuid</key>
+ <string>ED3A9BE5-8695-44FF-9B6B-A7FF4C13727C</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/any_number_of_times.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>any_number_of_times</string>
+ <key>name</key>
+ <string>any_number_of_times</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>annot</string>
+ <key>uuid</key>
+ <string>D5E64C38-9CBC-4825-9A66-5718DA91AAD6</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/at_least.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>at_least(${1:n}).times</string>
+ <key>name</key>
+ <string>at_least</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>atl</string>
+ <key>uuid</key>
+ <string>F2FDA911-B713-4788-81BF-EF33E9A4FB26</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/at_most.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>at_most(${1:n}).times</string>
+ <key>name</key>
+ <string>at_most</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>atm</string>
+ <key>uuid</key>
+ <string>9A891C8D-4285-4C7D-BA03-6CA50A89F9C0</string>
+</dict>
+</plist>
20 RSpec.tmbundle/Snippets/controller_context.tmSnippet
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>require File.dirname(__FILE__) + '/../spec_helper'
+
+describe ${1:controller} do
+ $0
+end</string>
+ <key>name</key>
+ <string>describe (Controller)</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>desc</string>
+ <key>uuid</key>
+ <string>FC8C2948-3653-41B3-965A-5D0B7C64CB41</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/controller_context_RESTful.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>describe ${1:controller}, "${2:GET|POST|PUT|DELETE} ${3:/some/path}${4: with some parameters}" do
+ $0
+end</string>
+ <key>name</key>
+ <string>describe (RESTful Controller)</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>desrc</string>
+ <key>uuid</key>
+ <string>0ED99C84-1F7B-471E-BB88-B59C5D08FA6B</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/exactly.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>exactly(${1:n}).times</string>
+ <key>name</key>
+ <string>exactly</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>ex</string>
+ <key>uuid</key>
+ <string>1A3662E4-DB9D-4F29-8E42-984755A419FA</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/mock.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:var} = mock("${2:mock_name}"${3:, :null_object =&gt; true})
+$0</string>
+ <key>name</key>
+ <string>mock</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>moc</string>
+ <key>uuid</key>
+ <string>AA3D9F87-FE8F-4808-A732-F368CCB9DED6</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/once.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>once</string>
+ <key>name</key>
+ <string>once</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>on</string>
+ <key>uuid</key>
+ <string>695ECDF3-FEFC-4702-AF71-641E64017907</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/response_should_be_success.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>response.should be_success
+$0</string>
+ <key>name</key>
+ <string>should be_success</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shbs</string>
+ <key>uuid</key>
+ <string>0A118507-983C-4441-8B00-73AF7E931FC5</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/response_should_not_be_success.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>response.should_not be_success
+$0</string>
+ <key>name</key>
+ <string>should_not be_success</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnbs</string>
+ <key>uuid</key>
+ <string>8303E848-4F07-4D3C-98FA-19DA4676812E</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/setup.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>before(${1::each}) do
+ $0
+end</string>
+ <key>name</key>
+ <string>before</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>bef</string>
+ <key>uuid</key>
+ <string>7D960FC5-4859-4328-A06B-73A3CF6763E0</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should ==.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should == ${2:value}
+$0</string>
+ <key>name</key>
+ <string>should ==</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>sh=</string>
+ <key>uuid</key>
+ <string>AF99B458-D589-414D-87C7-8FACD2EF9FD5</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should =~.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should =~ /${2:regexp}/
+$0</string>
+ <key>name</key>
+ <string>should =~</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shm</string>
+ <key>uuid</key>
+ <string>0BD5A07E-5FB3-44A3-991F-ABA04BA632D7</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should eql.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should eql(${2:value})
+$0</string>
+ <key>name</key>
+ <string>should eql</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>she</string>
+ <key>uuid</key>
+ <string>0F03467B-16F7-4764-99C6-B7F123E95E5C</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_be.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should be(${2:result})
+$0</string>
+ <key>name</key>
+ <string>should be</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shb</string>
+ <key>uuid</key>
+ <string>F401AA03-A119-4965-8677-BDAAE8312F13</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_be_a_kind_of.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should be_a_kind_of(${2:klass})
+$0</string>
+ <key>name</key>
+ <string>should be_kind_of</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shbko</string>
+ <key>uuid</key>
+ <string>29BF3286-6D33-418D-9BD5-79BAB0797FE4</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_be_an_instance_of.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should be_instance_of(${2:klass})
+$0</string>
+ <key>name</key>
+ <string>should be_instance_of</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shbio</string>
+ <key>uuid</key>
+ <string>8C5B6597-E115-4569-AE58-EF04042B21CD</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_be_close.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should be_close(${2:result}, ${3:tolerance})
+$0</string>
+ <key>name</key>
+ <string>should be_close</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shbc</string>
+ <key>uuid</key>
+ <string>5A203680-6F32-482F-A6A3-50CB7EE99E0E</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_be_redirect.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>response.should be_redirect
+$0</string>
+ <key>name</key>
+ <string>should be_redirect</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shbr</string>
+ <key>uuid</key>
+ <string>E4DA45B3-736F-40DF-8344-25A79E073730</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_equal.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should equal(${2:value})
+$0</string>
+ <key>name</key>
+ <string>should equal</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>she</string>
+ <key>uuid</key>
+ <string>7DB5AC43-745F-488A-99F1-54CD923DCC38</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_have.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should have(${2:num}).${3:things}
+$0</string>
+ <key>name</key>
+ <string>should have</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shh</string>
+ <key>uuid</key>
+ <string>42B1F497-2BAF-425D-9829-57E35456E7FE</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_have_at_least.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should have_at_least(${2:num}).${3:things}
+$0</string>
+ <key>name</key>
+ <string>should have_at_least</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shhal</string>
+ <key>uuid</key>
+ <string>8A4F8C8E-B347-4D18-9203-247256874C47</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_have_at_most.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should have_at_most(${2:num}).${3:things}
+$0</string>
+ <key>name</key>
+ <string>should have_at_most</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shham</string>
+ <key>uuid</key>
+ <string>1BE271C6-3310-46A8-83E1-88C45BBE27AC</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_have_records.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should have(${2:x}).records
+$0</string>
+ <key>name</key>
+ <string>should have_records</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shhr</string>
+ <key>uuid</key>
+ <string>9605BD4A-93E5-4D57-99FB-D8844D40F183</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_match.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should match(/${2:regexp}/)
+$0</string>
+ <key>name</key>
+ <string>should match</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shm</string>
+ <key>uuid</key>
+ <string>D6CE8D1B-16EC-4E0E-8089-62F193D3D048</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not ==.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not == ${2:value}
+$0</string>
+ <key>name</key>
+ <string>should_not ==</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shn=</string>
+ <key>uuid</key>
+ <string>3A699BC3-3E17-4CFD-844C-2285F971379C</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not =~.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not =~ /${2:regexp}/
+$0</string>
+ <key>name</key>
+ <string>should_not =~</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnm</string>
+ <key>uuid</key>
+ <string>7563CED5-5FD8-454C-972C-AC240D549E8B</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not eql.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not eql(${2:value})
+$0</string>
+ <key>name</key>
+ <string>should_not eql</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shne</string>
+ <key>uuid</key>
+ <string>04BED613-C9EF-4E41-82D7-9958BBDBE0E3</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_be.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not be(${2:result})
+$0</string>
+ <key>name</key>
+ <string>should_not be</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnb</string>
+ <key>uuid</key>
+ <string>BD1CBF13-3A1F-49AB-8B3A-25967B437FD7</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_be_a_kind_of.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not be_a_kind_of(${2:klass})
+$0</string>
+ <key>name</key>
+ <string>should_not be_kind_of</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shkof</string>
+ <key>uuid</key>
+ <string>96C5A0CC-08D9-4DCE-B127-78370964E64E</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_be_an_instance_of.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not be_instance_of(${2:klass})
+$0</string>
+ <key>name</key>
+ <string>should_not be_instance_of</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shbio</string>
+ <key>uuid</key>
+ <string>364B3C9C-409C-4FC8-A12A-9A05CFB476CF</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_be_close.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not be_close(${2:result}, ${3:tolerance})
+$0</string>
+ <key>name</key>
+ <string>should_not be_close</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnbc</string>
+ <key>uuid</key>
+ <string>259BCEC6-878E-411F-A6B7-69B038B75CE1</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_be_redirect.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>response.should_not be_redirect
+$0</string>
+ <key>name</key>
+ <string>should_not be_redirect</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnbr</string>
+ <key>uuid</key>
+ <string>E79DAF3F-8960-47C1-A34C-3D0E4B0AF926</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_equal.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not equal(${2:value})
+$0</string>
+ <key>name</key>
+ <string>should_not equal</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shne</string>
+ <key>uuid</key>
+ <string>A6966089-6A33-4836-B85D-9CB72DBEB0A5</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_match.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not match(/${2:regexp}/)
+$0</string>
+ <key>name</key>
+ <string>should_not match</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnm</string>
+ <key>uuid</key>
+ <string>014285F3-D908-427F-B535-E5A4AEF09339</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_predicate.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not ${2:be_${3:predicate}} $4
+$0</string>
+ <key>name</key>
+ <string>should_not predicate</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnp</string>
+ <key>uuid</key>
+ <string>1D0BB312-A029-4A43-A024-EF6C03506CEC</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_raise.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>lambda { $1 }.should_not raise_error(${2:error})
+$0</string>
+ <key>name</key>
+ <string>should_not raise_error</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnre</string>
+ <key>uuid</key>
+ <string>D6B8DA1B-D07A-4C1E-A27B-59C502104BEA</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/should_not_receive.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:mock}.should_not_receive(:${2:message})$3
+$0
+</string>
+ <key>name</key>
+ <string>should_not_receive</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnr</string>
+ <key>uuid</key>
+ <string>4CBCCACF-D6DA-49A6-9A8E-EC2F9CD15E94</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_respond_to.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not respond_to(:${2:sym})
+$0</string>
+ <key>name</key>
+ <string>should_not respond_to</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnrt</string>
+ <key>uuid</key>
+ <string>E352E5F0-C83B-4C36-AC72-7BFC4F58DBF0</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_satisfy.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should_not satisfy { |obj| $2 }
+$0</string>
+ <key>name</key>
+ <string>should_not satisfy</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shns</string>
+ <key>uuid</key>
+ <string>E573AF3E-F301-4105-ACA3-C9913431E6ED</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_not_throw.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>lambda { $1 }.should_not throw_symbol(:${2:symbol})
+$0</string>
+ <key>name</key>
+ <string>should_not throw</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shnt</string>
+ <key>uuid</key>
+ <string>EF7CD2D2-68BC-425B-9C49-7E3597EFE804</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_predicate.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should ${2:be_${3:predicate}} $4
+$0</string>
+ <key>name</key>
+ <string>should predicate</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shp</string>
+ <key>uuid</key>
+ <string>FCFC8C47-F477-4674-BFDD-2E0B8D475CE0</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_raise.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>lambda { $1 }.should raise_error(${2:error})
+$0</string>
+ <key>name</key>
+ <string>should raise_error</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shre</string>
+ <key>uuid</key>
+ <string>813263F0-A2C0-465F-A617-69ECBAF8F7DD</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/should_receive.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:mock}.should_receive(:${2:message})$3
+$0
+</string>
+ <key>name</key>
+ <string>should_receive</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shr</string>
+ <key>uuid</key>
+ <string>0A7E08E5-4756-49BA-B015-FB3A4D11EA45</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/should_receive_with_args.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>with(${1:args})
+$0
+</string>
+ <key>name</key>
+ <string>with args</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>wia</string>
+ <key>uuid</key>
+ <string>3F3E8066-8C1A-40D1-85C7-9DC18C6A34BA</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_redirect_to.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>response.should redirect_to(${1:url})
+$0</string>
+ <key>name</key>
+ <string>should redirect_to</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shrt</string>
+ <key>uuid</key>
+ <string>96F0A193-32F1-4A75-9093-5D20E36593EC</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_render.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>response.should render_template(:${1:template})
+$0</string>
+ <key>name</key>
+ <string>should render_template</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shrt</string>
+ <key>uuid</key>
+ <string>647C94D6-42FE-40F0-8618-73F7725BF59E</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_respond_to.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should respond_to(:${2:sym})
+$0</string>
+ <key>name</key>
+ <string>should respond_to</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shrt</string>
+ <key>uuid</key>
+ <string>D139CA8C-AACC-4314-AB86-BB3021D31B12</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_satisfy.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>${1:target}.should satisfy { |obj| $2 }
+$0</string>
+ <key>name</key>
+ <string>should satisfy</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>shs</string>
+ <key>uuid</key>
+ <string>3FF9AC90-799D-4BFD-8203-58199A1AD429</string>
+</dict>
+</plist>
17 RSpec.tmbundle/Snippets/should_throw.tmSnippet
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>lambda { $1 }.should throw_symbol(:${2:symbol})
+$0</string>
+ <key>name</key>
+ <string>should throw</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>sht</string>
+ <key>uuid</key>
+ <string>C41E8AD6-00F5-44E7-9809-F79666FE79F0</string>
+</dict>
+</plist>
18 RSpec.tmbundle/Snippets/teardown.tmSnippet
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>after(${1::each}) do
+ $0
+end</string>
+ <key>name</key>
+ <string>after</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>aft</string>
+ <key>uuid</key>
+ <string>1201777F-3AC4-4B2A-9A46-C215F891B07A</string>
+</dict>
+</plist>
16 RSpec.tmbundle/Snippets/twice.tmSnippet
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>content</key>
+ <string>twice</string>
+ <key>name</key>
+ <string>twice</string>
+ <key>scope</key>
+ <string>source.ruby.rspec</string>
+ <key>tabTrigger</key>
+ <string>tw</string>
+ <key>uuid</key>
+ <string>85E6D1EE-74A4-4B4A-8A00-942B788FF599</string>
+</dict>
+</plist>
10 RSpec.tmbundle/Support/Rakefile
@@ -0,0 +1,10 @@
+$:.unshift(File.dirname(__FILE__) + '/../../rspec/lib')
+require 'rubygems'
+require 'spec/rake/spectask'
+
+desc "Run all specs"
+Spec::Rake::SpecTask.new do |t|
+ t.rcov = true
+ t.spec_opts = ['--colour', '--diff']
+ t.rcov_opts = ['--exclude', 'rspec\/plugins,rspec\/lib\/spec,spec\/spec,fixtures,bin\/spec']
+end
9 RSpec.tmbundle/Support/fixtures/example_failing_spec.rb
@@ -0,0 +1,9 @@
+describe "An example failing spec" do
+ it "should fail" do
+ true.should be_false
+ end
+
+ it "should also fail" do
+ false.should be_true
+ end
+end
9 RSpec.tmbundle/Support/fixtures/example_passing_spec.rb
@@ -0,0 +1,9 @@
+describe "An example failing spec" do
+ it "should pass" do
+ true.should be_true
+ end
+
+ it "should pass too" do
+ false.should be_false
+ end
+end
17 RSpec.tmbundle/Support/lib/spec/mate.rb
@@ -0,0 +1,17 @@
+# This is based on Florian Weber's TDDMate
+require 'rubygems'
+
+rspec_rails_plugin = File.join(ENV['TM_PROJECT_DIRECTORY'],'vendor','plugins','rspec','lib')
+if File.directory?(rspec_rails_plugin)
+ $LOAD_PATH.unshift(rspec_rails_plugin)
+elsif ENV['TM_RSPEC_HOME']
+ rspec_lib = File.join(ENV['TM_RSPEC_HOME'], 'lib')
+ raise "TM_RSPEC_HOME points to a bad location: #{ENV['TM_RSPEC_HOME']}" unless File.directory?(rspec_lib)
+ $LOAD_PATH.unshift(rspec_lib)
+end
+require 'spec'
+
+$LOAD_PATH.unshift(File.dirname(__FILE__) + '/..')
+require 'spec/mate/runner'
+require 'spec/mate/switch_command'
+require 'spec/mate/text_mate_formatter'
39 RSpec.tmbundle/Support/lib/spec/mate/runner.rb
@@ -0,0 +1,39 @@
+module Spec
+ module Mate
+ class Runner
+ def run_files(stdout, options={})
+ files = ENV['TM_SELECTED_FILES'].split(" ").map{|p| p[1..-2]}
+ options.merge!({:files => files})
+ run(stdout, options)
+ end
+
+ def run_file(stdout, options={})
+ options.merge!({:files => [single_file]})
+ run(stdout, options)
+ end
+
+ def run_focussed(stdout, options={})
+ options.merge!({:files => [single_file], :line => ENV['TM_LINE_NUMBER']})
+ run(stdout, options)
+ end
+
+ def single_file
+ ENV['TM_FILEPATH'][ENV['TM_PROJECT_DIRECTORY'].length+1..-1]
+ end
+
+ def run(stdout, options)
+ argv = options[:files].dup
+ argv << '--format'
+ argv << 'Spec::Mate::TextMateFormatter'
+ if options[:line]
+ argv << '--line'
+ argv << options[:line]
+ end
+ argv += ENV['TM_RSPEC_OPTS'].split(" ") if ENV['TM_RSPEC_OPTS']
+ Dir.chdir(ENV['TM_PROJECT_DIRECTORY']) do
+ ::Spec::Runner::CommandLine.run(::Spec::Runner::OptionParser.parse(argv, STDERR, stdout))
+ end
+ end
+ end
+ end
+end
121 RSpec.tmbundle/Support/lib/spec/mate/switch_command.rb
@@ -0,0 +1,121 @@
+module Spec
+ module Mate
+ # This is based on Ruy Asan's initial code:
+ # http://ruy.ca/posts/6-A-simple-switch-between-source-and-spec-file-command-for-textmate-with-auto-creation-
+ class SwitchCommand
+ def go_to_twin(project_directory, filepath)
+ other = twin(filepath)
+ if File.file?(other)
+ %x{ "$TM_SUPPORT_PATH/bin/mate" "#{other}" }
+ else
+ relative = other[project_directory.length+1..-1]
+ file_type = file_type(other)
+ if create?(relative, file_type)
+ content = content_for(file_type, relative)
+ write_and_open(other, content)
+ end
+ end
+ end
+
+ def twin(path)
+ if path =~ /^(.*?)\/(lib|app|spec)\/(.*?)$/
+ prefix, parent, rest = $1, $2, $3
+
+ case parent
+ when 'lib', 'app' then
+ path = path.gsub(/\/app\//, "/spec/")
+ path = path.gsub(/\/lib\//, "/spec/")
+ path = path.gsub(/\.rb$/, "_spec.rb")
+ path = path.gsub(/\.erb$/, ".erb_spec.rb")
+ path = path.gsub(/\.rhtml$/, ".rhtml_spec.rb")
+ when 'spec' then
+ new_parent = rails?(prefix) ? "app" : "lib"
+ path = path.gsub(/\.rhtml_spec\.rb$/, ".rhtml")
+ path = path.gsub(/\.erb_spec\.rb$/, ".erb")
+ path = path.gsub(/_spec\.rb$/, ".rb")
+ path = path.gsub(/\/spec\//, "/#{new_parent}/")
+ end
+ return path
+ end
+ end
+
+ def file_type(path)
+ if path =~ /^(.*?)\/(spec)\/(controllers|helpers|models|views)\/(.*?)$/
+ return "#{$3[0..-2]} spec"
+ end
+ if path =~ /^(.*?)\/(app)\/(controllers|helpers|models|views)\/(.*?)$/
+ return $3[0..-2]
+ end
+ if path =~ /_spec\.rb$/
+ return "spec"
+ end
+ "file"
+ end
+
+ def rails?(prefix)
+ File.exist?(File.join(prefix, 'config', 'boot.rb'))
+ end
+
+ def create?(relative_twin, file_type)
+ answer = `#{ ENV['TM_SUPPORT_PATH'] }/bin/CocoaDialog.app/Contents/MacOS/CocoaDialog yesno-msgbox --no-cancel --icon document --informative-text "#{relative_twin}" --text "Create missing #{file_type}?"`
+ answer.to_s.chomp == "1"
+ end
+
+ def content_for(file_type, relative_path)
+ case file_type
+ when 'spec' then
+ spec(relative_path)
+ else
+ klass(relative_path)
+ end
+ end
+
+ # Extracts the snippet text
+ def snippet(snippet_name)
+ snippet_file = File.expand_path(File.dirname(__FILE__) + "/../../../../Snippets/#{snippet_name}")
+ xml = File.open(snippet_file).read
+ xml.match(/<key>content<\/key>\s*<string>([^<]*)<\/string>/m)[1]
+ end
+
+ def spec(path)
+ depth = "/.." * (path.split('/').length - 2)
+ header = "require File.dirname(__FILE__) + '#{depth}/spec_helper'"
+ snippet_name = "Describe_type.tmSnippet"
+ content = <<-SPEC
+#{header}
+
+#{snippet(snippet_name)}
+SPEC
+ end
+
+ def klass(relative_path)
+ parts = relative_path.split('/')
+ lib_index = parts.index('lib')
+ parts = parts[lib_index+1..-1]
+ lines = Array.new(parts.length*2)
+ parts.each_with_index do |part, n|
+ part = part.capitalize
+ indent = " " * n
+ line = if part =~ /(.*)\.rb/
+ part = $1
+ "#{indent}class #{part}"
+ else
+ "#{indent}module #{part}"
+ end
+ lines[n] = line
+ lines[lines.length-(n+1)] = "#{indent}end"
+ end
+ lines.join("\n") + "\n"
+ end
+
+ def write_and_open(path, content)
+ `mkdir -p "#{File.dirname(path)}"`
+ `touch "#{path}"`
+ `osascript &>/dev/null -e 'tell app "SystemUIServer" to activate' -e 'tell app "TextMate" to activate'`
+ `"$TM_SUPPORT_PATH/bin/mate" "#{path}"`
+ escaped_content = content.gsub("\n","\\n").gsub('$','\\$').gsub('"','\\\\\\\\\\\\"')
+ `osascript &>/dev/null -e "tell app \\"TextMate\\" to insert \\"#{escaped_content}\\" as snippet true"`
+ end
+ end
+ end
+end
14 RSpec.tmbundle/Support/lib/spec/mate/text_mate_formatter.rb
@@ -0,0 +1,14 @@
+require 'spec/runner/formatter/html_formatter'
+
+module Spec
+ module Mate
+ # Formats backtraces so they're clickable by TextMate
+ class TextMateFormatter < Spec::Runner::Formatter::HtmlFormatter
+ def backtrace_line(line)
+ line.gsub(/([^:]*\.rb):(\d*)/) do
+ "<a href=\"txmt://open?url=file://#{File.expand_path($1)}&line=#{$2}\">#{$1}:#{$2}</a> "
+ end
+ end
+ end
+ end
+end
101 RSpec.tmbundle/Support/spec/spec/mate/runner_spec.rb
@@ -0,0 +1,101 @@
+require File.dirname(__FILE__) + '/../../spec_helper'
+
+describe "Spec::Mate::Runner", :shared => true do
+ before(:each) do
+ @first_failing_spec = /fixtures\/example_failing_spec\.rb&line=3/n
+ @second_failing_spec = /fixtures\/example_failing_spec\.rb&line=7/n
+
+ set_env
+ load File.dirname(__FILE__) + '/../../../lib/spec/mate.rb'
+ @spec_mate = Spec::Mate::Runner.new
+
+ @test_runner_io = StringIO.new
+ end
+
+ after(:each) do
+ set_env
+ end
+end
+
+describe "Spec::Mate::Runner#run_file" do
+ it_should_behave_like "Spec::Mate::Runner"
+
+ it "should run whole file when only file specified" do
+ ENV['TM_FILEPATH'] = File.expand_path(File.dirname(__FILE__)) + '/../../../fixtures/example_failing_spec.rb'
+
+ out = StringIO.new
+ @spec_mate.run_file(out)
+ out.rewind
+ html = out.read
+ html.should =~ @first_failing_spec
+ html.should =~ @second_failing_spec
+ end
+end
+
+describe "Spec::Mate::Runner#run_files" do
+ it_should_behave_like "Spec::Mate::Runner"
+
+ it "should run all selected files" do
+ ENV['TM_SELECTED_FILES'] = ['example_failing_spec.rb', 'example_passing_spec.rb'].map do |f|
+ "'" + File.expand_path(File.dirname(__FILE__)) + "/../../../fixtures/#{f}'"
+ end.join(" ")
+
+ out = StringIO.new
+ @spec_mate.run_files(out)
+ out.rewind
+ html = out.read
+
+ html.should =~ @first_failing_spec
+ html.should =~ @second_failing_spec
+ html.should =~ /should pass/
+ html.should =~ /should pass too/
+ end
+end
+
+describe "Spec::Mate::Runner#run_focused" do
+ it_should_behave_like "Spec::Mate::Runner"
+
+ it "should run first spec when file and line 4 specified" do
+ ENV['TM_FILEPATH'] = File.expand_path(File.dirname(__FILE__)) + '/../../../fixtures/example_failing_spec.rb'
+ ENV['TM_LINE_NUMBER'] = '4'
+
+ out = StringIO.new
+ @spec_mate.run_focussed(out)
+ out.rewind
+ html = out.read
+ html.should =~ @first_failing_spec
+ html.should_not =~ @second_failing_spec
+ end
+
+ it "should run first spec when file and line 8 specified" do
+ ENV['TM_FILEPATH'] = File.expand_path(File.dirname(__FILE__)) + '/../../../fixtures/example_failing_spec.rb'
+ ENV['TM_LINE_NUMBER'] = '8'
+
+ out = StringIO.new
+ @spec_mate.run_focussed(out)
+ out.rewind
+ html = out.read
+
+ html.should_not =~ @first_failing_spec
+ html.should =~ @second_failing_spec
+ end
+end
+
+describe "Spec::Mate::Runner error cases" do
+ it_should_behave_like "Spec::Mate::Runner"
+
+ it "should raise exception when TM_PROJECT_DIRECTORY points to bad location" do
+ ENV['TM_PROJECT_DIRECTORY'] = __FILE__ # bad on purpose
+ lambda do
+ load File.dirname(__FILE__) + '/../../../lib/spec/mate.rb'
+ end.should_not raise_error
+ end
+
+ it "should raise exception when TM_RSPEC_HOME points to bad location" do
+ ENV['TM_PROJECT_DIRECTORY'] = __FILE__ # bad on purpose
+ ENV['TM_RSPEC_HOME'] = __FILE__ # bad on purpose
+ lambda do
+ load File.dirname(__FILE__) + '/../lib/spec_mate.rb'
+ end.should raise_error
+ end
+end