teabag 0.7.2 → 0.7.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +36 -2
- data/app/assets/javascripts/teabag-angular.js +88 -44
- data/app/assets/javascripts/teabag-jasmine.js +12 -0
- data/app/assets/javascripts/teabag-mocha.js +13 -3
- data/app/assets/javascripts/teabag-qunit.js +13 -3
- data/app/assets/javascripts/teabag/base/teabag.coffee +5 -0
- data/app/views/teabag/spec/runner.html.erb +39 -20
- data/lib/teabag.rb +2 -0
- data/lib/teabag/configuration.rb +2 -1
- data/lib/teabag/coverage.rb +1 -1
- data/lib/teabag/formatters/base_formatter.rb +1 -0
- data/lib/teabag/formatters/teamcity_formatter.rb +57 -0
- data/lib/teabag/instrumentation.rb +1 -1
- data/lib/teabag/suite.rb +12 -1
- data/lib/teabag/version.rb +1 -1
- data/spec/dummy/log/development.log +1237 -0
- data/spec/dummy/log/test.log +317 -0
- data/spec/dummy/tmp/cache/assets/C35/A30/sprockets%2F29906bf540f7d2e081088494b2554989 +0 -0
- data/spec/dummy/tmp/cache/assets/C4E/9B0/sprockets%2Fa807397434c9262c3d62da3e91152184 +0 -0
- data/spec/dummy/tmp/cache/assets/C72/150/sprockets%2F4194031b4b51b6422c14ac697e3455e5 +0 -0
- data/spec/dummy/tmp/cache/assets/C75/D50/sprockets%2F5302968a40e08d2c011aa38666d273f6 +0 -0
- data/spec/dummy/tmp/cache/assets/C78/F80/sprockets%2F9161622ddd251097a4ab816b8220984c +0 -0
- data/spec/dummy/tmp/cache/assets/C7D/8F0/sprockets%2Ff13d01b85f2449a4f0638ff260425906 +0 -0
- data/spec/dummy/tmp/cache/assets/C89/700/sprockets%2F259935a7704fef0069303ea63fa89408 +0 -0
- data/spec/dummy/tmp/cache/assets/C8A/460/sprockets%2F77bffd9959420103906722b404ae8d59 +0 -0
- data/spec/dummy/tmp/cache/assets/C91/FA0/sprockets%2F2eb81283f5789ae91a69344552db3856 +0 -0
- data/spec/dummy/tmp/cache/assets/C9D/E90/sprockets%2F3045c9533f179d3e1c805d163ed002a0 +0 -0
- data/spec/dummy/tmp/cache/assets/CA6/DF0/sprockets%2F7da83747ce56e49393b6b8726587f846 +0 -0
- data/spec/dummy/tmp/cache/assets/CA9/C40/sprockets%2F932b7e2cd1e067289ab51190800814df +0 -0
- data/spec/dummy/tmp/cache/assets/CAA/0C0/sprockets%2F057b0ce384f16d9202ae84473436cc35 +0 -0
- data/spec/dummy/tmp/cache/assets/CAD/410/sprockets%2F651414e5c7e86f05c5108dc71626b25c +0 -0
- data/spec/dummy/tmp/cache/assets/CAF/0F0/sprockets%2F6000e67cf3f2377f860c24da7c819701 +0 -0
- data/spec/dummy/tmp/cache/assets/CB0/700/sprockets%2F006af6bf0f6b55777b03c4615c853881 +0 -0
- data/spec/dummy/tmp/cache/assets/CBB/FA0/sprockets%2F74922109263bdc965b2e9567eec6d154 +0 -0
- data/spec/dummy/tmp/cache/assets/CBD/AF0/sprockets%2Fd687ec33822256e9444e8cd04f1b4873 +0 -0
- data/spec/dummy/tmp/cache/assets/CBF/630/sprockets%2F707d2db81468088470d476abff35388d +0 -0
- data/spec/dummy/tmp/cache/assets/CC2/EC0/sprockets%2F76bf80cb571ca530357f78db78167866 +0 -0
- data/spec/dummy/tmp/cache/assets/CCE/C50/sprockets%2Fe12774c2fea852112414bb379a71f31a +0 -0
- data/spec/dummy/tmp/cache/assets/CD3/460/sprockets%2F7f3f6802b0b309ed142d0b671c9640c4 +0 -0
- data/spec/dummy/tmp/cache/assets/CE0/090/sprockets%2F48d5d35ae87d0723318b8bc257fa2237 +0 -0
- data/spec/dummy/tmp/cache/assets/CE3/1F0/sprockets%2Fe69a515d3a9d14c669be8871012a7d07 +0 -0
- data/spec/dummy/tmp/cache/assets/CE6/270/sprockets%2F2c98152560d18470fec8cf4c6829b4d0 +0 -0
- data/spec/dummy/tmp/cache/assets/CE6/7C0/sprockets%2Fa03a2c86ce6724be8542295e1cf24798 +0 -0
- data/spec/dummy/tmp/cache/assets/CE7/A60/sprockets%2Ff58eee249aa167d23f8220087bb46684 +0 -0
- data/spec/dummy/tmp/cache/assets/CE9/9E0/sprockets%2F135480d497ed7e4884462dc0ef0b80d7 +0 -0
- data/spec/dummy/tmp/cache/assets/CEB/680/sprockets%2F67f0794ef8c0576d5c7da34f4437305a +0 -0
- data/spec/dummy/tmp/cache/assets/CEB/B40/sprockets%2F1150bf8d912aa100a132251eefaf6045 +0 -0
- data/spec/dummy/tmp/cache/assets/CEC/360/sprockets%2F264b79dde726b36d63fee272a0609469 +0 -0
- data/spec/dummy/tmp/cache/assets/CEE/3A0/sprockets%2Fb6c48f0d375946fb4038e3643c468e8a +0 -0
- data/spec/dummy/tmp/cache/assets/CF8/780/sprockets%2F8845b81ff27cdb57c835836c9f91a265 +0 -0
- data/spec/dummy/tmp/cache/assets/CFA/D20/sprockets%2Fb26796b39b3c5d6ed70be7989637a493 +0 -0
- data/spec/dummy/tmp/cache/assets/CFB/210/sprockets%2F9104695bfbf9a9d4b94382e6e90487a9 +0 -0
- data/spec/dummy/tmp/cache/assets/CFC/380/sprockets%2Fa7443cbd671446a589867dd5f4a4f989 +0 -0
- data/spec/dummy/tmp/cache/assets/D00/110/sprockets%2F6a6353b7723a8b21708e0fbfe04bd422 +0 -0
- data/spec/dummy/tmp/cache/assets/D00/F60/sprockets%2F42e279b52511c47d26c0adb125fd04e8 +0 -0
- data/spec/dummy/tmp/cache/assets/D03/630/sprockets%2F5d8da32dba6a7be70426a1d554773701 +0 -0
- data/spec/dummy/tmp/cache/assets/D04/170/sprockets%2F76ab1dc02e6c7618852708a1e05a2df3 +0 -0
- data/spec/dummy/tmp/cache/assets/D04/480/sprockets%2F8bd8f10500b21d2f9d94e4cd1401c936 +0 -0
- data/spec/dummy/tmp/cache/assets/D05/8D0/sprockets%2F319f8f235f452343f1ebf03cb262d23d +0 -0
- data/spec/dummy/tmp/cache/assets/D09/BF0/sprockets%2F9e6bca5d26f50d9484385d51ba04312c +0 -0
- data/spec/dummy/tmp/cache/assets/D0E/570/sprockets%2F90fe371bf8091e88a712124d9cdae260 +0 -0
- data/spec/dummy/tmp/cache/assets/D15/750/sprockets%2F8effdd3e668a4036260a3e370f3b6657 +0 -0
- data/spec/dummy/tmp/cache/assets/D17/710/sprockets%2Ffa49fb6823d466e79a195e0cd71340c5 +0 -0
- data/spec/dummy/tmp/cache/assets/D1D/560/sprockets%2F1ca784ee7ba1922465147e7f8963eae5 +0 -0
- data/spec/dummy/tmp/cache/assets/D1E/AA0/sprockets%2F5c8741a556bc955cd36e61c88582b6dc +0 -0
- data/spec/dummy/tmp/cache/assets/D31/9C0/sprockets%2Fbd102a4f5a4985c3519dd6ab0295a1c6 +0 -0
- data/spec/dummy/tmp/cache/assets/D35/7C0/sprockets%2Ff536a2606eaf7d542c0985104cb62baf +0 -0
- data/spec/dummy/tmp/cache/assets/D37/FF0/sprockets%2F96841ca4cfae32c515077f3f5fc303b2 +0 -0
- data/spec/dummy/tmp/cache/assets/D3C/840/sprockets%2Fc6202ec91d567a85bd3d46dc43ea9108 +0 -0
- data/spec/dummy/tmp/cache/assets/D44/E90/sprockets%2F05cfc0bf7c9938963d1d1c63248db80d +0 -0
- data/spec/dummy/tmp/cache/assets/D45/C30/sprockets%2Fcc744877558178a3adb77c441cadce70 +0 -0
- data/spec/dummy/tmp/cache/assets/D49/A10/sprockets%2Fc4656bd995a6f297c26d19b13aadb963 +0 -0
- data/spec/dummy/tmp/cache/assets/D50/D70/sprockets%2Fe2a3e6c95b11e0801a4eebae3a026026 +0 -0
- data/spec/dummy/tmp/cache/assets/D51/400/sprockets%2Ff5e433d8a31e80985b75ce598de236be +0 -0
- data/spec/dummy/tmp/cache/assets/D54/D80/sprockets%2F631327e25ec20edc723046cdec3bb1c0 +0 -0
- data/spec/dummy/tmp/cache/assets/D5C/710/sprockets%2F9427d05cee2caa721241a25a9af1d08f +0 -0
- data/spec/dummy/tmp/cache/assets/D5C/CC0/sprockets%2Faa8bf6de211f2765b0a26f112b971f0c +0 -0
- data/spec/dummy/tmp/cache/assets/D61/1F0/sprockets%2F0c7a6176d2fc4db00bb9a74d36380fe1 +0 -0
- data/spec/dummy/tmp/cache/assets/D67/BC0/sprockets%2F35d2c2b45981ade5a2db2a9c7f37a615 +0 -0
- data/spec/dummy/tmp/cache/assets/D69/F90/sprockets%2F6a0795b7b38bd7e6142cd1b88211dade +0 -0
- data/spec/dummy/tmp/cache/assets/D6A/950/sprockets%2F429b1806cb7580ebf29f9a12c33cbea6 +0 -0
- data/spec/dummy/tmp/cache/assets/D6A/ED0/sprockets%2F662ef351d001ba9f2a3a578d26bf9eb6 +0 -0
- data/spec/dummy/tmp/cache/assets/D6D/530/sprockets%2F8d52dee91bff01a8a2306d8a7c9152a9 +0 -0
- data/spec/dummy/tmp/cache/assets/D6D/DA0/sprockets%2Fac936bf40b42227a2bf9d474ae9ec149 +0 -0
- data/spec/dummy/tmp/cache/assets/D77/B30/sprockets%2F946cf2f17c7eb41037f9ee08ad67ec40 +0 -0
- data/spec/dummy/tmp/cache/assets/D78/2F0/sprockets%2F3c61f8915b8f717b1de788e6ecad122c +0 -0
- data/spec/dummy/tmp/cache/assets/D93/BD0/sprockets%2Ff5e1b60201e08e3ddf8d3de5211f3d5e +0 -0
- data/spec/dummy/tmp/cache/assets/DA0/330/sprockets%2Fcbbb4de706387d50f48a72ee6c9c1b80 +0 -0
- data/spec/dummy/tmp/cache/assets/DA5/0A0/sprockets%2F7a4b5928cec69ab65afff309a04d6b47 +0 -0
- data/spec/dummy/tmp/cache/assets/DAE/6C0/sprockets%2F77c7a8676aeefa73156c55dfcf51cc46 +0 -0
- data/spec/dummy/tmp/cache/assets/DAF/7C0/sprockets%2F8942514d59e7bffbfb33cde6fa9735c2 +0 -0
- data/spec/dummy/tmp/cache/assets/DB3/5D0/sprockets%2Fce1d4d75832c9bdeafd869f6f7b61725 +0 -0
- data/spec/dummy/tmp/cache/assets/DB5/040/sprockets%2F9a9da5df88713663b9fbc945facca891 +0 -0
- data/spec/dummy/tmp/cache/assets/DC3/230/sprockets%2Fdf52e72eb73be91eccc60182191aed0b +0 -0
- data/spec/dummy/tmp/cache/assets/DC7/A10/sprockets%2F84a8af0fcbf401864e1ae5bf092cba94 +0 -0
- data/spec/dummy/tmp/cache/assets/DCD/EB0/sprockets%2F4f77f509126ecbced7ea2a5ab290c8d4 +0 -0
- data/spec/dummy/tmp/cache/assets/DF6/0E0/sprockets%2F85b10db6e1afe643aba6d396abdd77f0 +0 -0
- data/spec/dummy/tmp/cache/assets/DF7/E10/sprockets%2F25e4253aba9a9adcefb72552fb1ff0c8 +0 -0
- data/spec/dummy/tmp/cache/assets/DF9/AD0/sprockets%2Fc700afd7cee3fe9d7ff8352b213b2c4a +0 -0
- data/spec/dummy/tmp/cache/assets/DFC/C20/sprockets%2Fd9178ad7e3b401c9fceafd64ea2b50d6 +0 -0
- data/spec/dummy/tmp/cache/assets/DFC/C30/sprockets%2Fb50a07cb30b0bd0eec8e98e5de79d65d +0 -0
- data/spec/dummy/tmp/cache/assets/E02/6E0/sprockets%2F63d6a5cdb8cefa64ef76b5c6e0fd3720 +0 -0
- data/spec/dummy/tmp/cache/assets/E08/BB0/sprockets%2Fefac99af1af28543aef6fb607faa4973 +0 -0
- data/spec/dummy/tmp/cache/assets/E2F/790/sprockets%2F7fac280deaa7ef20a77d5c9b5b9cfc34 +0 -0
- data/spec/dummy/tmp/cache/assets/E2F/9D0/sprockets%2Fafd2bbe50bf8be88e74d1dc049a7c09d +0 -0
- data/spec/dummy/tmp/cache/assets/E41/250/sprockets%2F97cf8fe3d7ffaff076f655aefb36da03 +0 -0
- data/spec/dummy/tmp/cache/assets/E64/1E0/sprockets%2F81ab4c863fbbdec8dd66afc97ebf034d +0 -0
- data/spec/dummy/tmp/cache/assets/E6E/260/sprockets%2Fd9f8ab8b91ef582cc6c99a3ba0dedfe6 +0 -0
- data/spec/dummy/tmp/cache/assets/F79/360/sprockets%2F0ce035fefee5ebdabc8efabfbdbd6ee4 +0 -0
- data/spec/teabag/coverage_spec.rb +4 -2
- data/spec/teabag/formatters/teamcity_formatter_spec.rb +91 -0
- data/spec/teabag/instrumentation_spec.rb +4 -2
- data/spec/teabag/suite_spec.rb +24 -0
- metadata +7 -4
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Teabag
|
2
2
|
======
|
3
3
|
[![Build Status](https://travis-ci.org/modeset/teabag.png)](https://travis-ci.org/modeset/teabag)
|
4
|
-
[![Code Climate](https://codeclimate.com/
|
4
|
+
[![Code Climate](https://codeclimate.com/github/modeset/teabag.png)](https://codeclimate.com/github/modeset/teabag)
|
5
5
|
|
6
6
|
Teabag is a Javascript test runner built on top of Rails. It can run tests in the browser, or headlessly using PhantomJS or with Selenium WebDriver.
|
7
7
|
|
@@ -159,9 +159,32 @@ describe "My great feature", ->
|
|
159
159
|
|
160
160
|
If you're using a specific framework and you want to take advantage of the things that framework provides you're free to do so. This is provided as the standard as the Teabag reporters understand the techniques above and have specs for them.
|
161
161
|
|
162
|
+
### Using Require.js
|
163
|
+
If you are using require.js to get your files you can set a configuration option for your suite of "use_require".
|
164
|
+
```ruby
|
165
|
+
Teabag.setup do |config|
|
166
|
+
config.suite do |suite|
|
167
|
+
suite.use_require = true
|
168
|
+
end
|
169
|
+
end
|
170
|
+
```
|
171
|
+
Then in your suite spec helper, add require.js to be included, if you have not already. (Note: Teabag doesn't include require.js with it, so you will need to provide your own require.js and require the correct path.)
|
172
|
+
```javascript
|
173
|
+
//= require require
|
174
|
+
```
|
175
|
+
|
176
|
+
Once you've done that, when that suite is executed, Teabag will use require.js to get all the specs in the suite (or specific files). In your specs you will need to use require to pull down the dependencies as you would normally. Here is an example with mocha.
|
177
|
+
```javascript
|
178
|
+
define(['Model'] , function (Model) {
|
179
|
+
describe('Model' , function () {
|
180
|
+
// put your tests here
|
181
|
+
});
|
182
|
+
});
|
183
|
+
```
|
184
|
+
|
162
185
|
### Deferring Execution
|
163
186
|
|
164
|
-
Teabag allows deferring execution in the cases when you're using AMD or other asynchronous libraries. This is especially useful if you're using [CommonJS](http://www.commonjs.org/)
|
187
|
+
Teabag allows deferring execution in the cases when you're using AMD or other asynchronous libraries. This is especially useful if you're using [CommonJS](http://www.commonjs.org/), etc. You can tell Teabag to defer and then execute the runner yourself later -- after loading asychronously. There's a wiki article about how you can setup your specs and spec helper when using [RequireJS with Teabag](https://github.com/modeset/teabag/wiki/RequireJS-with-Teabag).
|
165
188
|
|
166
189
|
```javascript
|
167
190
|
Teabag.defer = true;
|
@@ -536,6 +559,17 @@ Or using Rake/ENV:
|
|
536
559
|
SUPPRESS_LOG=true COVERAGE_REPORTS=cobertura FORMATTERS=tap rake
|
537
560
|
```
|
538
561
|
|
562
|
+
There is also a TeamCity formatter:
|
563
|
+
|
564
|
+
```
|
565
|
+
teabag -q --format=teamcity
|
566
|
+
```
|
567
|
+
|
568
|
+
Or using Rake/ENV:
|
569
|
+
|
570
|
+
```
|
571
|
+
SUPPRESS_LOG=true FORMATTERS=teamcity rake
|
572
|
+
```
|
539
573
|
|
540
574
|
## License
|
541
575
|
|
@@ -26195,9 +26195,7 @@ if (config.autotest) {
|
|
26195
26195
|
angular.element(document).find('head').append('<style type="text/css">@charset "UTF-8";\n\n[ng\\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],\n.ng-cloak, .x-ng-cloak {\n display: none;\n}\n\nng\\:form {\n display: block;\n}\n</style>');
|
26196
26196
|
angular.element(document).find('head').append('<style type="text/css">@charset "UTF-8";\n/* CSS Document */\n\n/** Structure */\nbody {\n font-family: Arial, sans-serif;\n margin: 0;\n font-size: 14px;\n}\n\n#system-error {\n font-size: 1.5em;\n text-align: center;\n}\n\n#json, #xml {\n display: none;\n}\n\n#header {\n position: fixed;\n width: 100%;\n}\n\n#specs {\n padding-top: 50px;\n}\n\n#header .angular {\n font-family: Courier New, monospace;\n font-weight: bold;\n}\n\n#header h1 {\n font-weight: normal;\n float: left;\n font-size: 30px;\n line-height: 30px;\n margin: 0;\n padding: 10px 10px;\n height: 30px;\n}\n\n#application h2,\n#specs h2 {\n margin: 0;\n padding: 0.5em;\n font-size: 1.1em;\n}\n\n#status-legend {\n margin-top: 10px;\n margin-right: 10px;\n}\n\n#header,\n#application,\n.test-info,\n.test-actions li {\n overflow: hidden;\n}\n\n#application {\n margin: 10px;\n}\n\n#application iframe {\n width: 100%;\n height: 758px;\n}\n\n#application .popout {\n float: right;\n}\n\n#application iframe {\n border: none;\n}\n\n.tests li,\n.test-actions li,\n.test-it li,\n.test-it ol,\n.status-display {\n list-style-type: none;\n}\n\n.tests,\n.test-it ol,\n.status-display {\n margin: 0;\n padding: 0;\n}\n\n.test-info {\n margin-left: 1em;\n margin-top: 0.5em;\n border-radius: 8px 0 0 8px;\n -webkit-border-radius: 8px 0 0 8px;\n -moz-border-radius: 8px 0 0 8px;\n cursor: pointer;\n}\n\n.test-info:hover .test-name {\n text-decoration: underline;\n}\n\n.test-info .closed:before {\n content: \'\\25b8\\00A0\';\n}\n\n.test-info .open:before {\n content: \'\\25be\\00A0\';\n font-weight: bold;\n}\n\n.test-it ol {\n margin-left: 2.5em;\n}\n\n.status-display,\n.status-display li {\n float: right;\n}\n\n.status-display li {\n padding: 5px 10px;\n}\n\n.timer-result,\n.test-title {\n display: inline-block;\n margin: 0;\n padding: 4px;\n}\n\n.test-actions .test-title,\n.test-actions .test-result {\n display: table-cell;\n padding-left: 0.5em;\n padding-right: 0.5em;\n}\n\n.test-actions {\n display: table;\n}\n\n.test-actions li {\n display: table-row;\n}\n\n.timer-result {\n width: 4em;\n padding: 0 10px;\n text-align: right;\n font-family: monospace;\n}\n\n.test-it pre,\n.test-actions pre {\n clear: left;\n color: black;\n margin-left: 6em;\n}\n\n.test-describe {\n padding-bottom: 0.5em;\n}\n\n.test-describe .test-describe {\n margin: 5px 5px 10px 2em;\n}\n\n.test-actions .status-pending .test-title:before {\n content: \'\\00bb\\00A0\';\n}\n\n.scrollpane {\n max-height: 20em;\n overflow: auto;\n}\n\n/** Colors */\n\n#header {\n background-color: #F2C200;\n}\n\n#specs h2 {\n border-top: 2px solid #BABAD1;\n}\n\n#specs h2,\n#application h2 {\n background-color: #efefef;\n}\n\n#application {\n border: 1px solid #BABAD1;\n}\n\n.test-describe .test-describe {\n border-left: 1px solid #BABAD1;\n border-right: 1px solid #BABAD1;\n border-bottom: 1px solid #BABAD1;\n}\n\n.status-display {\n border: 1px solid #777;\n}\n\n.status-display .status-pending,\n.status-pending .test-info {\n background-color: #F9EEBC;\n}\n\n.status-display .status-success,\n.status-success .test-info {\n background-color: #B1D7A1;\n}\n\n.status-display .status-failure,\n.status-failure .test-info {\n background-color: #FF8286;\n}\n\n.status-display .status-error,\n.status-error .test-info {\n background-color: black;\n color: white;\n}\n\n.test-actions .status-success .test-title {\n color: #30B30A;\n}\n\n.test-actions .status-failure .test-title {\n color: #DF0000;\n}\n\n.test-actions .status-error .test-title {\n color: black;\n}\n\n.test-actions .timer-result {\n color: #888;\n}\n</style>');
|
26197
26197
|
(function() {
|
26198
|
-
|
26199
26198
|
this.Teabag = (function() {
|
26200
|
-
|
26201
26199
|
function Teabag() {}
|
26202
26200
|
|
26203
26201
|
Teabag.defer = false;
|
@@ -26227,8 +26225,21 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26227
26225
|
return new Teabag.Runner();
|
26228
26226
|
};
|
26229
26227
|
|
26228
|
+
Teabag.onWindowLoad = function(method) {
|
26229
|
+
var originalOnload;
|
26230
|
+
|
26231
|
+
originalOnload = window.onload;
|
26232
|
+
return window.onload = function() {
|
26233
|
+
if (originalOnload && originalOnload.call) {
|
26234
|
+
originalOnload();
|
26235
|
+
}
|
26236
|
+
return method();
|
26237
|
+
};
|
26238
|
+
};
|
26239
|
+
|
26230
26240
|
Teabag.resolveDependenciesFromParams = function(all) {
|
26231
26241
|
var dep, deps, file, parts, path, paths, _i, _j, _len, _len1;
|
26242
|
+
|
26232
26243
|
if (all == null) {
|
26233
26244
|
all = [];
|
26234
26245
|
}
|
@@ -26254,16 +26265,20 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26254
26265
|
};
|
26255
26266
|
|
26256
26267
|
Teabag.log = function() {
|
26268
|
+
var e;
|
26269
|
+
|
26257
26270
|
this.messages.push(arguments[0]);
|
26258
26271
|
try {
|
26259
26272
|
return console.log.apply(console, arguments);
|
26260
|
-
} catch (
|
26273
|
+
} catch (_error) {
|
26274
|
+
e = _error;
|
26261
26275
|
throw new Error("Unable to use console.log for logging");
|
26262
26276
|
}
|
26263
26277
|
};
|
26264
26278
|
|
26265
26279
|
Teabag.getMessages = function() {
|
26266
26280
|
var messages;
|
26281
|
+
|
26267
26282
|
messages = this.messages;
|
26268
26283
|
this.messages = [];
|
26269
26284
|
return messages;
|
@@ -26275,9 +26290,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26275
26290
|
|
26276
26291
|
}).call(this);
|
26277
26292
|
(function() {
|
26278
|
-
|
26279
26293
|
Teabag.Runner = (function() {
|
26280
|
-
|
26281
26294
|
Runner.run = false;
|
26282
26295
|
|
26283
26296
|
function Runner() {
|
@@ -26292,6 +26305,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26292
26305
|
|
26293
26306
|
Runner.prototype.getParams = function() {
|
26294
26307
|
var name, param, params, value, _i, _len, _ref, _ref1;
|
26308
|
+
|
26295
26309
|
params = {};
|
26296
26310
|
_ref = Teabag.location.search.substring(1).split("&");
|
26297
26311
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
@@ -26338,6 +26352,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26338
26352
|
|
26339
26353
|
fixture.preload = function() {
|
26340
26354
|
var url, urls, _i, _len, _results;
|
26355
|
+
|
26341
26356
|
urls = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
|
26342
26357
|
_results = [];
|
26343
26358
|
for (_i = 0, _len = urls.length; _i < _len; _i++) {
|
@@ -26349,6 +26364,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26349
26364
|
|
26350
26365
|
fixture.load = function() {
|
26351
26366
|
var append, index, url, urls, _i, _j, _len, _results;
|
26367
|
+
|
26352
26368
|
urls = 2 <= arguments.length ? __slice.call(arguments, 0, _i = arguments.length - 1) : (_i = 0, []), append = arguments[_i++];
|
26353
26369
|
if (append == null) {
|
26354
26370
|
append = false;
|
@@ -26367,6 +26383,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26367
26383
|
|
26368
26384
|
fixture.set = function() {
|
26369
26385
|
var append, html, htmls, index, _i, _j, _len, _results;
|
26386
|
+
|
26370
26387
|
htmls = 2 <= arguments.length ? __slice.call(arguments, 0, _i = arguments.length - 1) : (_i = 0, []), append = arguments[_i++];
|
26371
26388
|
if (append == null) {
|
26372
26389
|
append = false;
|
@@ -26399,6 +26416,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26399
26416
|
|
26400
26417
|
load = function(url, append, preload) {
|
26401
26418
|
var cached, value;
|
26419
|
+
|
26402
26420
|
if (preload == null) {
|
26403
26421
|
preload = false;
|
26404
26422
|
}
|
@@ -26460,6 +26478,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26460
26478
|
|
26461
26479
|
create = function() {
|
26462
26480
|
var _ref;
|
26481
|
+
|
26463
26482
|
Teabag.fixture.el = document.createElement("div");
|
26464
26483
|
if (typeof window.$ === 'function') {
|
26465
26484
|
Teabag.fixture.$el = $(Teabag.fixture.el);
|
@@ -26470,6 +26489,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26470
26489
|
|
26471
26490
|
cleanup = function() {
|
26472
26491
|
var _base, _ref, _ref1;
|
26492
|
+
|
26473
26493
|
(_base = Teabag.fixture).el || (_base.el = document.getElementById("teabag-fixtures"));
|
26474
26494
|
if ((_ref = Teabag.fixture.el) != null) {
|
26475
26495
|
if ((_ref1 = _ref.parentNode) != null) {
|
@@ -26480,16 +26500,19 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26480
26500
|
};
|
26481
26501
|
|
26482
26502
|
xhrRequest = function(url, callback) {
|
26503
|
+
var e;
|
26504
|
+
|
26483
26505
|
if (window.XMLHttpRequest) {
|
26484
26506
|
xhr = new XMLHttpRequest();
|
26485
26507
|
} else if (window.ActiveXObject) {
|
26486
26508
|
try {
|
26487
26509
|
xhr = new ActiveXObject("Msxml2.XMLHTTP");
|
26488
|
-
} catch (
|
26510
|
+
} catch (_error) {
|
26511
|
+
e = _error;
|
26489
26512
|
try {
|
26490
26513
|
xhr = new ActiveXObject("Microsoft.XMLHTTP");
|
26491
|
-
} catch (
|
26492
|
-
|
26514
|
+
} catch (_error) {
|
26515
|
+
e = _error;
|
26493
26516
|
}
|
26494
26517
|
}
|
26495
26518
|
}
|
@@ -26507,9 +26530,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26507
26530
|
|
26508
26531
|
}).call(this);
|
26509
26532
|
(function() {
|
26510
|
-
|
26511
26533
|
Teabag.Reporters.BaseView = (function() {
|
26512
|
-
|
26513
26534
|
function BaseView() {
|
26514
26535
|
this.elements = {};
|
26515
26536
|
this.build();
|
@@ -26529,6 +26550,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26529
26550
|
|
26530
26551
|
BaseView.prototype.createEl = function(type, className) {
|
26531
26552
|
var el;
|
26553
|
+
|
26532
26554
|
if (className == null) {
|
26533
26555
|
className = "";
|
26534
26556
|
}
|
@@ -26539,18 +26561,21 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26539
26561
|
|
26540
26562
|
BaseView.prototype.findEl = function(id) {
|
26541
26563
|
var _base;
|
26564
|
+
|
26542
26565
|
this.elements || (this.elements = {});
|
26543
26566
|
return (_base = this.elements)[id] || (_base[id] = document.getElementById("teabag-" + id));
|
26544
26567
|
};
|
26545
26568
|
|
26546
26569
|
BaseView.prototype.setText = function(id, value) {
|
26547
26570
|
var el;
|
26571
|
+
|
26548
26572
|
el = this.findEl(id);
|
26549
26573
|
return el.innerHTML = value;
|
26550
26574
|
};
|
26551
26575
|
|
26552
26576
|
BaseView.prototype.setHtml = function(id, value, add) {
|
26553
26577
|
var el;
|
26578
|
+
|
26554
26579
|
if (add == null) {
|
26555
26580
|
add = false;
|
26556
26581
|
}
|
@@ -26564,12 +26589,14 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26564
26589
|
|
26565
26590
|
BaseView.prototype.setClass = function(id, value) {
|
26566
26591
|
var el;
|
26592
|
+
|
26567
26593
|
el = this.findEl(id);
|
26568
26594
|
return el.className = value;
|
26569
26595
|
};
|
26570
26596
|
|
26571
26597
|
BaseView.prototype.htmlSafe = function(str) {
|
26572
26598
|
var el;
|
26599
|
+
|
26573
26600
|
el = document.createElement("div");
|
26574
26601
|
el.appendChild(document.createTextNode(str));
|
26575
26602
|
return el.innerHTML;
|
@@ -26586,14 +26613,11 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26586
26613
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
26587
26614
|
|
26588
26615
|
Teabag.Reporters.HTML = (function(_super) {
|
26589
|
-
|
26590
26616
|
__extends(HTML, _super);
|
26591
26617
|
|
26592
26618
|
function HTML() {
|
26593
26619
|
this.toggleConfig = __bind(this.toggleConfig, this);
|
26594
|
-
|
26595
|
-
this.reportRunnerResults = __bind(this.reportRunnerResults, this);
|
26596
|
-
this.start = new Teabag.Date().getTime();
|
26620
|
+
this.reportRunnerResults = __bind(this.reportRunnerResults, this); this.start = new Teabag.Date().getTime();
|
26597
26621
|
this.config = {
|
26598
26622
|
"use-catch": true,
|
26599
26623
|
"build-full-report": false,
|
@@ -26618,6 +26642,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26618
26642
|
|
26619
26643
|
HTML.prototype.build = function() {
|
26620
26644
|
var _ref;
|
26645
|
+
|
26621
26646
|
this.buildLayout();
|
26622
26647
|
this.setText("env-info", this.envInfo());
|
26623
26648
|
this.setText("version", Teabag.version);
|
@@ -26635,6 +26660,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26635
26660
|
|
26636
26661
|
HTML.prototype.buildLayout = function() {
|
26637
26662
|
var el;
|
26663
|
+
|
26638
26664
|
el = this.createEl("div");
|
26639
26665
|
el.id = "teabag-interface";
|
26640
26666
|
el.innerHTML = Teabag.Reporters.HTML.template;
|
@@ -26643,6 +26669,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26643
26669
|
|
26644
26670
|
HTML.prototype.buildSuiteSelect = function() {
|
26645
26671
|
var options, suite, _i, _len, _ref;
|
26672
|
+
|
26646
26673
|
if (Teabag.suites.all.length === 1) {
|
26647
26674
|
return "";
|
26648
26675
|
}
|
@@ -26719,6 +26746,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26719
26746
|
|
26720
26747
|
HTML.prototype.updateStatus = function(spec) {
|
26721
26748
|
var elapsed, result, _ref, _ref1;
|
26749
|
+
|
26722
26750
|
spec = new Teabag.Spec(spec);
|
26723
26751
|
result = spec.result();
|
26724
26752
|
if (result.skipped || result.status === "pending") {
|
@@ -26747,6 +26775,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26747
26775
|
|
26748
26776
|
HTML.prototype.showConfiguration = function() {
|
26749
26777
|
var key, value, _ref, _results;
|
26778
|
+
|
26750
26779
|
_ref = this.config;
|
26751
26780
|
_results = [];
|
26752
26781
|
for (key in _ref) {
|
@@ -26762,6 +26791,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26762
26791
|
|
26763
26792
|
HTML.prototype.setFilters = function() {
|
26764
26793
|
var link;
|
26794
|
+
|
26765
26795
|
link = [Teabag.root, Teabag.suites.active].join('/');
|
26766
26796
|
if (Teabag.params["file"]) {
|
26767
26797
|
this.filters.push("<a href='" + link + "'>remove</a> by file: " + Teabag.params["file"]);
|
@@ -26773,6 +26803,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26773
26803
|
|
26774
26804
|
HTML.prototype.readConfig = function() {
|
26775
26805
|
var config;
|
26806
|
+
|
26776
26807
|
if (config = this.cookie("teabag")) {
|
26777
26808
|
return this.config = config;
|
26778
26809
|
}
|
@@ -26780,6 +26811,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26780
26811
|
|
26781
26812
|
HTML.prototype.toggleConfig = function(e) {
|
26782
26813
|
var button, name;
|
26814
|
+
|
26783
26815
|
button = e.target;
|
26784
26816
|
if (button.tagName.toLowerCase() !== "button") {
|
26785
26817
|
return;
|
@@ -26800,6 +26832,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26800
26832
|
|
26801
26833
|
HTML.prototype.cookie = function(name, value) {
|
26802
26834
|
var date, match;
|
26835
|
+
|
26803
26836
|
if (value == null) {
|
26804
26837
|
value = void 0;
|
26805
26838
|
}
|
@@ -26820,15 +26853,16 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26820
26853
|
|
26821
26854
|
}).call(this);
|
26822
26855
|
(function() {
|
26823
|
-
var
|
26856
|
+
var _ref, _ref1, _ref2,
|
26857
|
+
__hasProp = {}.hasOwnProperty,
|
26824
26858
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
26825
26859
|
|
26826
26860
|
Teabag.Reporters.HTML.ProgressView = (function(_super) {
|
26827
|
-
|
26828
26861
|
__extends(ProgressView, _super);
|
26829
26862
|
|
26830
26863
|
function ProgressView() {
|
26831
|
-
|
26864
|
+
_ref = ProgressView.__super__.constructor.apply(this, arguments);
|
26865
|
+
return _ref;
|
26832
26866
|
}
|
26833
26867
|
|
26834
26868
|
ProgressView.create = function(displayProgress) {
|
@@ -26856,11 +26890,11 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26856
26890
|
})(Teabag.Reporters.BaseView);
|
26857
26891
|
|
26858
26892
|
Teabag.Reporters.HTML.SimpleProgressView = (function(_super) {
|
26859
|
-
|
26860
26893
|
__extends(SimpleProgressView, _super);
|
26861
26894
|
|
26862
26895
|
function SimpleProgressView() {
|
26863
|
-
|
26896
|
+
_ref1 = SimpleProgressView.__super__.constructor.apply(this, arguments);
|
26897
|
+
return _ref1;
|
26864
26898
|
}
|
26865
26899
|
|
26866
26900
|
SimpleProgressView.prototype.build = function() {
|
@@ -26870,6 +26904,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26870
26904
|
|
26871
26905
|
SimpleProgressView.prototype.update = function(total, run) {
|
26872
26906
|
var percent;
|
26907
|
+
|
26873
26908
|
percent = total ? Math.ceil((run * 100) / total) : 0;
|
26874
26909
|
return this.setHtml("progress-percent", "" + percent + "%");
|
26875
26910
|
};
|
@@ -26879,11 +26914,11 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26879
26914
|
})(Teabag.Reporters.HTML.ProgressView);
|
26880
26915
|
|
26881
26916
|
Teabag.Reporters.HTML.RadialProgressView = (function(_super) {
|
26882
|
-
|
26883
26917
|
__extends(RadialProgressView, _super);
|
26884
26918
|
|
26885
26919
|
function RadialProgressView() {
|
26886
|
-
|
26920
|
+
_ref2 = RadialProgressView.__super__.constructor.apply(this, arguments);
|
26921
|
+
return _ref2;
|
26887
26922
|
}
|
26888
26923
|
|
26889
26924
|
RadialProgressView.supported = !!document.createElement("canvas").getContext;
|
@@ -26894,7 +26929,8 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26894
26929
|
};
|
26895
26930
|
|
26896
26931
|
RadialProgressView.prototype.appendTo = function() {
|
26897
|
-
var canvas;
|
26932
|
+
var canvas, e;
|
26933
|
+
|
26898
26934
|
RadialProgressView.__super__.appendTo.apply(this, arguments);
|
26899
26935
|
this.size = 80;
|
26900
26936
|
try {
|
@@ -26903,13 +26939,14 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26903
26939
|
this.ctx = canvas.getContext("2d");
|
26904
26940
|
this.ctx.strokeStyle = "#fff";
|
26905
26941
|
return this.ctx.lineWidth = 1.5;
|
26906
|
-
} catch (
|
26907
|
-
|
26942
|
+
} catch (_error) {
|
26943
|
+
e = _error;
|
26908
26944
|
}
|
26909
26945
|
};
|
26910
26946
|
|
26911
26947
|
RadialProgressView.prototype.update = function(total, run) {
|
26912
26948
|
var half, percent;
|
26949
|
+
|
26913
26950
|
percent = total ? Math.ceil((run * 100) / total) : 0;
|
26914
26951
|
this.setHtml("progress-percent", "" + percent + "%");
|
26915
26952
|
if (!this.ctx) {
|
@@ -26949,6 +26986,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26949
26986
|
|
26950
26987
|
SpecView.prototype.build = function() {
|
26951
26988
|
var classes;
|
26989
|
+
|
26952
26990
|
classes = ["spec"];
|
26953
26991
|
if (this.spec.pending) {
|
26954
26992
|
classes.push("state-pending");
|
@@ -26961,6 +26999,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26961
26999
|
|
26962
27000
|
SpecView.prototype.buildParent = function() {
|
26963
27001
|
var parent, view;
|
27002
|
+
|
26964
27003
|
parent = this.spec.parent;
|
26965
27004
|
if (parent.viewId) {
|
26966
27005
|
return this.views.suites[parent.viewId];
|
@@ -26972,6 +27011,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26972
27011
|
|
26973
27012
|
SpecView.prototype.buildErrors = function() {
|
26974
27013
|
var div, error, html, _i, _len, _ref;
|
27014
|
+
|
26975
27015
|
div = this.createEl("div");
|
26976
27016
|
html = "";
|
26977
27017
|
_ref = this.spec.errors();
|
@@ -26985,6 +27025,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
26985
27025
|
|
26986
27026
|
SpecView.prototype.updateState = function(state, elapsed) {
|
26987
27027
|
var classes, result, _base;
|
27028
|
+
|
26988
27029
|
result = this.spec.result();
|
26989
27030
|
classes = ["state-" + state];
|
26990
27031
|
if (elapsed > Teabag.slow) {
|
@@ -27010,7 +27051,6 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27010
27051
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
27011
27052
|
|
27012
27053
|
Teabag.Reporters.HTML.FailureView = (function(_super) {
|
27013
|
-
|
27014
27054
|
__extends(FailureView, _super);
|
27015
27055
|
|
27016
27056
|
function FailureView(spec) {
|
@@ -27020,6 +27060,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27020
27060
|
|
27021
27061
|
FailureView.prototype.build = function() {
|
27022
27062
|
var error, html, _i, _len, _ref;
|
27063
|
+
|
27023
27064
|
FailureView.__super__.build.call(this, "spec");
|
27024
27065
|
html = "<h1 class=\"teabag-clearfix\"><a href=\"" + this.spec.link + "\">" + this.spec.fullDescription + "</a></h1>";
|
27025
27066
|
_ref = this.spec.errors();
|
@@ -27065,6 +27106,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27065
27106
|
|
27066
27107
|
SuiteView.prototype.buildParent = function() {
|
27067
27108
|
var parent, view;
|
27109
|
+
|
27068
27110
|
parent = this.suite.parent;
|
27069
27111
|
if (!parent) {
|
27070
27112
|
return this.reporter;
|
@@ -27086,6 +27128,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27086
27128
|
|
27087
27129
|
SuiteView.prototype.updateState = function(state) {
|
27088
27130
|
var _base;
|
27131
|
+
|
27089
27132
|
if (this.state === "failed") {
|
27090
27133
|
return;
|
27091
27134
|
}
|
@@ -27102,7 +27145,6 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27102
27145
|
|
27103
27146
|
}).call(this);
|
27104
27147
|
(function() {
|
27105
|
-
|
27106
27148
|
Teabag.Reporters.HTML.template = "<div class=\"teabag-clearfix\">\n <div id=\"teabag-title\">\n <h1><a href=\"\" id=\"teabag-root-link\">Teabag</a></h1>\n <ul>\n <li>version: <b id=\"teabag-version\"></b></li>\n <li id=\"teabag-env-info\"></li>\n </ul>\n </div>\n <div id=\"teabag-progress\"></div>\n <ul id=\"teabag-stats\">\n <li>passes: <b id=\"teabag-stats-passes\">0</b></li>\n <li>failures: <b id=\"teabag-stats-failures\">0</b></li>\n <li>skipped: <b id=\"teabag-stats-skipped\">0</b></li>\n <li>duration: <b id=\"teabag-stats-duration\">∞</b></li>\n </ul>\n</div>\n\n<div id=\"teabag-controls\" class=\"teabag-clearfix\">\n <div id=\"teabag-toggles\">\n <button id=\"teabag-use-catch\" title=\"Toggle using try/catch wrappers when possible\">Try/Catch</button>\n <button id=\"teabag-build-full-report\" title=\"Toggle building the full report\">Full Report</button>\n <button id=\"teabag-display-progress\" title=\"Toggle displaying progress as tests run\">Progress</button>\n </div>\n <div id=\"teabag-suites\"></div>\n</div>\n\n<hr/>\n\n<div id=\"teabag-filter\">\n <h1>Filtering</h1>\n <ul id=\"teabag-filter-list\"></ul>\n</div>\n\n<div id=\"teabag-report\">\n <ol id=\"teabag-report-failures\"></ol>\n <ol id=\"teabag-report-all\"></ol>\n</div>";
|
27107
27149
|
|
27108
27150
|
}).call(this);
|
@@ -27110,10 +27152,8 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27110
27152
|
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
27111
27153
|
|
27112
27154
|
Teabag.Reporters.Console = (function() {
|
27113
|
-
|
27114
27155
|
function Console() {
|
27115
|
-
this.reportRunnerResults = __bind(this.reportRunnerResults, this);
|
27116
|
-
this.start = new Teabag.Date();
|
27156
|
+
this.reportRunnerResults = __bind(this.reportRunnerResults, this); this.start = new Teabag.Date();
|
27117
27157
|
this.suites = {};
|
27118
27158
|
}
|
27119
27159
|
|
@@ -27127,6 +27167,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27127
27167
|
|
27128
27168
|
Console.prototype.reportSuites = function() {
|
27129
27169
|
var index, suite, _i, _len, _ref, _results;
|
27170
|
+
|
27130
27171
|
_ref = this.spec.getParents();
|
27131
27172
|
_results = [];
|
27132
27173
|
for (index = _i = 0, _len = _ref.length; _i < _len; index = ++_i) {
|
@@ -27146,6 +27187,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27146
27187
|
|
27147
27188
|
Console.prototype.reportSpecResults = function(spec) {
|
27148
27189
|
var result;
|
27190
|
+
|
27149
27191
|
this.spec = new Teabag.Spec(spec);
|
27150
27192
|
result = this.spec.result();
|
27151
27193
|
if (result.skipped) {
|
@@ -27170,6 +27212,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27170
27212
|
|
27171
27213
|
Console.prototype.trackPending = function() {
|
27172
27214
|
var result;
|
27215
|
+
|
27173
27216
|
result = this.spec.result();
|
27174
27217
|
return this.log({
|
27175
27218
|
type: "spec",
|
@@ -27182,6 +27225,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27182
27225
|
|
27183
27226
|
Console.prototype.trackFailure = function() {
|
27184
27227
|
var error, result, _i, _len, _ref, _results;
|
27228
|
+
|
27185
27229
|
result = this.spec.result();
|
27186
27230
|
_ref = this.spec.errors();
|
27187
27231
|
_results = [];
|
@@ -27229,17 +27273,16 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27229
27273
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
27230
27274
|
|
27231
27275
|
Teabag.Reporters.Console = (function(_super) {
|
27232
|
-
|
27233
27276
|
__extends(Console, _super);
|
27234
27277
|
|
27235
27278
|
function Console() {
|
27236
|
-
this.bindScenarioOutput = __bind(this.bindScenarioOutput, this);
|
27237
|
-
Console.__super__.constructor.apply(this, arguments);
|
27279
|
+
this.bindScenarioOutput = __bind(this.bindScenarioOutput, this); Console.__super__.constructor.apply(this, arguments);
|
27238
27280
|
angular.scenario.output("teabag", this.bindScenarioOutput);
|
27239
27281
|
}
|
27240
27282
|
|
27241
27283
|
Console.prototype.bindScenarioOutput = function(context, runner, model) {
|
27242
27284
|
var _this = this;
|
27285
|
+
|
27243
27286
|
model.on("runnerBegin", function() {
|
27244
27287
|
return _this.reportRunnerStarting({
|
27245
27288
|
total: angular.scenario.Describe.specId
|
@@ -27264,17 +27307,16 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27264
27307
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
27265
27308
|
|
27266
27309
|
Teabag.Reporters.HTML = (function(_super) {
|
27267
|
-
|
27268
27310
|
__extends(HTML, _super);
|
27269
27311
|
|
27270
27312
|
function HTML() {
|
27271
|
-
this.bindScenarioOutput = __bind(this.bindScenarioOutput, this);
|
27272
|
-
HTML.__super__.constructor.apply(this, arguments);
|
27313
|
+
this.bindScenarioOutput = __bind(this.bindScenarioOutput, this); HTML.__super__.constructor.apply(this, arguments);
|
27273
27314
|
angular.scenario.output("teabag", this.bindScenarioOutput);
|
27274
27315
|
}
|
27275
27316
|
|
27276
27317
|
HTML.prototype.bindScenarioOutput = function(context, runner, model) {
|
27277
27318
|
var _this = this;
|
27319
|
+
|
27278
27320
|
model.on("specEnd", function(spec) {
|
27279
27321
|
return _this.reportSpecResults(spec);
|
27280
27322
|
});
|
@@ -27283,6 +27325,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27283
27325
|
});
|
27284
27326
|
return model.on("runnerBegin", function() {
|
27285
27327
|
var header, specs;
|
27328
|
+
|
27286
27329
|
_this.reportRunnerStarting({
|
27287
27330
|
total: angular.scenario.Describe.specId
|
27288
27331
|
});
|
@@ -27307,15 +27350,16 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27307
27350
|
|
27308
27351
|
}).call(this);
|
27309
27352
|
(function() {
|
27310
|
-
var
|
27353
|
+
var _ref,
|
27354
|
+
__hasProp = {}.hasOwnProperty,
|
27311
27355
|
__extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
|
27312
27356
|
|
27313
27357
|
Teabag.Runner = (function(_super) {
|
27314
|
-
|
27315
27358
|
__extends(Runner, _super);
|
27316
27359
|
|
27317
27360
|
function Runner() {
|
27318
|
-
|
27361
|
+
_ref = Runner.__super__.constructor.apply(this, arguments);
|
27362
|
+
return _ref;
|
27319
27363
|
}
|
27320
27364
|
|
27321
27365
|
Runner.prototype.setup = function() {
|
@@ -27330,7 +27374,6 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27330
27374
|
})(Teabag.Runner);
|
27331
27375
|
|
27332
27376
|
Teabag.Spec = (function() {
|
27333
|
-
|
27334
27377
|
function Spec(spec) {
|
27335
27378
|
this.spec = spec;
|
27336
27379
|
this.fullDescription = "" + this.spec.fullDefinitionName + ": " + this.spec.name;
|
@@ -27347,14 +27390,15 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27347
27390
|
};
|
27348
27391
|
|
27349
27392
|
Spec.prototype.errors = function() {
|
27350
|
-
var step, _i, _len,
|
27393
|
+
var step, _i, _len, _ref1, _results;
|
27394
|
+
|
27351
27395
|
if (!this.spec.steps) {
|
27352
27396
|
return [];
|
27353
27397
|
}
|
27354
|
-
|
27398
|
+
_ref1 = this.spec.steps;
|
27355
27399
|
_results = [];
|
27356
|
-
for (_i = 0, _len =
|
27357
|
-
step =
|
27400
|
+
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
|
27401
|
+
step = _ref1[_i];
|
27358
27402
|
if (step.status === "success") {
|
27359
27403
|
continue;
|
27360
27404
|
}
|
@@ -27368,6 +27412,7 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27368
27412
|
|
27369
27413
|
Spec.prototype.result = function() {
|
27370
27414
|
var status;
|
27415
|
+
|
27371
27416
|
status = "failed";
|
27372
27417
|
if (this.spec.status === "success") {
|
27373
27418
|
status = "passed";
|
@@ -27383,7 +27428,6 @@ angular.element(document).find('head').append('<style type="text/css">@charset "
|
|
27383
27428
|
})();
|
27384
27429
|
|
27385
27430
|
Teabag.Suite = (function() {
|
27386
|
-
|
27387
27431
|
function Suite(suite) {
|
27388
27432
|
this.suite = suite;
|
27389
27433
|
this.fullDescription = this.suite.fullDefinitionName;
|