teabag 0.4.6 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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