konacha-chai-matchers 0.1.5 → 0.1.6

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.
@@ -1,5 +1,6 @@
1
- // Generated by CoffeeScript 1.6.3
1
+ // Generated by CoffeeScript 1.4.0
2
2
  (function() {
3
+
3
4
  (function(chaiChanges) {
4
5
  if (typeof require === "function" && typeof exports === "object" && typeof module === "object") {
5
6
  return module.exports = chaiChanges;
@@ -37,7 +38,7 @@
37
38
  done = function() {};
38
39
  }
39
40
  promiseCallback = function() {
40
- var error, _j, _len1;
41
+ var _j, _len1;
41
42
  try {
42
43
  for (_j = 0, _len1 = definedActions.length; _j < _len1; _j++) {
43
44
  action = definedActions[_j];
@@ -46,8 +47,7 @@
46
47
  }
47
48
  }
48
49
  return done();
49
- } catch (_error) {
50
- error = _error;
50
+ } catch (error) {
51
51
  done(error);
52
52
  throw error;
53
53
  }
@@ -130,7 +130,11 @@
130
130
  changed = !utils.eql(startValue, endValue);
131
131
  context.assert(changed, "expected `" + (formatFunction(object)) + "` to change to " + (utils.inspect(this.expectedEndValue)) + ", but it did not change from " + (utils.inspect(startValue)), "not supported");
132
132
  }
133
- result = utils.eql(endValue, this.expectedEndValue);
133
+ if (this.expectedEndValue instanceof RegExp) {
134
+ result = this.expectedEndValue.test(endValue);
135
+ } else {
136
+ result = utils.eql(endValue, this.expectedEndValue);
137
+ }
134
138
  context.assert(result, "expected `" + (formatFunction(object)) + "` to change to " + (utils.inspect(this.expectedEndValue)) + ", but it changed to " + (utils.inspect(endValue)), "expected `" + (formatFunction(object)) + "` not to change to " + (utils.inspect(this.expectedEndValue)) + ", but it did");
135
139
  return flag(context, 'negate', negate);
136
140
  };
@@ -140,7 +144,11 @@
140
144
  flag(context, 'negate', this.negate);
141
145
  object = flag(context, 'whenObject');
142
146
  startValue = object();
143
- result = utils.eql(startValue, this.expectedStartValue);
147
+ if (this.expectedStartValue instanceof RegExp) {
148
+ result = this.expectedStartValue.test(startValue);
149
+ } else {
150
+ result = utils.eql(startValue, this.expectedStartValue);
151
+ }
144
152
  context.assert(result, "expected the change of `" + (formatFunction(object)) + "` to start from " + (utils.inspect(this.expectedStartValue)) + ", but it started from " + (utils.inspect(startValue)), "expected the change of `" + (formatFunction(object)) + "` not to start from " + (utils.inspect(this.expectedStartValue)) + ", but it did");
145
153
  return flag(context, 'negate', negate);
146
154
  };
@@ -21,6 +21,26 @@
21
21
  flag = utils.flag;
22
22
  $ = $ || jQuery;
23
23
 
24
+ var setPrototypeOf = '__proto__' in Object ?
25
+ function (object, prototype) {
26
+ object.__proto__ = prototype;
27
+ } :
28
+ function (object, prototype) {
29
+ var excludeNames = /^(?:length|name|arguments|caller)$/;
30
+
31
+ function copyProperties(dst, src) {
32
+ Object.getOwnPropertyNames(src).forEach(function (name) {
33
+ if (!excludeNames.test(name)) {
34
+ Object.defineProperty(dst, name,
35
+ Object.getOwnPropertyDescriptor(src, name));
36
+ }
37
+ });
38
+ }
39
+
40
+ copyProperties(object, prototype);
41
+ copyProperties(object, Object.getPrototypeOf(prototype));
42
+ };
43
+
24
44
  $.fn.inspect = function (depth) {
25
45
  var el = $('<div />').append(this.clone());
26
46
  if (depth !== undefined) {
@@ -171,7 +191,7 @@
171
191
  _super.apply(this, arguments);
172
192
  }
173
193
  };
174
- be.__proto__ = this;
194
+ setPrototypeOf(be, this);
175
195
  return be;
176
196
  }
177
197
  });
@@ -208,7 +228,7 @@
208
228
  Function.prototype.apply.call(_super.call(this), this, arguments);
209
229
  }
210
230
  };
211
- contain.__proto__ = this;
231
+ setPrototypeOf(contain, this);
212
232
  return contain;
213
233
  }
214
234
  });
@@ -227,7 +247,7 @@
227
247
  , selector
228
248
  );
229
249
  };
230
- have.__proto__ = this;
250
+ setPrototypeOf(have, this);
231
251
  return have;
232
252
  } else {
233
253
  _super.call(this);
@@ -60,8 +60,13 @@
60
60
  }((function () {
61
61
  "use strict";
62
62
 
63
- function isPromise(x) {
64
- return typeof x === "object" && x !== null && typeof x.then === "function";
63
+ function getThen(x) {
64
+ if ((typeof x === "object" || typeof x === "function") && x !== null) {
65
+ var then = x.then;
66
+ if (typeof then === "function") {
67
+ return then;
68
+ }
69
+ }
65
70
  }
66
71
 
67
72
  var duckPunchedAlready = false;
@@ -111,9 +116,11 @@
111
116
  // within a suite.
112
117
  var retVal = fn.call(this, done);
113
118
 
114
- if (isPromise(retVal)) {
119
+ var then = getThen(retVal);
120
+ if (then) {
115
121
  // If we get a promise back...
116
- retVal.then(
122
+ then.call(
123
+ retVal,
117
124
  function () {
118
125
  // On fulfillment, ignore the fulfillment value and call `done()` with no arguments.
119
126
  done();