teabag 0.4.6 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. data/README.md +83 -92
  2. data/app/assets/javascripts/teabag-jasmine.js +5 -2
  3. data/app/assets/javascripts/teabag-mocha.js +5 -2
  4. data/app/assets/javascripts/teabag-qunit.js +5 -2
  5. data/app/assets/javascripts/teabag/base/reporters/console.coffee +2 -1
  6. data/app/assets/javascripts/teabag/base/reporters/html/progress_view.coffee +1 -1
  7. data/app/controllers/teabag/spec_controller.rb +2 -2
  8. data/app/helpers/teabag/spec_helper.rb +11 -2
  9. data/app/views/teabag/spec/index.html.erb +1 -1
  10. data/bin/teabag +6 -0
  11. data/config/routes.rb +2 -2
  12. data/lib/generators/teabag/install/POST_INSTALL +0 -2
  13. data/lib/generators/teabag/install/install_generator.rb +46 -5
  14. data/lib/generators/teabag/install/templates/env.rb +28 -0
  15. data/lib/generators/teabag/install/templates/{initializer.rb → jasmine/initializer.rb} +5 -13
  16. data/lib/generators/teabag/install/templates/jasmine/spec_helper.coffee +25 -0
  17. data/lib/generators/teabag/install/templates/jasmine/spec_helper.js +25 -0
  18. data/lib/generators/teabag/install/templates/mocha/initializer.rb +58 -0
  19. data/lib/generators/teabag/install/templates/mocha/spec_helper.coffee +25 -0
  20. data/lib/generators/teabag/install/templates/mocha/spec_helper.js +25 -0
  21. data/lib/generators/teabag/install/templates/qunit/initializer.rb +58 -0
  22. data/lib/generators/teabag/install/templates/qunit/test_helper.coffee +24 -0
  23. data/lib/generators/teabag/install/templates/qunit/test_helper.js +24 -0
  24. data/lib/tasks/teabag.rake +1 -1
  25. data/lib/teabag/command_line.rb +96 -0
  26. data/lib/teabag/configuration.rb +25 -35
  27. data/lib/teabag/console.rb +19 -7
  28. data/lib/teabag/drivers/phantomjs/runner.coffee +2 -2
  29. data/lib/teabag/drivers/selenium_driver.rb +2 -2
  30. data/lib/teabag/environment.rb +46 -0
  31. data/lib/teabag/exceptions.rb +1 -0
  32. data/lib/teabag/formatters/base_formatter.rb +5 -0
  33. data/lib/teabag/formatters/dot_formatter.rb +3 -2
  34. data/lib/teabag/formatters/junit_formatter.rb +19 -0
  35. data/lib/teabag/formatters/swayze_or_oprah_formatter.rb +7 -2
  36. data/lib/teabag/formatters/tap_y_formatter.rb +1 -0
  37. data/lib/teabag/runner.rb +1 -1
  38. data/lib/teabag/suite.rb +15 -6
  39. data/lib/teabag/version.rb +1 -1
  40. data/spec/dummy/log/development.log +62925 -0
  41. data/spec/dummy/log/test.log +614 -0
  42. data/spec/dummy/tmp/cache/assets/C35/A30/sprockets%2F29906bf540f7d2e081088494b2554989 +0 -0
  43. data/spec/dummy/tmp/cache/assets/C4E/9B0/sprockets%2Fa807397434c9262c3d62da3e91152184 +0 -0
  44. data/spec/dummy/tmp/cache/assets/C59/250/sprockets%2Fa80d3fe493d2476e58c4323996064512 +0 -0
  45. data/spec/dummy/tmp/cache/assets/C72/150/sprockets%2F4194031b4b51b6422c14ac697e3455e5 +0 -0
  46. data/spec/dummy/tmp/cache/assets/C75/D50/sprockets%2F5302968a40e08d2c011aa38666d273f6 +0 -0
  47. data/spec/dummy/tmp/cache/assets/C78/F80/sprockets%2F9161622ddd251097a4ab816b8220984c +0 -0
  48. data/spec/dummy/tmp/cache/assets/C7A/EC0/sprockets%2F5c16e4214f5662e1b27932a57c43491b +0 -0
  49. data/spec/dummy/tmp/cache/assets/C89/700/sprockets%2F259935a7704fef0069303ea63fa89408 +0 -0
  50. data/spec/dummy/tmp/cache/assets/C8A/460/sprockets%2F77bffd9959420103906722b404ae8d59 +0 -0
  51. data/spec/dummy/tmp/cache/assets/C91/FA0/sprockets%2F2eb81283f5789ae91a69344552db3856 +0 -0
  52. data/spec/dummy/tmp/cache/assets/C9D/E90/sprockets%2F3045c9533f179d3e1c805d163ed002a0 +0 -0
  53. data/spec/dummy/tmp/cache/assets/CA6/DF0/sprockets%2F7da83747ce56e49393b6b8726587f846 +0 -0
  54. data/spec/dummy/tmp/cache/assets/CA9/C40/sprockets%2F932b7e2cd1e067289ab51190800814df +0 -0
  55. data/spec/dummy/tmp/cache/assets/CAA/0C0/sprockets%2F057b0ce384f16d9202ae84473436cc35 +0 -0
  56. data/spec/dummy/tmp/cache/assets/CAD/410/sprockets%2F651414e5c7e86f05c5108dc71626b25c +0 -0
  57. data/spec/dummy/tmp/cache/assets/CAF/0F0/sprockets%2F6000e67cf3f2377f860c24da7c819701 +0 -0
  58. data/spec/dummy/tmp/cache/assets/CB7/2B0/sprockets%2Fdf3d317564a780186148134f2ddd59a9 +0 -0
  59. data/spec/dummy/tmp/cache/assets/CBB/FA0/sprockets%2F74922109263bdc965b2e9567eec6d154 +0 -0
  60. data/spec/dummy/tmp/cache/assets/CBD/AF0/sprockets%2Fd687ec33822256e9444e8cd04f1b4873 +0 -0
  61. data/spec/dummy/tmp/cache/assets/CBF/630/sprockets%2F707d2db81468088470d476abff35388d +0 -0
  62. data/spec/dummy/tmp/cache/assets/CC1/DB0/sprockets%2F95e6273223502af230a0dbaa25410de8 +0 -0
  63. data/spec/dummy/tmp/cache/assets/CC2/EC0/sprockets%2F76bf80cb571ca530357f78db78167866 +0 -0
  64. data/spec/dummy/tmp/cache/assets/CCE/C50/sprockets%2Fe12774c2fea852112414bb379a71f31a +0 -0
  65. data/spec/dummy/tmp/cache/assets/CD1/620/sprockets%2F06a3eb05fcb4175a679d6084a06026a6 +0 -0
  66. data/spec/dummy/tmp/cache/assets/CD3/460/sprockets%2F7f3f6802b0b309ed142d0b671c9640c4 +0 -0
  67. data/spec/dummy/tmp/cache/assets/CD9/DD0/sprockets%2Fe5774759168a731da1c1149ecf0e1b03 +0 -0
  68. data/spec/dummy/tmp/cache/assets/CE0/090/sprockets%2F48d5d35ae87d0723318b8bc257fa2237 +0 -0
  69. data/spec/dummy/tmp/cache/assets/CE3/1F0/sprockets%2Fe69a515d3a9d14c669be8871012a7d07 +0 -0
  70. data/spec/dummy/tmp/cache/assets/CE6/270/sprockets%2F2c98152560d18470fec8cf4c6829b4d0 +0 -0
  71. data/spec/dummy/tmp/cache/assets/CE6/7C0/sprockets%2Fa03a2c86ce6724be8542295e1cf24798 +0 -0
  72. data/spec/dummy/tmp/cache/assets/CE7/A60/sprockets%2Ff58eee249aa167d23f8220087bb46684 +0 -0
  73. data/spec/dummy/tmp/cache/assets/CE9/9E0/sprockets%2F135480d497ed7e4884462dc0ef0b80d7 +0 -0
  74. data/spec/dummy/tmp/cache/assets/CEB/680/sprockets%2F67f0794ef8c0576d5c7da34f4437305a +0 -0
  75. data/spec/dummy/tmp/cache/assets/CEB/B40/sprockets%2F1150bf8d912aa100a132251eefaf6045 +0 -0
  76. data/spec/dummy/tmp/cache/assets/CF4/6F0/sprockets%2Fed96f92571224b862b84d7078b86ded3 +0 -0
  77. data/spec/dummy/tmp/cache/assets/CF8/780/sprockets%2F8845b81ff27cdb57c835836c9f91a265 +0 -0
  78. data/spec/dummy/tmp/cache/assets/CFA/D20/sprockets%2Fb26796b39b3c5d6ed70be7989637a493 +0 -0
  79. data/spec/dummy/tmp/cache/assets/CFB/210/sprockets%2F9104695bfbf9a9d4b94382e6e90487a9 +0 -0
  80. data/spec/dummy/tmp/cache/assets/CFC/380/sprockets%2Fa7443cbd671446a589867dd5f4a4f989 +0 -0
  81. data/spec/dummy/tmp/cache/assets/D00/110/sprockets%2F6a6353b7723a8b21708e0fbfe04bd422 +0 -0
  82. data/spec/dummy/tmp/cache/assets/D00/F60/sprockets%2F42e279b52511c47d26c0adb125fd04e8 +0 -0
  83. data/spec/dummy/tmp/cache/assets/D03/630/sprockets%2F5d8da32dba6a7be70426a1d554773701 +0 -0
  84. data/spec/dummy/tmp/cache/assets/D04/170/sprockets%2F76ab1dc02e6c7618852708a1e05a2df3 +0 -0
  85. data/spec/dummy/tmp/cache/assets/D04/480/sprockets%2F8bd8f10500b21d2f9d94e4cd1401c936 +0 -0
  86. data/spec/dummy/tmp/cache/assets/D05/8D0/sprockets%2F319f8f235f452343f1ebf03cb262d23d +0 -0
  87. data/spec/dummy/tmp/cache/assets/D09/BF0/sprockets%2F9e6bca5d26f50d9484385d51ba04312c +0 -0
  88. data/spec/dummy/tmp/cache/assets/D0E/570/sprockets%2F90fe371bf8091e88a712124d9cdae260 +0 -0
  89. data/spec/dummy/tmp/cache/assets/D15/750/sprockets%2F8effdd3e668a4036260a3e370f3b6657 +0 -0
  90. data/spec/dummy/tmp/cache/assets/D17/710/sprockets%2Ffa49fb6823d466e79a195e0cd71340c5 +0 -0
  91. data/spec/dummy/tmp/cache/assets/D1A/D30/sprockets%2F815a5177e9edba0c5c996182ef1b3675 +0 -0
  92. data/spec/dummy/tmp/cache/assets/D1D/560/sprockets%2F1ca784ee7ba1922465147e7f8963eae5 +0 -0
  93. data/spec/dummy/tmp/cache/assets/D1E/AA0/sprockets%2F5c8741a556bc955cd36e61c88582b6dc +0 -0
  94. data/spec/dummy/tmp/cache/assets/D31/9C0/sprockets%2Fbd102a4f5a4985c3519dd6ab0295a1c6 +0 -0
  95. data/spec/dummy/tmp/cache/assets/D35/7C0/sprockets%2Ff536a2606eaf7d542c0985104cb62baf +0 -0
  96. data/spec/dummy/tmp/cache/assets/D37/FF0/sprockets%2F96841ca4cfae32c515077f3f5fc303b2 +0 -0
  97. data/spec/dummy/tmp/cache/assets/D3C/840/sprockets%2Fc6202ec91d567a85bd3d46dc43ea9108 +0 -0
  98. data/spec/dummy/tmp/cache/assets/D44/E90/sprockets%2F05cfc0bf7c9938963d1d1c63248db80d +0 -0
  99. data/spec/dummy/tmp/cache/assets/D45/C30/sprockets%2Fcc744877558178a3adb77c441cadce70 +0 -0
  100. data/spec/dummy/tmp/cache/assets/D47/A90/sprockets%2Fe7ca382b607c595ea6505853f7fb63da +0 -0
  101. data/spec/dummy/tmp/cache/assets/D49/1F0/sprockets%2F773b56f87127c6605e7d1d3faf2b6af6 +0 -0
  102. data/spec/dummy/tmp/cache/assets/D49/A10/sprockets%2Fc4656bd995a6f297c26d19b13aadb963 +0 -0
  103. data/spec/dummy/tmp/cache/assets/D50/D70/sprockets%2Fe2a3e6c95b11e0801a4eebae3a026026 +0 -0
  104. data/spec/dummy/tmp/cache/assets/D51/400/sprockets%2Ff5e433d8a31e80985b75ce598de236be +0 -0
  105. data/spec/dummy/tmp/cache/assets/D5C/710/sprockets%2F9427d05cee2caa721241a25a9af1d08f +0 -0
  106. data/spec/dummy/tmp/cache/assets/D5C/CC0/sprockets%2Faa8bf6de211f2765b0a26f112b971f0c +0 -0
  107. data/spec/dummy/tmp/cache/assets/D5E/FA0/sprockets%2Fc81c371ae2d61a6aa1708262fba79e0d +0 -0
  108. data/spec/dummy/tmp/cache/assets/D61/1F0/sprockets%2F0c7a6176d2fc4db00bb9a74d36380fe1 +0 -0
  109. data/spec/dummy/tmp/cache/assets/D67/BC0/sprockets%2F35d2c2b45981ade5a2db2a9c7f37a615 +0 -0
  110. data/spec/dummy/tmp/cache/assets/D69/F90/sprockets%2F6a0795b7b38bd7e6142cd1b88211dade +0 -0
  111. data/spec/dummy/tmp/cache/assets/D6A/950/sprockets%2F429b1806cb7580ebf29f9a12c33cbea6 +0 -0
  112. data/spec/dummy/tmp/cache/assets/D6B/6E0/sprockets%2F266d99da1afe084cac250a6ba864c565 +0 -0
  113. data/spec/dummy/tmp/cache/assets/D6D/DA0/sprockets%2Fac936bf40b42227a2bf9d474ae9ec149 +0 -0
  114. data/spec/dummy/tmp/cache/assets/D6F/5B0/sprockets%2F5dcc801a7a6c340c5baf525839f9b8b6 +0 -0
  115. data/spec/dummy/tmp/cache/assets/D77/B30/sprockets%2F946cf2f17c7eb41037f9ee08ad67ec40 +0 -0
  116. data/spec/dummy/tmp/cache/assets/D78/2F0/sprockets%2F3c61f8915b8f717b1de788e6ecad122c +0 -0
  117. data/spec/dummy/tmp/cache/assets/D7E/C10/sprockets%2F747c98c3cc7494a62dd882752adffb2b +0 -0
  118. data/spec/dummy/tmp/cache/assets/D8C/520/sprockets%2F221cd58a042baac534d27e4cfedc1188 +0 -0
  119. data/spec/dummy/tmp/cache/assets/D93/BD0/sprockets%2Ff5e1b60201e08e3ddf8d3de5211f3d5e +0 -0
  120. data/spec/dummy/tmp/cache/assets/DA0/330/sprockets%2Fcbbb4de706387d50f48a72ee6c9c1b80 +0 -0
  121. data/spec/dummy/tmp/cache/assets/DA5/0A0/sprockets%2F7a4b5928cec69ab65afff309a04d6b47 +0 -0
  122. data/spec/dummy/tmp/cache/assets/DA9/BF0/sprockets%2Fc59f8f7bf494fe030610bc86bb7cc5e5 +0 -0
  123. data/spec/dummy/tmp/cache/assets/DAC/9B0/sprockets%2F5e58701704fefbc8f88ae24c549fab6b +0 -0
  124. data/spec/dummy/tmp/cache/assets/DAE/6C0/sprockets%2F77c7a8676aeefa73156c55dfcf51cc46 +0 -0
  125. data/spec/dummy/tmp/cache/assets/DB3/5D0/sprockets%2Fce1d4d75832c9bdeafd869f6f7b61725 +0 -0
  126. data/spec/dummy/tmp/cache/assets/DB4/1F0/sprockets%2F69ad2749d7bfe831c0e74e7d7fc4dc57 +0 -0
  127. data/spec/dummy/tmp/cache/assets/DB5/040/sprockets%2F9a9da5df88713663b9fbc945facca891 +0 -0
  128. data/spec/dummy/tmp/cache/assets/DC3/230/sprockets%2Fdf52e72eb73be91eccc60182191aed0b +0 -0
  129. data/spec/dummy/tmp/cache/assets/DC7/A10/sprockets%2F84a8af0fcbf401864e1ae5bf092cba94 +0 -0
  130. data/spec/dummy/tmp/cache/assets/DCD/EB0/sprockets%2F4f77f509126ecbced7ea2a5ab290c8d4 +0 -0
  131. data/spec/dummy/tmp/cache/assets/DE4/140/sprockets%2F139e4ab85d1aacb22c115fa136afdc8a +0 -0
  132. data/spec/dummy/tmp/cache/assets/DEB/110/sprockets%2F2dbdab0ce5babca645cdb5780004f875 +0 -0
  133. data/spec/dummy/tmp/cache/assets/DF6/0E0/sprockets%2F85b10db6e1afe643aba6d396abdd77f0 +0 -0
  134. data/spec/dummy/tmp/cache/assets/DF7/E10/sprockets%2F25e4253aba9a9adcefb72552fb1ff0c8 +0 -0
  135. data/spec/dummy/tmp/cache/assets/DFC/C20/sprockets%2Fd9178ad7e3b401c9fceafd64ea2b50d6 +0 -0
  136. data/spec/dummy/tmp/cache/assets/DFC/C30/sprockets%2Fb50a07cb30b0bd0eec8e98e5de79d65d +0 -0
  137. data/spec/dummy/tmp/cache/assets/E02/6E0/sprockets%2F63d6a5cdb8cefa64ef76b5c6e0fd3720 +0 -0
  138. data/spec/dummy/tmp/cache/assets/E08/BB0/sprockets%2Fefac99af1af28543aef6fb607faa4973 +0 -0
  139. data/spec/dummy/tmp/cache/assets/E08/F20/sprockets%2F4fc5cdcd6974efe7adfe809b30bd6513 +0 -0
  140. data/spec/dummy/tmp/cache/assets/E16/D30/sprockets%2Fd69469e6e7439baacd8df989c0fdacc2 +0 -0
  141. data/spec/dummy/tmp/cache/assets/E17/EF0/sprockets%2Fa291ad64a26afd055dfadabbdf03f154 +0 -0
  142. data/spec/dummy/tmp/cache/assets/E2F/790/sprockets%2F7fac280deaa7ef20a77d5c9b5b9cfc34 +0 -0
  143. data/spec/dummy/tmp/cache/assets/E41/250/sprockets%2F97cf8fe3d7ffaff076f655aefb36da03 +0 -0
  144. data/spec/dummy/tmp/cache/assets/E64/1E0/sprockets%2F81ab4c863fbbdec8dd66afc97ebf034d +0 -0
  145. data/spec/dummy/tmp/cache/assets/E6E/260/sprockets%2Fd9f8ab8b91ef582cc6c99a3ba0dedfe6 +0 -0
  146. data/spec/dummy/tmp/cache/assets/F79/360/sprockets%2F0ce035fefee5ebdabc8efabfbdbd6ee4 +0 -0
  147. data/spec/javascripts/spec_helper.coffee +2 -0
  148. data/spec/javascripts/support/json2.js +486 -0
  149. data/spec/javascripts/teabag/base/reporters/console_spec.coffee +14 -2
  150. data/spec/javascripts/teabag/base/teabag_spec.coffee +1 -0
  151. data/spec/javascripts/teabag/mocha/mocha_mspec.coffee +1 -1
  152. data/spec/javascripts/teabag/phantomjs/runner_spec.coffee +1 -0
  153. data/spec/teabag/command_line_spec.rb +50 -0
  154. data/spec/teabag/console_spec.rb +32 -3
  155. data/spec/teabag/drivers/selenium_driver_spec.rb +2 -2
  156. data/spec/teabag/environment_spec.rb +88 -0
  157. data/spec/teabag/formatters/dot_formatter_spec.rb +2 -2
  158. data/spec/teabag/runner_spec.rb +4 -0
  159. data/spec/teabag/suite_spec.rb +8 -2
  160. data/spec/teabag_env.rb +27 -0
  161. metadata +40 -8
  162. data/app/assets/images/teabag/photo-white.jpg +0 -0
  163. data/lib/generators/teabag/install/templates/spec_helper.js +0 -31
@@ -2,7 +2,7 @@ describe "Teabag.Reporters.Console", ->
2
2
 
3
3
  beforeEach ->
4
4
  @logSpy = spyOn(Teabag, "log")
5
- spyOn(Date, "now").andReturn(666)
5
+ spyOn(Date.prototype, "getTime").andReturn(666)
6
6
 
7
7
  @spec =
8
8
  fullDescription: "_spec_description_"
@@ -79,6 +79,18 @@ describe "Teabag.Reporters.Console", ->
79
79
  @reporter.reportSpecResults()
80
80
  expect(@trackSpy).toHaveBeenCalled()
81
81
 
82
+ describe "skipped tests", ->
83
+
84
+ beforeEach ->
85
+ @reportSuitesSpy = spyOn(@reporter, "reportSuites")
86
+ @logSpy = spyOn(@reporter, "log")
87
+ @spec.result = -> {status: "pending", skipped: true}
88
+
89
+ it "doesn't report the suite or log the results", ->
90
+ @reporter.reportSpecResults()
91
+ expect(@reportSuitesSpy).not.toHaveBeenCalled()
92
+ expect(@logSpy).not.toHaveBeenCalled()
93
+
82
94
  describe "failing tests", ->
83
95
 
84
96
  beforeEach ->
@@ -120,7 +132,7 @@ describe "Teabag.Reporters.Console", ->
120
132
  label: "_spec_name_"
121
133
  status: "failed"
122
134
  skipped: false
123
- link: "?grep=_spec_description_"
135
+ link: "_spec_description_"
124
136
  message: "_message_"
125
137
  trace: "_message_"
126
138
 
@@ -3,6 +3,7 @@ describe "Teabag", ->
3
3
  describe "class level API", ->
4
4
 
5
5
  it "has the expected API", ->
6
+ return unless Object.keys # can't test in ie
6
7
  keys = Object.keys(Teabag)
7
8
  # common
8
9
  expect(keys).toContain("defer")
@@ -10,7 +10,7 @@ describe "Teabag running Mocha", ->
10
10
 
11
11
  it "actually tests", ->
12
12
  fixture("fixture.html")
13
- expect(document.getElementById("fixture_view").tagName).to.be("DIV")
13
+ # expect(document.getElementById("fixture_view").tagName).to.be("DIV")
14
14
 
15
15
  it "can handle more than one test", (done) ->
16
16
  test = ->
@@ -117,6 +117,7 @@ describe "PhantomJS Runner", ->
117
117
  describe "#pageCallbacks", ->
118
118
 
119
119
  it "returns an object with the expected methods", ->
120
+ return unless Object.keys
120
121
  object = @runner.pageCallbacks()
121
122
  expect(Object.keys(object)).toEqual(["onError", "onConsoleMessage", "onLoadFinished"])
122
123
 
@@ -0,0 +1,50 @@
1
+ require "spec_helper"
2
+ require "teabag/command_line"
3
+ require "teabag/console"
4
+
5
+ describe Teabag::CommandLine do
6
+
7
+ describe "#initialize" do
8
+
9
+ let(:console) { mock(execute: false) }
10
+ let(:parser) { mock(parse!: ["file1", "file2"]) }
11
+
12
+ before do
13
+ Teabag::CommandLine.any_instance.stub(:abort)
14
+ Teabag::Console.stub(:new).and_return(console)
15
+ Teabag::CommandLine.any_instance.stub(:opt_parser).and_return(parser)
16
+ end
17
+
18
+ it "assigns @options" do
19
+ instance = Teabag::CommandLine.new
20
+ expect(instance.instance_variable_get(:@options)).to eq({})
21
+ end
22
+
23
+ it "assigns @files" do
24
+ instance = Teabag::CommandLine.new
25
+ expect(instance.instance_variable_get(:@files)).to eq(["file1", "file2"])
26
+ end
27
+
28
+ it "aborts with a message on Teabag::EnvironmentNotFound" do
29
+ Teabag::Console.should_receive(:new).and_raise(Teabag::EnvironmentNotFound)
30
+ Teabag::CommandLine.any_instance.should_receive(:abort)
31
+ STDOUT.should_receive(:print).with("Unable to load Teabag environment in {spec/teabag_env.rb, test/teabag_env.rb, teabag_env.rb}.\n")
32
+ STDOUT.should_receive(:print).with("Consider using -r path/to/teabag_env\n")
33
+ Teabag::CommandLine.new
34
+ end
35
+
36
+ it "executes using Teabag::Console" do
37
+ Teabag::Console.should_receive(:new).with({}, ["file1", "file2"])
38
+ console.should_receive(:execute)
39
+ Teabag::CommandLine.new
40
+ end
41
+
42
+ it "aborts if Teabag::Console fails" do
43
+ Teabag::CommandLine.any_instance.should_receive(:abort)
44
+ console.should_receive(:execute).and_return(true)
45
+ Teabag::CommandLine.new
46
+ end
47
+
48
+ end
49
+
50
+ end
@@ -8,6 +8,35 @@ describe Teabag::Console do
8
8
  before do
9
9
  subject.instance_variable_set(:@server, server)
10
10
  subject.instance_variable_set(:@suites, [:default, :foo])
11
+ Teabag::Environment.stub(:load)
12
+ end
13
+
14
+ describe "#initialize" do
15
+
16
+ it "loads the environment" do
17
+ Teabag::Environment.should_receive(:load).once
18
+ Teabag::Console.new()
19
+ end
20
+
21
+ it "assigns @options" do
22
+ options = {foo: "bar"}
23
+ instance = Teabag::Console.new(options)
24
+ expect(instance.instance_variable_get(:@options)).to eql(options)
25
+ end
26
+
27
+ it "assigns @files" do
28
+ files = ["file1"]
29
+ instance = Teabag::Console.new(nil, files)
30
+ expect(instance.instance_variable_get(:@files)).to eql(files)
31
+ end
32
+
33
+ it "assigns @suites" do
34
+ instance = Teabag::Console.new({suite: "foo"})
35
+ expect(instance.instance_variable_get(:@suites)).to eql(["foo"])
36
+ instance = Teabag::Console.new()
37
+ expect(instance.instance_variable_get(:@suites)).to eql(Teabag.configuration.suites.keys)
38
+ end
39
+
11
40
  end
12
41
 
13
42
  describe "#execute" do
@@ -19,8 +48,8 @@ describe Teabag::Console do
19
48
  it "starts the server and calls run" do
20
49
  STDOUT.should_receive(:print).with("Starting server...\n")
21
50
  subject.should_receive(:start_server)
22
- STDOUT.should_receive(:print).with("Teabag running default suite at http://url.com/teabag/default...\n")
23
- STDOUT.should_receive(:print).with("Teabag running foo suite at http://url.com/teabag/foo...\n")
51
+ STDOUT.should_receive(:print).with("Teabag running default suite at http://url.com/teabag/default/?...\n")
52
+ STDOUT.should_receive(:print).with("Teabag running foo suite at http://url.com/teabag/foo/?...\n")
24
53
  subject.should_receive(:run_specs).twice.and_return(2)
25
54
  result = subject.execute
26
55
  expect(result).to be(true)
@@ -50,7 +79,7 @@ describe Teabag::Console do
50
79
  it "calls run_specs on the driver" do
51
80
  driver = mock(run_specs: nil)
52
81
  subject.should_receive(:driver).and_return(driver)
53
- driver.should_receive(:run_specs).with(:suite_name, "http://url.com/teabag/suite_name")
82
+ driver.should_receive(:run_specs).with(:suite_name, "http://url.com/teabag/suite_name/?")
54
83
  subject.run_specs(:suite_name)
55
84
  end
56
85
 
@@ -31,7 +31,7 @@ describe Teabag::Drivers::SeleniumDriver do
31
31
  end
32
32
 
33
33
  it "navigates to the correct url" do
34
- @navigate.should_receive(:to).with("_url_?reporter=Console")
34
+ @navigate.should_receive(:to).with("_url_&reporter=Console")
35
35
  subject.run_specs(:default, "_url_")
36
36
  end
37
37
 
@@ -49,7 +49,7 @@ describe Teabag::Drivers::SeleniumDriver do
49
49
  @block = nil
50
50
  @wait.should_receive(:until) { |&b| @block = b }
51
51
  @driver.should_receive(:execute_script).with("return window.Teabag && window.Teabag.finished").and_return(true)
52
- @driver.should_receive(:execute_script).with("return Teabag.getMessages()").and_return(["_line_"])
52
+ @driver.should_receive(:execute_script).with("return window.Teabag && window.Teabag.getMessages() || []").and_return(["_line_"])
53
53
  Teabag::Runner.any_instance.should_receive(:process).with("_line_\n")
54
54
  subject.run_specs(:default, "_url_")
55
55
  @block.call
@@ -0,0 +1,88 @@
1
+ require "spec_helper"
2
+ require "teabag/environment"
3
+
4
+ describe Teabag::Environment do
5
+
6
+ subject { Teabag::Environment }
7
+
8
+ describe ".load" do
9
+
10
+ it "calls require_environment if Rails isn't available" do
11
+ subject.should_receive(:rails_loaded?).and_return(false)
12
+ subject.should_receive(:require_environment)
13
+ subject.should_receive(:rails_loaded?).and_return(true)
14
+ Teabag::Environment.load
15
+ end
16
+
17
+ it "raises if Rails can't be found" do
18
+ subject.should_receive(:rails_loaded?).twice.and_return(false)
19
+ subject.should_receive(:require_environment)
20
+ expect{ Teabag::Environment.load }.to raise_error("Rails environment not found.")
21
+ end
22
+
23
+ it "calls configure_from_options if the environment is ready" do
24
+ subject.should_receive(:rails_loaded?).and_return(true)
25
+ subject.should_receive(:configure_from_options)
26
+ Teabag::Environment.load
27
+ end
28
+
29
+ end
30
+
31
+ describe ".require_environment" do
32
+
33
+ it "allows passing an override" do
34
+ subject.should_receive(:require_env).with(File.expand_path("override", Dir.pwd))
35
+ subject.require_environment("override")
36
+ end
37
+
38
+ it "looks for the standard files" do
39
+ subject.stub(:require_env)
40
+ File.should_receive(:exists?).with(File.expand_path("spec/teabag_env.rb", Dir.pwd)).and_return(true)
41
+ subject.should_receive(:require_env).with(File.expand_path("spec/teabag_env.rb", Dir.pwd))
42
+ subject.require_environment
43
+
44
+ File.should_receive(:exists?).with(File.expand_path("spec/teabag_env.rb", Dir.pwd)).and_return(false)
45
+ File.should_receive(:exists?).with(File.expand_path("test/teabag_env.rb", Dir.pwd)).and_return(true)
46
+ subject.should_receive(:require_env).with(File.expand_path("test/teabag_env.rb", Dir.pwd))
47
+ subject.require_environment
48
+
49
+ File.should_receive(:exists?).with(File.expand_path("spec/teabag_env.rb", Dir.pwd)).and_return(false)
50
+ File.should_receive(:exists?).with(File.expand_path("test/teabag_env.rb", Dir.pwd)).and_return(false)
51
+ File.should_receive(:exists?).with(File.expand_path("teabag_env.rb", Dir.pwd)).and_return(true)
52
+ subject.should_receive(:require_env).with(File.expand_path("teabag_env.rb", Dir.pwd))
53
+ subject.require_environment
54
+ end
55
+
56
+ it "raises if no env file was found" do
57
+ File.should_receive(:exists?).any_number_of_times.and_return(false)
58
+ expect{ subject.require_environment }.to raise_error(Teabag::EnvironmentNotFound)
59
+ end
60
+ end
61
+
62
+ describe ".standard_environments" do
63
+
64
+ it "returns an array" do
65
+ expect(subject.standard_environments).to eql(["spec/teabag_env.rb", "test/teabag_env.rb", "teabag_env.rb"])
66
+ end
67
+
68
+ end
69
+
70
+ describe ".configure_from_options" do
71
+
72
+ before do
73
+ @stored_configuration = Teabag.configuration.color
74
+ end
75
+
76
+ after do
77
+ Teabag.configuration.color = @stored_configuration
78
+ end
79
+
80
+ it "allows overriding configuration directives from options" do
81
+ Teabag.configuration.color = true
82
+ Teabag::Environment.configure_from_options(color: false)
83
+ expect(Teabag.configuration.color).to be(false)
84
+ end
85
+
86
+ end
87
+
88
+ end
@@ -63,11 +63,11 @@ describe Teabag::Formatters::DotFormatter do
63
63
  describe "with failures" do
64
64
 
65
65
  it "logs the details and raises an exception" do
66
- subject.failures << Teabag::Result.build_from_json("label" => "some spec", "suite" => "full description", "message" => "some message", "link" => "?grep=some%20spec")
66
+ subject.failures << Teabag::Result.build_from_json("label" => "some spec", "suite" => "full description", "message" => "some message", "link" => "full description")
67
67
  expect {
68
68
  subject.result("elapsed" => 0.31337)
69
69
  }.to raise_error(Teabag::Failure)
70
- expect(@log).to eq("\n\nFailures:\n\n 1) full description some spec\n\e[31m Failure/Error: some message\n\e[0m\nFinished in 0.31337 seconds\n\e[31m666 examples, 1 failure\n\e[0m\nFailed examples:\n\e[31m\n/teabag/default?grep=some%20spec\e[0m\n\n")
70
+ expect(@log).to eq("\n\nFailures:\n\n 1) full description some spec\n\e[31m Failure/Error: some message\n\e[0m\nFinished in 0.31337 seconds\n\e[31m666 examples, 1 failure\n\e[0m\nFailed examples:\n\e[31m\nteabag -s default --filter=\"full description\"\e[0m\n\n")
71
71
  expect(subject.failures.length).to be(1)
72
72
  end
73
73
 
@@ -23,6 +23,10 @@ describe Teabag::Runner do
23
23
  Teabag.configuration.formatters = "dot, xml"
24
24
  expect(subject.formatters[0]).to be_a(Teabag::Formatters::DotFormatter)
25
25
  expect(subject.formatters[1]).to be_a(Teabag::Formatters::XmlFormatter)
26
+
27
+ Teabag.configuration.formatters = "dot,xml"
28
+ expect(subject.formatters[0]).to be_a(Teabag::Formatters::DotFormatter)
29
+ expect(subject.formatters[1]).to be_a(Teabag::Formatters::XmlFormatter)
26
30
  end
27
31
 
28
32
  end
@@ -18,7 +18,7 @@ describe Teabag::Suite do
18
18
 
19
19
  it "accepts a suite configuration name" do
20
20
  Teabag.configuration.suite(:test) { |s| s.helper = "helper_file" }
21
- subject = Teabag::Suite.new(:test)
21
+ subject = Teabag::Suite.new({suite: :test})
22
22
  expect(subject.config.helper).to eq("helper_file")
23
23
  end
24
24
 
@@ -28,7 +28,7 @@ describe Teabag::Suite do
28
28
 
29
29
  it "converts file names that are in registered asset paths into usable asset urls" do
30
30
  Teabag.configuration.suite { |s| s.matcher = Teabag::Engine.root.join("spec/javascripts/support/*.*") }
31
- expect(subject.specs).to eq(["support/support.js"])
31
+ expect(subject.specs).to include("support/support.js")
32
32
  end
33
33
 
34
34
  it "raises an AssetNotServable exception if the file can't be served by sprockets" do
@@ -65,6 +65,12 @@ describe Teabag::Suite do
65
65
  expect(results).to include("teabag/base/reporters/console_spec.js")
66
66
  end
67
67
 
68
+ it "returns the file requested if one was passed" do
69
+ subject = Teabag::Suite.new({file: "spec/javascripts/foo.js"})
70
+ results = subject.spec_javascripts
71
+ expect(results).to eql(["spec_helper", "foo.js"])
72
+ end
73
+
68
74
  end
69
75
 
70
76
 
@@ -0,0 +1,27 @@
1
+ # This file allows you to override various Teabag configuration directives when running from the command line. It is not
2
+ # required from within the Rails environment, so overriding directives that have been defined within the initializer
3
+ # is not possible.
4
+ #
5
+ # You can override various configuration directives defined here by using arguments with the teabag command.
6
+ #
7
+ # teabag --driver=selenium --fail_fast=false
8
+ # rake teabag FAIL_FAST=false
9
+ #
10
+ # Set RAILS_ROOT and load the environment.
11
+ ENV["RAILS_ROOT"] = File.expand_path("../dummy", __FILE__)
12
+ require File.expand_path("../dummy/config/environment", __FILE__)
13
+
14
+ Teabag.setup do |config|
15
+ # Driver
16
+ #config.driver = "selenium" # available: phantomjs, selenium
17
+ #config.phantomjs_bin = nil
18
+
19
+ # Behaviors
20
+ #config.server_timeout = 20 # timeout for starting the server
21
+ #config.fail_fast = true # abort after the first failing suite
22
+
23
+ # Output
24
+ #config.formatters = "dot" # available: dot, tap_y, swayze_or_oprah
25
+ #config.suppress_log = false # suppress logs coming from console[log/error/debug]
26
+ #config.color = true
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teabag
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.5.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-12-30 00:00:00.000000000 Z
14
+ date: 2013-01-10 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: railties
@@ -71,11 +71,11 @@ description: Run Javascript tests using Jasmine, Mocha or QUnit in the browser o
71
71
  headlessly using PhantomJS or with Selenium Webdriver
72
72
  email:
73
73
  - info@modeset.com
74
- executables: []
74
+ executables:
75
+ - teabag
75
76
  extensions: []
76
77
  extra_rdoc_files: []
77
78
  files:
78
- - app/assets/images/teabag/photo-white.jpg
79
79
  - app/assets/javascripts/teabag/base/fixture.coffee
80
80
  - app/assets/javascripts/teabag/base/reporters/console.coffee
81
81
  - app/assets/javascripts/teabag/base/reporters/html/base_view.coffee
@@ -104,9 +104,18 @@ files:
104
104
  - config/routes.rb
105
105
  - lib/generators/teabag/install/install_generator.rb
106
106
  - lib/generators/teabag/install/POST_INSTALL
107
- - lib/generators/teabag/install/templates/initializer.rb
108
- - lib/generators/teabag/install/templates/spec_helper.js
107
+ - lib/generators/teabag/install/templates/env.rb
108
+ - lib/generators/teabag/install/templates/jasmine/initializer.rb
109
+ - lib/generators/teabag/install/templates/jasmine/spec_helper.coffee
110
+ - lib/generators/teabag/install/templates/jasmine/spec_helper.js
111
+ - lib/generators/teabag/install/templates/mocha/initializer.rb
112
+ - lib/generators/teabag/install/templates/mocha/spec_helper.coffee
113
+ - lib/generators/teabag/install/templates/mocha/spec_helper.js
114
+ - lib/generators/teabag/install/templates/qunit/initializer.rb
115
+ - lib/generators/teabag/install/templates/qunit/test_helper.coffee
116
+ - lib/generators/teabag/install/templates/qunit/test_helper.js
109
117
  - lib/tasks/teabag.rake
118
+ - lib/teabag/command_line.rb
110
119
  - lib/teabag/configuration.rb
111
120
  - lib/teabag/console.rb
112
121
  - lib/teabag/drivers/base_driver.rb
@@ -114,9 +123,11 @@ files:
114
123
  - lib/teabag/drivers/phantomjs_driver.rb
115
124
  - lib/teabag/drivers/selenium_driver.rb
116
125
  - lib/teabag/engine.rb
126
+ - lib/teabag/environment.rb
117
127
  - lib/teabag/exceptions.rb
118
128
  - lib/teabag/formatters/base_formatter.rb
119
129
  - lib/teabag/formatters/dot_formatter.rb
130
+ - lib/teabag/formatters/junit_formatter.rb
120
131
  - lib/teabag/formatters/swayze_or_oprah_formatter.rb
121
132
  - lib/teabag/formatters/tap_y_formatter.rb
122
133
  - lib/teabag/result.rb
@@ -137,6 +148,7 @@ files:
137
148
  - vendor/assets/javascripts/support/jasmine-jquery.MIT.LICENSE
138
149
  - vendor/assets/javascripts/support/sinon.BSD.LICENSE
139
150
  - vendor/assets/javascripts/support/sinon.js
151
+ - bin/teabag
140
152
  - MIT.LICENSE
141
153
  - README.md
142
154
  - spec/dummy/app/assets/javascripts/application.js
@@ -174,6 +186,7 @@ files:
174
186
  - spec/dummy/tmp/cache/assets/C28/650/sprockets%2F24278fc33d7566396414307f37b119b6
175
187
  - spec/dummy/tmp/cache/assets/C2B/5D0/sprockets%2F98606f6051a5fc71379af24236793353
176
188
  - spec/dummy/tmp/cache/assets/C35/510/sprockets%2Fb5f1121863a3025179f1a621e7127b10
189
+ - spec/dummy/tmp/cache/assets/C35/A30/sprockets%2F29906bf540f7d2e081088494b2554989
177
190
  - spec/dummy/tmp/cache/assets/C46/E90/sprockets%2F006527268e406896b12c930eb572f00a
178
191
  - spec/dummy/tmp/cache/assets/C4A/700/sprockets%2F233efef497080a6a0226928033c09166
179
192
  - spec/dummy/tmp/cache/assets/C4C/5E0/sprockets%2Fcb61192e6366f0228a57c91459c00256
@@ -233,6 +246,7 @@ files:
233
246
  - spec/dummy/tmp/cache/assets/CB4/970/sprockets%2Fe4737223d2ba69d655f6611f0527d58b
234
247
  - spec/dummy/tmp/cache/assets/CB6/190/sprockets%2Ff18444022b08982685f9cd15b62b4dd7
235
248
  - spec/dummy/tmp/cache/assets/CB6/C00/sprockets%2F4119946cb82f96e5a2793013a3bdd855
249
+ - spec/dummy/tmp/cache/assets/CB7/2B0/sprockets%2Fdf3d317564a780186148134f2ddd59a9
236
250
  - spec/dummy/tmp/cache/assets/CB7/BF0/sprockets%2Fd56192b300ec0979b66d022e996fa079
237
251
  - spec/dummy/tmp/cache/assets/CB8/E20/sprockets%2Fa593029687d6717431a3dc7360ca9dd9
238
252
  - spec/dummy/tmp/cache/assets/CBB/FA0/sprockets%2F74922109263bdc965b2e9567eec6d154
@@ -241,6 +255,7 @@ files:
241
255
  - spec/dummy/tmp/cache/assets/CBE/AB0/sprockets%2F3f8985f1b9c67404dd9a14f0647404c8
242
256
  - spec/dummy/tmp/cache/assets/CBF/630/sprockets%2F707d2db81468088470d476abff35388d
243
257
  - spec/dummy/tmp/cache/assets/CC1/440/sprockets%2F17172f9f3b01ee6fc473047c76943e89
258
+ - spec/dummy/tmp/cache/assets/CC1/DB0/sprockets%2F95e6273223502af230a0dbaa25410de8
244
259
  - spec/dummy/tmp/cache/assets/CC2/7B0/sprockets%2Ff35764dca2f5e55c5538589cf0125398
245
260
  - spec/dummy/tmp/cache/assets/CC2/EC0/sprockets%2F76bf80cb571ca530357f78db78167866
246
261
  - spec/dummy/tmp/cache/assets/CC4/800/sprockets%2Fdc523a6389fe6285945c07a90d58c792
@@ -544,6 +559,7 @@ files:
544
559
  - spec/dummy/tmp/cache/assets/DAA/1E0/sprockets%2F412dd3bd3026759a3f6ffe8cf9e7b93a
545
560
  - spec/dummy/tmp/cache/assets/DAA/2B0/sprockets%2Fe0c5d93fa08d139e198bfe47cd42b99a
546
561
  - spec/dummy/tmp/cache/assets/DAB/400/sprockets%2F52eed96b338eff526fc0198c61dd09eb
562
+ - spec/dummy/tmp/cache/assets/DAC/9B0/sprockets%2F5e58701704fefbc8f88ae24c549fab6b
547
563
  - spec/dummy/tmp/cache/assets/DAE/4E0/sprockets%2F88cc3ab99c608879dd56164dbcc2ccb7
548
564
  - spec/dummy/tmp/cache/assets/DAE/6C0/sprockets%2F77c7a8676aeefa73156c55dfcf51cc46
549
565
  - spec/dummy/tmp/cache/assets/DAF/5B0/sprockets%2F780e81d97e4eefcce73e0b82a5b1859d
@@ -552,6 +568,7 @@ files:
552
568
  - spec/dummy/tmp/cache/assets/DB0/C60/sprockets%2Fdfb9bb691a396957a05ef79dea41d8c4
553
569
  - spec/dummy/tmp/cache/assets/DB2/D70/sprockets%2Fe03d9b5c98dae04fa8eac8fb68697390
554
570
  - spec/dummy/tmp/cache/assets/DB3/5D0/sprockets%2Fce1d4d75832c9bdeafd869f6f7b61725
571
+ - spec/dummy/tmp/cache/assets/DB4/1F0/sprockets%2F69ad2749d7bfe831c0e74e7d7fc4dc57
555
572
  - spec/dummy/tmp/cache/assets/DB5/040/sprockets%2F9a9da5df88713663b9fbc945facca891
556
573
  - spec/dummy/tmp/cache/assets/DB5/860/sprockets%2Facf25fab3016425a0e03c9d190fd4eac
557
574
  - spec/dummy/tmp/cache/assets/DB9/220/sprockets%2Fd2dc4f59e70e73984997ffca8ad7f4a0
@@ -628,6 +645,7 @@ files:
628
645
  - spec/dummy/tmp/cache/assets/E56/0F0/sprockets%2Fc8da7a5dae8a9e6b0de61b381fec0b3c
629
646
  - spec/dummy/tmp/cache/assets/E58/310/sprockets%2Fecdb86ebf64d9140f01a903fbfad8cda
630
647
  - spec/dummy/tmp/cache/assets/E63/9A0/sprockets%2F6d75fdbce8bba3e734dc5fea6f2171ef
648
+ - spec/dummy/tmp/cache/assets/E64/1E0/sprockets%2F81ab4c863fbbdec8dd66afc97ebf034d
631
649
  - spec/dummy/tmp/cache/assets/E6E/260/sprockets%2Fd9f8ab8b91ef582cc6c99a3ba0dedfe6
632
650
  - spec/dummy/tmp/cache/assets/E85/310/sprockets%2Ffa0facaebe1ccce1bc6d1e3e713976f7
633
651
  - spec/dummy/tmp/cache/assets/EDE/7E0/sprockets%2F468f97db5bcfefe9bd7fec5fcc7dc77c
@@ -640,6 +658,7 @@ files:
640
658
  - spec/javascripts/mocha_helper.coffee
641
659
  - spec/javascripts/spec_helper.coffee
642
660
  - spec/javascripts/stylesheets/stylesheet.css.scss
661
+ - spec/javascripts/support/json2.js
643
662
  - spec/javascripts/support/support.js.coffee
644
663
  - spec/javascripts/teabag/base/fixture_spec.coffee
645
664
  - spec/javascripts/teabag/base/reporters/console_spec.coffee
@@ -662,17 +681,20 @@ files:
662
681
  - spec/javascripts/teabag/mocha/runner_mspec.coffee
663
682
  - spec/javascripts/teabag/phantomjs/runner_spec.coffee
664
683
  - spec/spec_helper.rb
684
+ - spec/teabag/command_line_spec.rb
665
685
  - spec/teabag/configuration_spec.rb
666
686
  - spec/teabag/console_spec.rb
667
687
  - spec/teabag/drivers/phantomjs_driver_spec.rb
668
688
  - spec/teabag/drivers/selenium_driver_spec.rb
669
689
  - spec/teabag/engine_spec.rb
690
+ - spec/teabag/environment_spec.rb
670
691
  - spec/teabag/formatters/dot_formatter_spec.rb
671
692
  - spec/teabag/formatters/tap_y_formatter_spec.rb
672
693
  - spec/teabag/result_spec.rb
673
694
  - spec/teabag/runner_spec.rb
674
695
  - spec/teabag/server_spec.rb
675
696
  - spec/teabag/suite_spec.rb
697
+ - spec/teabag_env.rb
676
698
  - test/javascripts/qunit_helper.coffee
677
699
  - test/javascripts/teabag/qunit/models_test.coffee
678
700
  - test/javascripts/teabag/qunit/qunit_test.coffee
@@ -696,7 +718,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
696
718
  version: '0'
697
719
  segments:
698
720
  - 0
699
- hash: 2204969094085318755
721
+ hash: 1680563322503371770
700
722
  required_rubygems_version: !ruby/object:Gem::Requirement
701
723
  none: false
702
724
  requirements:
@@ -705,7 +727,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
705
727
  version: '0'
706
728
  segments:
707
729
  - 0
708
- hash: 2204969094085318755
730
+ hash: 1680563322503371770
709
731
  requirements: []
710
732
  rubyforge_project:
711
733
  rubygems_version: 1.8.24
@@ -748,6 +770,7 @@ test_files:
748
770
  - spec/dummy/tmp/cache/assets/C28/650/sprockets%2F24278fc33d7566396414307f37b119b6
749
771
  - spec/dummy/tmp/cache/assets/C2B/5D0/sprockets%2F98606f6051a5fc71379af24236793353
750
772
  - spec/dummy/tmp/cache/assets/C35/510/sprockets%2Fb5f1121863a3025179f1a621e7127b10
773
+ - spec/dummy/tmp/cache/assets/C35/A30/sprockets%2F29906bf540f7d2e081088494b2554989
751
774
  - spec/dummy/tmp/cache/assets/C46/E90/sprockets%2F006527268e406896b12c930eb572f00a
752
775
  - spec/dummy/tmp/cache/assets/C4A/700/sprockets%2F233efef497080a6a0226928033c09166
753
776
  - spec/dummy/tmp/cache/assets/C4C/5E0/sprockets%2Fcb61192e6366f0228a57c91459c00256
@@ -807,6 +830,7 @@ test_files:
807
830
  - spec/dummy/tmp/cache/assets/CB4/970/sprockets%2Fe4737223d2ba69d655f6611f0527d58b
808
831
  - spec/dummy/tmp/cache/assets/CB6/190/sprockets%2Ff18444022b08982685f9cd15b62b4dd7
809
832
  - spec/dummy/tmp/cache/assets/CB6/C00/sprockets%2F4119946cb82f96e5a2793013a3bdd855
833
+ - spec/dummy/tmp/cache/assets/CB7/2B0/sprockets%2Fdf3d317564a780186148134f2ddd59a9
810
834
  - spec/dummy/tmp/cache/assets/CB7/BF0/sprockets%2Fd56192b300ec0979b66d022e996fa079
811
835
  - spec/dummy/tmp/cache/assets/CB8/E20/sprockets%2Fa593029687d6717431a3dc7360ca9dd9
812
836
  - spec/dummy/tmp/cache/assets/CBB/FA0/sprockets%2F74922109263bdc965b2e9567eec6d154
@@ -815,6 +839,7 @@ test_files:
815
839
  - spec/dummy/tmp/cache/assets/CBE/AB0/sprockets%2F3f8985f1b9c67404dd9a14f0647404c8
816
840
  - spec/dummy/tmp/cache/assets/CBF/630/sprockets%2F707d2db81468088470d476abff35388d
817
841
  - spec/dummy/tmp/cache/assets/CC1/440/sprockets%2F17172f9f3b01ee6fc473047c76943e89
842
+ - spec/dummy/tmp/cache/assets/CC1/DB0/sprockets%2F95e6273223502af230a0dbaa25410de8
818
843
  - spec/dummy/tmp/cache/assets/CC2/7B0/sprockets%2Ff35764dca2f5e55c5538589cf0125398
819
844
  - spec/dummy/tmp/cache/assets/CC2/EC0/sprockets%2F76bf80cb571ca530357f78db78167866
820
845
  - spec/dummy/tmp/cache/assets/CC4/800/sprockets%2Fdc523a6389fe6285945c07a90d58c792
@@ -1118,6 +1143,7 @@ test_files:
1118
1143
  - spec/dummy/tmp/cache/assets/DAA/1E0/sprockets%2F412dd3bd3026759a3f6ffe8cf9e7b93a
1119
1144
  - spec/dummy/tmp/cache/assets/DAA/2B0/sprockets%2Fe0c5d93fa08d139e198bfe47cd42b99a
1120
1145
  - spec/dummy/tmp/cache/assets/DAB/400/sprockets%2F52eed96b338eff526fc0198c61dd09eb
1146
+ - spec/dummy/tmp/cache/assets/DAC/9B0/sprockets%2F5e58701704fefbc8f88ae24c549fab6b
1121
1147
  - spec/dummy/tmp/cache/assets/DAE/4E0/sprockets%2F88cc3ab99c608879dd56164dbcc2ccb7
1122
1148
  - spec/dummy/tmp/cache/assets/DAE/6C0/sprockets%2F77c7a8676aeefa73156c55dfcf51cc46
1123
1149
  - spec/dummy/tmp/cache/assets/DAF/5B0/sprockets%2F780e81d97e4eefcce73e0b82a5b1859d
@@ -1126,6 +1152,7 @@ test_files:
1126
1152
  - spec/dummy/tmp/cache/assets/DB0/C60/sprockets%2Fdfb9bb691a396957a05ef79dea41d8c4
1127
1153
  - spec/dummy/tmp/cache/assets/DB2/D70/sprockets%2Fe03d9b5c98dae04fa8eac8fb68697390
1128
1154
  - spec/dummy/tmp/cache/assets/DB3/5D0/sprockets%2Fce1d4d75832c9bdeafd869f6f7b61725
1155
+ - spec/dummy/tmp/cache/assets/DB4/1F0/sprockets%2F69ad2749d7bfe831c0e74e7d7fc4dc57
1129
1156
  - spec/dummy/tmp/cache/assets/DB5/040/sprockets%2F9a9da5df88713663b9fbc945facca891
1130
1157
  - spec/dummy/tmp/cache/assets/DB5/860/sprockets%2Facf25fab3016425a0e03c9d190fd4eac
1131
1158
  - spec/dummy/tmp/cache/assets/DB9/220/sprockets%2Fd2dc4f59e70e73984997ffca8ad7f4a0
@@ -1202,6 +1229,7 @@ test_files:
1202
1229
  - spec/dummy/tmp/cache/assets/E56/0F0/sprockets%2Fc8da7a5dae8a9e6b0de61b381fec0b3c
1203
1230
  - spec/dummy/tmp/cache/assets/E58/310/sprockets%2Fecdb86ebf64d9140f01a903fbfad8cda
1204
1231
  - spec/dummy/tmp/cache/assets/E63/9A0/sprockets%2F6d75fdbce8bba3e734dc5fea6f2171ef
1232
+ - spec/dummy/tmp/cache/assets/E64/1E0/sprockets%2F81ab4c863fbbdec8dd66afc97ebf034d
1205
1233
  - spec/dummy/tmp/cache/assets/E6E/260/sprockets%2Fd9f8ab8b91ef582cc6c99a3ba0dedfe6
1206
1234
  - spec/dummy/tmp/cache/assets/E85/310/sprockets%2Ffa0facaebe1ccce1bc6d1e3e713976f7
1207
1235
  - spec/dummy/tmp/cache/assets/EDE/7E0/sprockets%2F468f97db5bcfefe9bd7fec5fcc7dc77c
@@ -1214,6 +1242,7 @@ test_files:
1214
1242
  - spec/javascripts/mocha_helper.coffee
1215
1243
  - spec/javascripts/spec_helper.coffee
1216
1244
  - spec/javascripts/stylesheets/stylesheet.css.scss
1245
+ - spec/javascripts/support/json2.js
1217
1246
  - spec/javascripts/support/support.js.coffee
1218
1247
  - spec/javascripts/teabag/base/fixture_spec.coffee
1219
1248
  - spec/javascripts/teabag/base/reporters/console_spec.coffee
@@ -1236,17 +1265,20 @@ test_files:
1236
1265
  - spec/javascripts/teabag/mocha/runner_mspec.coffee
1237
1266
  - spec/javascripts/teabag/phantomjs/runner_spec.coffee
1238
1267
  - spec/spec_helper.rb
1268
+ - spec/teabag/command_line_spec.rb
1239
1269
  - spec/teabag/configuration_spec.rb
1240
1270
  - spec/teabag/console_spec.rb
1241
1271
  - spec/teabag/drivers/phantomjs_driver_spec.rb
1242
1272
  - spec/teabag/drivers/selenium_driver_spec.rb
1243
1273
  - spec/teabag/engine_spec.rb
1274
+ - spec/teabag/environment_spec.rb
1244
1275
  - spec/teabag/formatters/dot_formatter_spec.rb
1245
1276
  - spec/teabag/formatters/tap_y_formatter_spec.rb
1246
1277
  - spec/teabag/result_spec.rb
1247
1278
  - spec/teabag/runner_spec.rb
1248
1279
  - spec/teabag/server_spec.rb
1249
1280
  - spec/teabag/suite_spec.rb
1281
+ - spec/teabag_env.rb
1250
1282
  - test/javascripts/qunit_helper.coffee
1251
1283
  - test/javascripts/teabag/qunit/models_test.coffee
1252
1284
  - test/javascripts/teabag/qunit/qunit_test.coffee