teabag 0.3.6 → 0.4.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 (106) hide show
  1. data/README.md +6 -6
  2. data/app/assets/javascripts/teabag/jasmine.coffee +1 -1
  3. data/app/assets/javascripts/teabag/mocha/reporters/html.coffee +1 -1
  4. data/app/assets/javascripts/teabag/mocha.coffee +1 -1
  5. data/app/assets/javascripts/teabag-jasmine.js +23 -23
  6. data/app/assets/javascripts/teabag-mocha.js +19 -5
  7. data/app/assets/javascripts/teabag-qunit.js +3 -0
  8. data/lib/generators/teabag/install/templates/spec_helper.js +3 -3
  9. data/lib/teabag/version.rb +1 -1
  10. data/spec/dummy/config/initializers/teabag.rb +1 -1
  11. data/spec/dummy/log/development.log +3239 -0
  12. data/spec/dummy/log/test.log +17 -0
  13. data/spec/dummy/tmp/cache/assets/C1C/2A0/sprockets%2F5820652740cdd23312489d2168c02e69 +0 -0
  14. data/spec/dummy/tmp/cache/assets/C35/510/sprockets%2Fb5f1121863a3025179f1a621e7127b10 +0 -0
  15. data/spec/dummy/tmp/cache/assets/C51/3F0/sprockets%2F759a198d3c007241619a48f992210a5e +0 -0
  16. data/spec/dummy/tmp/cache/assets/C75/D50/sprockets%2F5302968a40e08d2c011aa38666d273f6 +0 -0
  17. data/spec/dummy/tmp/cache/assets/C7D/8F0/sprockets%2Ff13d01b85f2449a4f0638ff260425906 +0 -0
  18. data/spec/dummy/tmp/cache/assets/C8A/460/sprockets%2F77bffd9959420103906722b404ae8d59 +0 -0
  19. data/spec/dummy/tmp/cache/assets/C92/CB0/sprockets%2F45739dff24234d860f5b75254966b49a +0 -0
  20. data/spec/dummy/tmp/cache/assets/CA9/C40/sprockets%2F932b7e2cd1e067289ab51190800814df +0 -0
  21. data/spec/dummy/tmp/cache/assets/CAD/410/sprockets%2F651414e5c7e86f05c5108dc71626b25c +0 -0
  22. data/spec/dummy/tmp/cache/assets/CBB/FA0/sprockets%2F74922109263bdc965b2e9567eec6d154 +0 -0
  23. data/spec/dummy/tmp/cache/assets/CBD/AF0/sprockets%2Fd687ec33822256e9444e8cd04f1b4873 +0 -0
  24. data/spec/dummy/tmp/cache/assets/CBF/630/sprockets%2F707d2db81468088470d476abff35388d +0 -0
  25. data/spec/dummy/tmp/cache/assets/CC8/830/sprockets%2F0b287580513a016ea8cc914bbfe03016 +0 -0
  26. data/spec/dummy/tmp/cache/assets/CCE/C50/sprockets%2Fe12774c2fea852112414bb379a71f31a +0 -0
  27. data/spec/dummy/tmp/cache/assets/CD1/620/sprockets%2F06a3eb05fcb4175a679d6084a06026a6 +0 -0
  28. data/spec/dummy/tmp/cache/assets/CD3/460/sprockets%2F7f3f6802b0b309ed142d0b671c9640c4 +0 -0
  29. data/spec/dummy/tmp/cache/assets/CDC/E90/sprockets%2F019bff716c58b9c1f2221562fe29c170 +0 -0
  30. data/spec/dummy/tmp/cache/assets/CE0/090/sprockets%2F48d5d35ae87d0723318b8bc257fa2237 +0 -0
  31. data/spec/dummy/tmp/cache/assets/CE6/270/sprockets%2F2c98152560d18470fec8cf4c6829b4d0 +0 -0
  32. data/spec/dummy/tmp/cache/assets/CE6/7C0/sprockets%2Fa03a2c86ce6724be8542295e1cf24798 +0 -0
  33. data/spec/dummy/tmp/cache/assets/CE7/A60/sprockets%2Ff58eee249aa167d23f8220087bb46684 +0 -0
  34. data/spec/dummy/tmp/cache/assets/CE9/9E0/sprockets%2F135480d497ed7e4884462dc0ef0b80d7 +0 -0
  35. data/spec/dummy/tmp/cache/assets/CEB/B40/sprockets%2F1150bf8d912aa100a132251eefaf6045 +0 -0
  36. data/spec/dummy/tmp/cache/assets/CEE/930/sprockets%2Fe196521e15fd8d33e3261d5538fe8f92 +0 -0
  37. data/spec/dummy/tmp/cache/assets/CF1/C50/sprockets%2F57bd9ac92067ea01882feef075582758 +0 -0
  38. data/spec/dummy/tmp/cache/assets/CF3/3A0/sprockets%2F6571249b82eb52e7c7e035c692df9b69 +0 -0
  39. data/spec/dummy/tmp/cache/assets/CFB/210/sprockets%2F9104695bfbf9a9d4b94382e6e90487a9 +0 -0
  40. data/spec/dummy/tmp/cache/assets/CFC/380/sprockets%2Fa7443cbd671446a589867dd5f4a4f989 +0 -0
  41. data/spec/dummy/tmp/cache/assets/D00/110/sprockets%2F6a6353b7723a8b21708e0fbfe04bd422 +0 -0
  42. data/spec/dummy/tmp/cache/assets/D02/570/sprockets%2F51fa8dc514e6256ae0836d5eb24e0312 +0 -0
  43. data/spec/dummy/tmp/cache/assets/D03/630/sprockets%2F5d8da32dba6a7be70426a1d554773701 +0 -0
  44. data/spec/dummy/tmp/cache/assets/D04/170/sprockets%2F76ab1dc02e6c7618852708a1e05a2df3 +0 -0
  45. data/spec/dummy/tmp/cache/assets/D04/480/sprockets%2F8bd8f10500b21d2f9d94e4cd1401c936 +0 -0
  46. data/spec/dummy/tmp/cache/assets/D05/8D0/sprockets%2F319f8f235f452343f1ebf03cb262d23d +0 -0
  47. data/spec/dummy/tmp/cache/assets/D09/BF0/sprockets%2F9e6bca5d26f50d9484385d51ba04312c +0 -0
  48. data/spec/dummy/tmp/cache/assets/D0B/210/sprockets%2Fb95ce127097fba0e4019f633e91b730d +0 -0
  49. data/spec/dummy/tmp/cache/assets/D21/240/sprockets%2Ffdd497fc5d8257a9e4a0aa2473798184 +0 -0
  50. data/spec/dummy/tmp/cache/assets/D2F/520/sprockets%2Fea2308e8add6880c1c4d47040ab710d7 +0 -0
  51. data/spec/dummy/tmp/cache/assets/D31/9C0/sprockets%2Fbd102a4f5a4985c3519dd6ab0295a1c6 +0 -0
  52. data/spec/dummy/tmp/cache/assets/D32/500/sprockets%2F6927df5a24d91c75d001e2b5600ab8be +0 -0
  53. data/spec/dummy/tmp/cache/assets/D35/7C0/sprockets%2Ff536a2606eaf7d542c0985104cb62baf +0 -0
  54. data/spec/dummy/tmp/cache/assets/D3C/840/sprockets%2Fc6202ec91d567a85bd3d46dc43ea9108 +0 -0
  55. data/spec/dummy/tmp/cache/assets/D44/0F0/sprockets%2Fc4d293b967c2e290deed3f3bd2271828 +0 -0
  56. data/spec/dummy/tmp/cache/assets/D49/A10/sprockets%2Fc4656bd995a6f297c26d19b13aadb963 +0 -0
  57. data/spec/dummy/tmp/cache/assets/D50/D70/sprockets%2Fe2a3e6c95b11e0801a4eebae3a026026 +0 -0
  58. data/spec/dummy/tmp/cache/assets/D51/400/sprockets%2Ff5e433d8a31e80985b75ce598de236be +0 -0
  59. data/spec/dummy/tmp/cache/assets/D67/BC0/sprockets%2F35d2c2b45981ade5a2db2a9c7f37a615 +0 -0
  60. data/spec/dummy/tmp/cache/assets/D67/C20/sprockets%2F0d30bf27e5f74bbd85f313cb8d3c4623 +0 -0
  61. data/spec/dummy/tmp/cache/assets/D69/F90/sprockets%2F6a0795b7b38bd7e6142cd1b88211dade +0 -0
  62. data/spec/dummy/tmp/cache/assets/D6B/6E0/sprockets%2F266d99da1afe084cac250a6ba864c565 +0 -0
  63. data/spec/dummy/tmp/cache/assets/D6D/530/sprockets%2F8d52dee91bff01a8a2306d8a7c9152a9 +0 -0
  64. data/spec/dummy/tmp/cache/assets/D6D/DA0/sprockets%2Fac936bf40b42227a2bf9d474ae9ec149 +0 -0
  65. data/spec/dummy/tmp/cache/assets/D6F/5B0/sprockets%2F5dcc801a7a6c340c5baf525839f9b8b6 +0 -0
  66. data/spec/dummy/tmp/cache/assets/D78/2F0/sprockets%2F3c61f8915b8f717b1de788e6ecad122c +0 -0
  67. data/spec/dummy/tmp/cache/assets/D78/F10/sprockets%2Fa2d995664d1a9bf976c1bfbbb90f8710 +0 -0
  68. data/spec/dummy/tmp/cache/assets/D8C/520/sprockets%2F221cd58a042baac534d27e4cfedc1188 +0 -0
  69. data/spec/dummy/tmp/cache/assets/DA9/BF0/sprockets%2Fc59f8f7bf494fe030610bc86bb7cc5e5 +0 -0
  70. data/spec/dummy/tmp/cache/assets/DAE/6C0/sprockets%2F77c7a8676aeefa73156c55dfcf51cc46 +0 -0
  71. data/spec/dummy/tmp/cache/assets/DAF/7C0/sprockets%2F8942514d59e7bffbfb33cde6fa9735c2 +0 -0
  72. data/spec/dummy/tmp/cache/assets/DB5/040/sprockets%2F9a9da5df88713663b9fbc945facca891 +0 -0
  73. data/spec/dummy/tmp/cache/assets/DC3/230/sprockets%2Fdf52e72eb73be91eccc60182191aed0b +0 -0
  74. data/spec/dummy/tmp/cache/assets/DC7/A10/sprockets%2F84a8af0fcbf401864e1ae5bf092cba94 +0 -0
  75. data/spec/dummy/tmp/cache/assets/DC8/110/sprockets%2Faf09fc16a29e34c256dbbfa80a44b97b +0 -0
  76. data/spec/dummy/tmp/cache/assets/DCD/EB0/sprockets%2F4f77f509126ecbced7ea2a5ab290c8d4 +0 -0
  77. data/spec/dummy/tmp/cache/assets/DDB/EF0/sprockets%2Fe790bb18b64df8aa0a9fe94642a9edd8 +0 -0
  78. data/spec/dummy/tmp/cache/assets/DF6/0E0/sprockets%2F85b10db6e1afe643aba6d396abdd77f0 +0 -0
  79. data/spec/dummy/tmp/cache/assets/DF7/E10/sprockets%2F25e4253aba9a9adcefb72552fb1ff0c8 +0 -0
  80. data/spec/dummy/tmp/cache/assets/DF9/AD0/sprockets%2Fc700afd7cee3fe9d7ff8352b213b2c4a +0 -0
  81. data/spec/dummy/tmp/cache/assets/DFC/C30/sprockets%2Fb50a07cb30b0bd0eec8e98e5de79d65d +0 -0
  82. data/spec/dummy/tmp/cache/assets/E00/2B0/sprockets%2Fffeda2454f8128abad731f07d7ea88da +0 -0
  83. data/spec/dummy/tmp/cache/assets/E02/6E0/sprockets%2F63d6a5cdb8cefa64ef76b5c6e0fd3720 +0 -0
  84. data/spec/dummy/tmp/cache/assets/E08/F20/sprockets%2F4fc5cdcd6974efe7adfe809b30bd6513 +0 -0
  85. data/spec/dummy/tmp/cache/assets/E0D/070/sprockets%2F0e7ef9a5978dcc6b1abce678ef836c0a +0 -0
  86. data/spec/dummy/tmp/cache/assets/E14/8E0/sprockets%2Fb8d902ffcf8758fde63d0fa579ba6d4e +0 -0
  87. data/spec/dummy/tmp/cache/assets/E17/EF0/sprockets%2Fa291ad64a26afd055dfadabbdf03f154 +0 -0
  88. data/spec/dummy/tmp/cache/assets/E2F/790/sprockets%2F7fac280deaa7ef20a77d5c9b5b9cfc34 +0 -0
  89. data/spec/dummy/tmp/cache/assets/E41/250/sprockets%2F97cf8fe3d7ffaff076f655aefb36da03 +0 -0
  90. data/spec/dummy/tmp/cache/assets/E6E/260/sprockets%2Fd9f8ab8b91ef582cc6c99a3ba0dedfe6 +0 -0
  91. data/spec/dummy/tmp/cache/assets/F79/360/sprockets%2F0ce035fefee5ebdabc8efabfbdbd6ee4 +0 -0
  92. data/spec/javascripts/jasmine_helper.coffee +1 -1
  93. data/spec/javascripts/mocha_helper.coffee +2 -1
  94. data/spec/javascripts/teabag/jasmine/reporters/html_jspec.coffee +1 -1
  95. data/spec/javascripts/teabag/mocha/reporters/html_mspec.coffee +1 -1
  96. data/vendor/assets/javascripts/{jasmine-1.3.0.MIT.LICENSE → jasmine-1.3.1.MIT.LICENSE} +0 -0
  97. data/vendor/assets/javascripts/{jasmine-1.3.0.js → jasmine-1.3.1.js} +23 -23
  98. data/vendor/assets/javascripts/{mocha-1.7.3.MIT.LICENSE → mocha-1.7.4.MIT.LICENSE} +0 -0
  99. data/vendor/assets/javascripts/{mocha-1.7.3.js → mocha-1.7.4.js} +18 -4
  100. data/vendor/assets/javascripts/{expect.MIT.LICENSE → support/expect.MIT.LICENSE} +0 -0
  101. data/vendor/assets/javascripts/{expect.js → support/expect.js} +0 -0
  102. data/vendor/assets/javascripts/{jasmine-jquery.MIT.LICENSE → support/jasmine-jquery.MIT.LICENSE} +0 -0
  103. data/vendor/assets/javascripts/{jasmine-jquery.js → support/jasmine-jquery.js} +0 -0
  104. data/vendor/assets/javascripts/support/sinon.BSD.LICENSE +27 -0
  105. data/vendor/assets/javascripts/{sinon.js → support/sinon.js} +0 -0
  106. metadata +44 -13
@@ -4121,3 +4121,20 @@ Compiled drivers/phantomjs/runner.js (120ms) (pid 77945)
4121
4121
  Compiled teabag/phantomjs/runner_spec.js (265ms) (pid 77945)
4122
4122
  Rendered /Users/jejacks0n/Projects/teabag/app/views/teabag/spec/index.html.erb (1560.0ms)
4123
4123
  Completed 200 OK in 1570ms (Views: 1569.3ms)
4124
+ Started GET "/teabag/foo" for 127.0.0.1 at 2012-12-25 19:32:28 -0700
4125
+ Processing by Teabag::SpecController#index as */*
4126
+ Parameters: {"suite"=>"foo"}
4127
+ Compiled spec_helper.js (195ms) (pid 80451)
4128
+ Compiled teabag/base/reporters/console_spec.js (136ms) (pid 80451)
4129
+ Compiled teabag/base/reporters/html/base_view_spec.js (150ms) (pid 80451)
4130
+ Compiled teabag/base/reporters/html/failure_view_spec.js (95ms) (pid 80451)
4131
+ Compiled teabag/base/reporters/html/progress_view_spec.js (96ms) (pid 80451)
4132
+ Compiled teabag/base/reporters/html/spec_view_spec.js (103ms) (pid 80451)
4133
+ Compiled teabag/base/reporters/html/suite_view_spec.js (96ms) (pid 80451)
4134
+ Compiled teabag/base/reporters/html_spec.js (170ms) (pid 80451)
4135
+ Compiled teabag/base/runner_spec.js (118ms) (pid 80451)
4136
+ Compiled teabag/base/teabag_spec.js (112ms) (pid 80451)
4137
+ Compiled drivers/phantomjs/runner.js (122ms) (pid 80451)
4138
+ Compiled teabag/phantomjs/runner_spec.js (271ms) (pid 80451)
4139
+ Rendered /Users/jejacks0n/Projects/teabag/app/views/teabag/spec/index.html.erb (1704.9ms)
4140
+ Completed 200 OK in 1719ms (Views: 1719.1ms)
@@ -1,3 +1,3 @@
1
1
  #= require jquery
2
- #= require jasmine-jquery
2
+ #= require support/jasmine-jquery
3
3
  #= require ./spec_helper
@@ -1,3 +1,4 @@
1
- #= require sinon
1
+ #= require support/sinon
2
+ #= require support/expect
2
3
  #= require ./spec_helper
3
4
  window.assert = sinon.assert
@@ -14,4 +14,4 @@ describe "Jasmine Teabag.Reporters.HTML", ->
14
14
  describe "#envInfo", ->
15
15
 
16
16
  it "returns jasmine version information", ->
17
- expect(@reporter.envInfo()).toBe("jasmine 1.3.0 revision 1354052693")
17
+ expect(@reporter.envInfo()).toBe("jasmine 1.3.1 revision 1354556913")
@@ -33,7 +33,7 @@ describe "Mocha Teabag.Reporters.HTML", ->
33
33
  describe "#envInfo", ->
34
34
 
35
35
  it "returns the version", ->
36
- expect(@reporter.envInfo()).to.eql("mocha 1.7.3")
36
+ expect(@reporter.envInfo()).to.be("mocha 1.7.4")
37
37
 
38
38
 
39
39
  describe "Mocha Teabag.Reporters.HTML.SpecView", ->
@@ -220,7 +220,7 @@ jasmine.any = function(clazz) {
220
220
  * @returns matchable object for the sample
221
221
  */
222
222
  jasmine.objectContaining = function (sample) {
223
- return new jasmine.Matchers.ObjectContaining(sample);
223
+ return new jasmine.Matchers.ObjectContaining(sample);
224
224
  };
225
225
 
226
226
  /**
@@ -629,15 +629,15 @@ jasmine.XmlHttpRequest = (typeof XMLHttpRequest == "undefined") ? function() {
629
629
  var xhr = tryIt(function() {
630
630
  return new ActiveXObject("Msxml2.XMLHTTP.6.0");
631
631
  }) ||
632
- tryIt(function() {
633
- return new ActiveXObject("Msxml2.XMLHTTP.3.0");
634
- }) ||
635
- tryIt(function() {
636
- return new ActiveXObject("Msxml2.XMLHTTP");
637
- }) ||
638
- tryIt(function() {
639
- return new ActiveXObject("Microsoft.XMLHTTP");
640
- });
632
+ tryIt(function() {
633
+ return new ActiveXObject("Msxml2.XMLHTTP.3.0");
634
+ }) ||
635
+ tryIt(function() {
636
+ return new ActiveXObject("Msxml2.XMLHTTP");
637
+ }) ||
638
+ tryIt(function() {
639
+ return new ActiveXObject("Microsoft.XMLHTTP");
640
+ });
641
641
 
642
642
  if (!xhr) throw new Error("This browser does not support XMLHttpRequest.");
643
643
 
@@ -695,8 +695,8 @@ jasmine.util.formatException = function(e) {
695
695
  jasmine.util.htmlEscape = function(str) {
696
696
  if (!str) return str;
697
697
  return str.replace(/&/g, '&')
698
- .replace(/</g, '&lt;')
699
- .replace(/>/g, '&gt;');
698
+ .replace(/</g, '&lt;')
699
+ .replace(/>/g, '&gt;');
700
700
  };
701
701
 
702
702
  jasmine.util.argsToArray = function(args) {
@@ -1102,7 +1102,7 @@ jasmine.JsApiReporter.prototype.summarize_ = function(suiteOrSpec) {
1102
1102
  type: isSuite ? 'suite' : 'spec',
1103
1103
  children: []
1104
1104
  };
1105
-
1105
+
1106
1106
  if (isSuite) {
1107
1107
  var children = suiteOrSpec.children();
1108
1108
  for (var i = 0; i < children.length; i++) {
@@ -1328,11 +1328,11 @@ jasmine.Matchers.prototype.toBeNull = function() {
1328
1328
  * Matcher that compares the actual to NaN.
1329
1329
  */
1330
1330
  jasmine.Matchers.prototype.toBeNaN = function() {
1331
- this.message = function() {
1332
- return [ "Expected " + jasmine.pp(this.actual) + " to be NaN." ];
1333
- };
1331
+ this.message = function() {
1332
+ return [ "Expected " + jasmine.pp(this.actual) + " to be NaN." ];
1333
+ };
1334
1334
 
1335
- return (this.actual !== this.actual);
1335
+ return (this.actual !== this.actual);
1336
1336
  };
1337
1337
 
1338
1338
  /**
@@ -1931,8 +1931,8 @@ jasmine.PrettyPrinter.prototype.iterateObject = function(obj, fn) {
1931
1931
  for (var property in obj) {
1932
1932
  if (!obj.hasOwnProperty(property)) continue;
1933
1933
  if (property == '__Jasmine_been_here_before__') continue;
1934
- fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined &&
1935
- obj.__lookupGetter__(property) !== null) : false);
1934
+ fn(property, obj.__lookupGetter__ ? (obj.__lookupGetter__(property) !== jasmine.undefined &&
1935
+ obj.__lookupGetter__(property) !== null) : false);
1936
1936
  }
1937
1937
  };
1938
1938
 
@@ -2063,7 +2063,7 @@ jasmine.Queue.prototype.next_ = function() {
2063
2063
 
2064
2064
  while (goAgain) {
2065
2065
  goAgain = false;
2066
-
2066
+
2067
2067
  if (self.index < self.blocks.length && !(this.abort && !this.ensured[self.index])) {
2068
2068
  var calledSynchronously = true;
2069
2069
  var completedSynchronously = false;
@@ -2101,7 +2101,7 @@ jasmine.Queue.prototype.next_ = function() {
2101
2101
  if (completedSynchronously) {
2102
2102
  onComplete();
2103
2103
  }
2104
-
2104
+
2105
2105
  } else {
2106
2106
  self.running = false;
2107
2107
  if (self.onComplete) {
@@ -2597,6 +2597,6 @@ jasmine.WaitsForBlock.prototype.execute = function(onComplete) {
2597
2597
  jasmine.version_= {
2598
2598
  "major": 1,
2599
2599
  "minor": 3,
2600
- "build": 0,
2601
- "revision": 1354052693
2600
+ "build": 1,
2601
+ "revision": 1354556913
2602
2602
  };
@@ -3269,7 +3269,9 @@
3269
3269
 
3270
3270
  var self = this
3271
3271
  , stats = this.stats
3272
- , n = 1;
3272
+ , n = 1
3273
+ , passes = 0
3274
+ , failures = 1;
3273
3275
 
3274
3276
  runner.on('start', function(){
3275
3277
  var total = runner.grepTotal(runner.suite);
@@ -3285,13 +3287,21 @@
3285
3287
  });
3286
3288
 
3287
3289
  runner.on('pass', function(test){
3290
+ passes++;
3288
3291
  console.log('ok %d %s', n, title(test));
3289
3292
  });
3290
3293
 
3291
3294
  runner.on('fail', function(test, err){
3295
+ failures++;
3292
3296
  console.log('not ok %d %s', n, title(test));
3293
3297
  console.log(err.stack.replace(/^/gm, ' '));
3294
3298
  });
3299
+
3300
+ runner.on('end', function(){
3301
+ console.log('# tests ' + (passes + failures));
3302
+ console.log('# pass ' + passes);
3303
+ console.log('# fail ' + failures);
3304
+ });
3295
3305
  }
3296
3306
 
3297
3307
  /**
@@ -3847,7 +3857,7 @@
3847
3857
 
3848
3858
  // non-enumerables
3849
3859
  for (var i = 0; i < globals.length; ++i) {
3850
- if (~props.indexOf(globals[i])) continue;
3860
+ if (~utils.indexOf(props, globals[i])) continue;
3851
3861
  props.push(globals[i]);
3852
3862
  }
3853
3863
 
@@ -4218,7 +4228,9 @@
4218
4228
  // callback
4219
4229
  this.on('end', function(){
4220
4230
  debug('end');
4221
- process.removeListener('uncaughtException', function(err) { self.uncaught.call(self, err) });
4231
+ process.removeListener('uncaughtException', function(err){
4232
+ self.uncaught(err);
4233
+ });
4222
4234
  fn(self.failures);
4223
4235
  });
4224
4236
 
@@ -4230,7 +4242,9 @@
4230
4242
  });
4231
4243
 
4232
4244
  // uncaught exception
4233
- process.on('uncaughtException', function(err) { self.uncaught.call(self, err) });
4245
+ process.on('uncaughtException', function(err){
4246
+ self.uncaught(err);
4247
+ });
4234
4248
 
4235
4249
  return this;
4236
4250
  };
@@ -0,0 +1,27 @@
1
+ (The BSD License)
2
+
3
+ Copyright (c) 2010-2012, Christian Johansen, christian@cjohansen.no
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without modification,
7
+ are permitted provided that the following conditions are met:
8
+
9
+ * Redistributions of source code must retain the above copyright notice,
10
+ this list of conditions and the following disclaimer.
11
+ * Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+ * Neither the name of Christian Johansen nor the names of his contributors
15
+ may be used to endorse or promote products derived from this software
16
+ without specific prior written permission.
17
+
18
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
19
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.