a_mock 2.0.2 → 2.0.3

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 (89) hide show
  1. package/.github/workflows/ci.yml +19 -0
  2. package/README.md +615 -1
  3. package/and/newBinaryAndSpec/test.js +1 -7
  4. package/and/newMonadicAndSpec/test.js +2 -5
  5. package/andSpec/test.js +1 -4
  6. package/andSpec/testIntegration.js +1 -2
  7. package/eventEmitter/addSpec/test.js +2 -4
  8. package/eventEmitter/emitterContextSpec/test.js +2 -3
  9. package/eventEmitter/removeSpec/test.js +2 -4
  10. package/eventEmitter/tryAddSpec/test.js +3 -6
  11. package/eventEmitter/tryRemoveSpec/test.js +2 -5
  12. package/eventEmitterSpec/test.js +1 -7
  13. package/expectRequireSpec/test.js +1 -5
  14. package/index.d.ts +134 -105
  15. package/mock/mockContextSpec/test.js +2 -5
  16. package/mock/mockFuncProperties.js +37 -37
  17. package/mock/mockFuncPropertiesSpec/test.js +2 -5
  18. package/mock/objectMock.js +59 -46
  19. package/mock/objectMockSpec/test.js +10 -11
  20. package/mock/propertyMockSpec/test.js +2 -4
  21. package/mock/throwUnexpectedArgumentsSpec/test.js +2 -3
  22. package/mock.js +8 -8
  23. package/mockSpec/test.js +1 -5
  24. package/mockSpec/testIntegration.js +1 -5
  25. package/newMutableAndSpec/test.js +1 -5
  26. package/newThenSpec/testExecute.js +1 -5
  27. package/newThenSpec/testNoCallback.js +1 -3
  28. package/newThenSpec/testPreReject.js +2 -2
  29. package/newThenSpec/testPreRejectAndThrow.js +2 -2
  30. package/newThenSpec/testPreResolve.js +1 -2
  31. package/newThenSpec/testPreResolveAndThrow.js +2 -2
  32. package/newThenSpec/testReject.js +2 -2
  33. package/newThenSpec/testRejectAndThrow.js +2 -2
  34. package/newThenSpec/testResolve.js +1 -2
  35. package/newThenSpec/testResolveAndThrow.js +2 -2
  36. package/newThenSpec/testResolveWithFailingPromise.js +1 -2
  37. package/newThenSpec/testResolveWithPromise.js +1 -2
  38. package/newTrueNTimesThenFalseSpec/test.js +1 -6
  39. package/newTrueOnceThenFalseSpec/test.js +1 -4
  40. package/package.json +5 -1
  41. package/partialMock/execute.js +10 -10
  42. package/partialMock/executeSpec/test.js +1 -4
  43. package/partialMock/expectAnything.js +3 -1
  44. package/partialMock/expectAnythingSpec/test.js +2 -8
  45. package/partialMock/expectArraySpec/test.js +2 -3
  46. package/partialMock/expectCore.js +3 -1
  47. package/partialMock/expectCoreSpec/test.js +2 -14
  48. package/partialMock/expectEmptySpec/test.js +2 -10
  49. package/partialMock/expectSpec/test.js +2 -3
  50. package/partialMock/hasSameArgument/isEqualArgSpec/test.js +7 -31
  51. package/partialMock/ignoreSpec/test.js +2 -3
  52. package/partialMock/mockContext/reset.js +15 -15
  53. package/partialMock/mockContext/resetSpec/test.js +4 -4
  54. package/partialMock/negotiateDecrementExpectCountSpec/test.js +1 -4
  55. package/partialMock/negotiateEndSpec/test.js +1 -6
  56. package/partialMock/negotiateIncrementExpectCountSpec/test.js +1 -4
  57. package/partialMock/newExecute.js +9 -9
  58. package/partialMock/newExecuteSpec/test.js +2 -6
  59. package/partialMock/newFallbackWrapper.js +29 -29
  60. package/partialMock/newFallbackWrapperSpec/test.js +2 -6
  61. package/partialMock/newFallbackWrapperSpec/testWithMockError.js +2 -4
  62. package/partialMock/newFallbackWrapperSpec/testWithOtherError.js +2 -5
  63. package/partialMock/newHasArgumentSpec/test.js +2 -5
  64. package/partialMock/newHasEqualArgumentArraySpec/test.js +2 -7
  65. package/partialMock/newHasNoMoreArgumentsSpec/test.js +2 -7
  66. package/partialMock/newHasSameArgumentSpec/test.js +2 -10
  67. package/partialMock/newMockContext.js +12 -12
  68. package/partialMock/newMockContextSpec/test.js +6 -6
  69. package/partialMock/newThrowSpec/test.js +2 -3
  70. package/partialMock/returnSpec/test.js +2 -5
  71. package/partialMock/setExecuteSpec/test.js +2 -3
  72. package/partialMock/simple/expectRequireSpec/test.js +2 -4
  73. package/partialMock/simple/newMock/throwUnexpectedArgumentsSpec/test.js +3 -4
  74. package/partialMock/simple/newMockSpec/test.js +2 -3
  75. package/partialMock/simple/newPartialMock.js +2 -0
  76. package/partialMock/simple/newPartialMockSpec/test.js +2 -8
  77. package/partialMock/simple/newPartialMockSpec/testRepeat.js +2 -5
  78. package/partialMock/simple/newPartialMockSpec/testWithMultiArgs.js +2 -4
  79. package/partialMock/simple/newPartialMockSpec/testWithSingleArg.js +2 -7
  80. package/partialMock/simple/newRequireMockSpec/test.js +2 -3
  81. package/partialMock/verifySpec/test.js +1 -4
  82. package/partialMock.js +12 -10
  83. package/partialMockSpec/test.js +3 -10
  84. package/partialMockSpec/testIntegration.js +1 -2
  85. package/readmeSpec/testREADME.js +199 -0
  86. package/requireMockSpec/test.js +1 -2
  87. package/strictMockSpec/test.js +1 -2
  88. package/util.js +7 -7
  89. package/test.js +0 -17
@@ -1,48 +1,61 @@
1
- var newMockContext = require('./mockContext');
2
- var newPartialMock = require('../partialMock');
3
-
4
- function collectPropertyNames(subject) {
5
- var names = {};
6
- for (var name in subject) {
7
- names[name] = true;
8
- }
9
- var proto = Object.getPrototypeOf(subject);
10
- while (proto && proto !== Object.prototype && proto !== Function.prototype) {
11
- var props = Object.getOwnPropertyNames(proto);
12
- for (var i = 0; i < props.length; i++) {
13
- var prop = props[i];
14
- if (prop === 'constructor' || names[prop])
15
- continue;
16
- var desc = Object.getOwnPropertyDescriptor(proto, prop);
17
- if (desc && typeof desc.value === 'function')
18
- names[prop] = true;
19
- }
20
- proto = Object.getPrototypeOf(proto);
21
- }
22
- return Object.keys(names);
23
- }
24
-
25
- function _new(subject,mockContext,parent) {
26
- var newObjectMock = require('./objectMock');
27
-
28
- var mockContext = newMockContext(mockContext);
29
- var mock = {};
30
- mock.verify = mockContext.verify;
31
- if (subject instanceof Function) {
32
- mock = newPartialMock(subject, parent);
33
- mockContext.verify.add(mock.verify);
34
- }
35
- if (!(subject instanceof Object))
36
- return mock;
37
- var propertyNames = collectPropertyNames(subject);
38
- for(var i = 0; i < propertyNames.length; i++) {
39
- var propertyName = propertyNames[i];
40
- if (Object.prototype.hasOwnProperty.call(mock, propertyName))
41
- continue;
42
- var property = subject[propertyName];
43
- mock[propertyName] = newObjectMock(property,mockContext,subject);
44
- }
45
- return mock;
46
- }
1
+ var newMockContext = require('./mockContext');
2
+ var newPartialMock = require('../partialMock');
3
+
4
+ function collectPropertyNames(subject) {
5
+ var names = {};
6
+ for (var name in subject) {
7
+ names[name] = true;
8
+ }
9
+ var proto = Object.getPrototypeOf(subject);
10
+ while (proto && proto !== Object.prototype && proto !== Function.prototype) {
11
+ var props = Object.getOwnPropertyNames(proto);
12
+ for (var i = 0; i < props.length; i++) {
13
+ var prop = props[i];
14
+ if (prop === 'constructor' || names[prop])
15
+ continue;
16
+ var desc = Object.getOwnPropertyDescriptor(proto, prop);
17
+ if (desc && typeof desc.value === 'function')
18
+ names[prop] = true;
19
+ }
20
+ proto = Object.getPrototypeOf(proto);
21
+ }
22
+ return Object.keys(names);
23
+ }
24
+
25
+ function _new(subject,mockContext,parent) {
26
+ var newObjectMock = require('./objectMock');
27
+
28
+ var mockContext = newMockContext(mockContext);
29
+ var mock = {};
30
+ if (subject && typeof subject === 'function' && typeof subject.expectAnything === 'function' && typeof subject.expect === 'function')
31
+ return subject;
32
+ var mockedMap = mockContext._mockedMap;
33
+ if (!mockedMap) {
34
+ mockedMap = new WeakMap();
35
+ mockContext._mockedMap = mockedMap;
36
+ }
37
+ if (subject && (typeof subject === 'object' || typeof subject === 'function')) {
38
+ var existingMock = mockedMap.get(subject);
39
+ if (existingMock)
40
+ return existingMock;
41
+ }
42
+ mock.verify = mockContext.verify;
43
+ if (subject instanceof Function) {
44
+ mock = newPartialMock(subject, parent);
45
+ mockContext.verify.add(mock.verify);
46
+ }
47
+ if (!(subject instanceof Object))
48
+ return mock;
49
+ mockedMap.set(subject, mock);
50
+ var propertyNames = collectPropertyNames(subject);
51
+ for(var i = 0; i < propertyNames.length; i++) {
52
+ var propertyName = propertyNames[i];
53
+ if (Object.prototype.hasOwnProperty.call(mock, propertyName))
54
+ continue;
55
+ var property = subject[propertyName];
56
+ mock[propertyName] = newObjectMock(property,mockContext,subject);
57
+ }
58
+ return mock;
59
+ }
47
60
 
48
61
  module.exports = _new
@@ -1,17 +1,15 @@
1
1
  var assert = require('assert');
2
- var test = require('../../test');
2
+ var test = require('node:test');
3
3
  var newRequireMock = require('../../partialMock/simple/newRequireMock');
4
4
  var newMock = require('../../partialMock/simple/newMock');
5
5
 
6
6
  (function(){
7
- console.log('objectMock');
8
7
  var newMockContext = newRequireMock('./mockContext');
9
8
  var newPartialMock = newRequireMock('../partialMock');
10
9
  var newSut = require('../objectMock');
11
10
 
12
11
 
13
12
  (function() {
14
- console.log('subject is object.new');
15
13
  var newObjectMock = newRequireMock('./objectMock');
16
14
  var initialMockContext = {}
17
15
  var mockContext = {};
@@ -26,9 +24,11 @@ var newMock = require('../../partialMock/simple/newMock');
26
24
  var bMock = {};
27
25
 
28
26
  newMockContext.expect(initialMockContext).return(mockContext);
29
- newObjectMock.expect(a).expect(mockContext).return(aMock);
30
- newObjectMock.expect(b).expect(mockContext).return(bMock);
27
+ // parent is optional metadata; behavior should not require callers to pass it.
28
+ newObjectMock.expect(a).expect(mockContext).expect(subject).return(aMock);
29
+ newObjectMock.expect(b).expect(mockContext).expect(subject).return(bMock);
31
30
 
31
+ //todo
32
32
  var returned = newSut(subject,initialMockContext);
33
33
 
34
34
  test('it should not return subject', function(){
@@ -49,7 +49,6 @@ var newMock = require('../../partialMock/simple/newMock');
49
49
  })();
50
50
 
51
51
  (function() {
52
- console.log('subject is func.new');
53
52
  var newObjectMock = newRequireMock('./objectMock');
54
53
  var initialMockContext = {}
55
54
  var mockContext = {};
@@ -69,9 +68,10 @@ var newMock = require('../../partialMock/simple/newMock');
69
68
  var didAddVerifyToComposite;
70
69
 
71
70
  newMockContext.expect(initialMockContext).return(mockContext);
72
- newObjectMock.expect(a).expect(mockContext).return(aMock);
73
- newObjectMock.expect(b).expect(mockContext).return(bMock);
74
- newPartialMock.expect(subject).return(partialMock);
71
+ // parent is optional metadata; behavior should not require callers to pass it.
72
+ newObjectMock.expect(a).expect(mockContext).expect(subject).return(aMock);
73
+ newObjectMock.expect(b).expect(mockContext).expect(subject).return(bMock);
74
+ newPartialMock.expect(subject).expectAnything().return(partialMock);
75
75
  compositeVerify.add.expect(verify).whenCalled(onAddVerify).return(null);
76
76
 
77
77
  function onAddVerify() {
@@ -99,7 +99,6 @@ var newMock = require('../../partialMock/simple/newMock');
99
99
  })();
100
100
 
101
101
  (function() {
102
- console.log('subject is primitive');
103
102
  var newObjectMock = newRequireMock('./objectMock');
104
103
  var initialMockContext = {}
105
104
  var mockContext = {};
@@ -120,4 +119,4 @@ var newMock = require('../../partialMock/simple/newMock');
120
119
  assert.equal(returned.verify,verify);
121
120
  });
122
121
  })();
123
- })();
122
+ })();
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../../test');
2
+ var test = require('node:test');
3
3
  var newMock = require('../../partialMock/simple/newMock');
4
4
 
5
5
  (function(){
6
- console.log('propertyMock.new');
7
6
  newSut = require('../propertyMock');
8
7
 
9
8
  var subject = {};
@@ -22,7 +21,6 @@ var newMock = require('../../partialMock/simple/newMock');
22
21
  });
23
22
 
24
23
  (function() {
25
- console.log('execute mocked property');
26
24
  var mockedValue = {};
27
25
  var arg = {};
28
26
  mock.expect(arg).return(mockedValue);
@@ -33,4 +31,4 @@ var newMock = require('../../partialMock/simple/newMock');
33
31
  });
34
32
  })();
35
33
 
36
- })();
34
+ })();
@@ -1,5 +1,5 @@
1
1
  var assert = require('assert');
2
- var test = require('../../test');
2
+ var test = require('node:test');
3
3
  var arg1 = 'a';
4
4
  var arg2 = {};
5
5
  var arg3 = 'c';
@@ -8,7 +8,6 @@ var thrownErrorMsg;
8
8
  var thrownName;
9
9
 
10
10
  (function(){
11
- console.log('throwUnexpectedArguments');
12
11
  var sut = require('../throwUnexpectedArguments');
13
12
  try {
14
13
  sut(arg1,arg2,arg3);
@@ -32,4 +31,4 @@ var thrownName;
32
31
  });
33
32
 
34
33
 
35
- })();
34
+ })();
package/mock.js CHANGED
@@ -3,14 +3,14 @@ var newObjectMock = require('./mock/objectMock');
3
3
  var newPartialMock = require('./partialMock')
4
4
  var mockFuncProperties = require('./mock/mockFuncProperties')
5
5
 
6
- function create(subject) {
7
- if (subject == undefined)
8
- return newStrictMock();
9
- var mock = newObjectMock(subject);
10
- mockFuncProperties(subject,mock);
11
- return mock;
12
-
13
- }
6
+ function create(subject) {
7
+ if (subject == undefined)
8
+ return newStrictMock();
9
+ var mock = newObjectMock(subject);
10
+ mockFuncProperties(subject,mock);
11
+ return mock;
12
+
13
+ }
14
14
 
15
15
  module.exports = create;
16
16
 
package/mockSpec/test.js CHANGED
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var newRequireMock = require('../partialMock/simple/newRequireMock');
4
4
 
5
5
  (function(){
6
- console.log('mock');
7
6
  var newStrictMock = newRequireMock('./strictMock');
8
7
  var newObjectMock = newRequireMock('./mock/objectMock');
9
8
  var mockFuncProperties = newRequireMock('./mock/mockFuncProperties');
@@ -11,7 +10,6 @@ var newRequireMock = require('../partialMock/simple/newRequireMock');
11
10
  var sut = require('../mock');
12
11
 
13
12
  (function() {
14
- console.log('object input.new');
15
13
  var input = {};
16
14
  var objectMock = {};
17
15
  var didMockFuncProperties;
@@ -36,7 +34,6 @@ var newRequireMock = require('../partialMock/simple/newRequireMock');
36
34
  })();
37
35
 
38
36
  (function() {
39
- console.log('func input.new');
40
37
  var expected = {};
41
38
  var input = function() {};
42
39
  newPartialMock.expect(input).return(expected);
@@ -50,7 +47,6 @@ var newRequireMock = require('../partialMock/simple/newRequireMock');
50
47
  });
51
48
 
52
49
  (function() {
53
- console.log('empty input new');
54
50
  var expected = {};
55
51
 
56
52
  newStrictMock.expect().return(expected);
@@ -1,15 +1,13 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../mock');
4
4
 
5
5
  (function clearCache() {
6
6
  Object.keys(require.cache).forEach(function(key) { delete require.cache[key]; });
7
7
  })();
8
8
 
9
- console.log('mock');
10
9
 
11
10
  (function(){
12
- console.log('an object');
13
11
  var realName = 'Alfonzo';
14
12
  function newCustomer() {
15
13
 
@@ -50,7 +48,6 @@ console.log('mock');
50
48
 
51
49
 
52
50
  (function foo(){
53
- console.log('violating function throws with minium stack trace');
54
51
 
55
52
  var sut = mock();
56
53
  var lines;
@@ -75,7 +72,6 @@ console.log('mock');
75
72
  })();
76
73
 
77
74
  (function bar(){
78
- console.log('violating function throws with minium stack trace given two expectations');
79
75
 
80
76
  var sut = mock();
81
77
  var lines;
@@ -1,5 +1,5 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var newRequireMock = require('../partialMock/simple/newRequireMock');
4
4
  var newMock = require('../partialMock/simple/newMock');
5
5
 
@@ -7,11 +7,9 @@ var and = newRequireMock('./and');
7
7
  var newSut = require('../newMutableAnd');
8
8
 
9
9
  (function(){
10
- console.log('mutableAnd');
11
10
  var sut = newSut();
12
11
 
13
12
  (function() {
14
- console.log('execute');
15
13
  var arg = {};
16
14
  var expected = {};
17
15
  and.expect(arg).return(expected);
@@ -24,7 +22,6 @@ var newSut = require('../newMutableAnd');
24
22
  })();
25
23
 
26
24
  (function() {
27
- console.log('add');
28
25
  var predicate = {};
29
26
  var add = newMock();
30
27
  var and2 = newMock();
@@ -33,7 +30,6 @@ var newSut = require('../newMutableAnd');
33
30
  sut.add(predicate);
34
31
 
35
32
  (function() {
36
- console.log('execute');
37
33
  var arg = {};
38
34
  var expected = {};
39
35
  and2.expect(arg).return(expected);
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('execute with no args');
7
6
 
8
7
  var isResolved;
9
8
 
@@ -22,7 +21,6 @@ var mock = require('../partialMock/simple/newMock');
22
21
 
23
22
 
24
23
  (function() {
25
- console.log('execute with 1 arg');
26
24
 
27
25
  var returned;
28
26
  var valueToResolveWith = {};
@@ -41,7 +39,6 @@ var mock = require('../partialMock/simple/newMock');
41
39
  })();
42
40
 
43
41
  (function() {
44
- console.log('execute with 2 args');
45
42
 
46
43
  var returned;
47
44
  var valueToResolveWith = {};
@@ -61,7 +58,6 @@ var mock = require('../partialMock/simple/newMock');
61
58
  })();
62
59
 
63
60
  (function() {
64
- console.log('execute with 2 args given first one is falsy');
65
61
 
66
62
  var returned;
67
63
  var errorToRejectWith = {};
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('resove value can be carried through a long chain');
7
6
 
8
7
  var expected = {};
9
8
  var actual;
@@ -27,7 +26,6 @@ var mock = require('../partialMock/simple/newMock');
27
26
 
28
27
 
29
28
  (function() {
30
- console.log('reject value can be carried through a long chain');
31
29
 
32
30
  var expected = {};
33
31
  var actual;
@@ -1,14 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then pre reject');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
10
9
  var actual;
11
10
  var actual2;
11
+ var actualRepeated;
12
12
  var expectedRepeated = {};
13
13
  var actualRepeated2;
14
14
 
@@ -1,14 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then throws for preRejected');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
10
9
  var actual;
11
10
  var actual2;
11
+ var actualRepeated;
12
12
  var expectedRepeated = {};
13
13
  var actualRepeated2;
14
14
 
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then pre resolve');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
@@ -1,14 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then throws for preResolved');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
10
9
  var actual;
11
10
  var actual2;
11
+ var actualRepeated;
12
12
  var expectedRepeated = {};
13
13
  var actualRepeated2;
14
14
 
@@ -1,14 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then reject');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
10
9
  var actual;
11
10
  var actual2;
11
+ var actualRepeated;
12
12
  var expectedRepeated = {};
13
13
  var actualRepeated2;
14
14
 
@@ -1,14 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then throws');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
10
9
  var actual;
11
10
  var actual2;
11
+ var actualRepeated;
12
12
  var expectedRepeated = {};
13
13
  var actualRepeated2;
14
14
 
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then resolve');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
@@ -1,14 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then throws for resolved');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
10
9
  var actual;
11
10
  var actual2;
11
+ var actualRepeated;
12
12
  var expectedRepeated = {};
13
13
  var actualRepeated2;
14
14
 
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then resolve with a rejected promise');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
@@ -1,9 +1,8 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var mock = require('../partialMock/simple/newMock');
4
4
 
5
5
  (function() {
6
- console.log('then resolve with a promise');
7
6
 
8
7
  var expected = {};
9
8
  var expected2 = {};
@@ -1,17 +1,14 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var newSut = require('../newTrueNTimesThenFalse');
4
4
 
5
5
  (function(){
6
- console.log('newTrueNTimesThenFalse');
7
6
 
8
7
  (function() {
9
- console.log('two times');
10
8
  var times = 2;
11
9
  var sut = newSut(times);
12
10
 
13
11
  (function(){
14
- console.log('execute three times');
15
12
  var returned = sut();
16
13
  var returned2 = sut();
17
14
  var returned3 = sut();
@@ -33,11 +30,9 @@ var newSut = require('../newTrueNTimesThenFalse');
33
30
  })();
34
31
 
35
32
  (function() {
36
- console.log('undefined times');
37
33
  var sut = newSut();
38
34
 
39
35
  (function(){
40
- console.log('execute n times');
41
36
  var returned = sut();
42
37
  var returned2 = sut();
43
38
  var returned3 = sut();
@@ -1,13 +1,11 @@
1
1
  var assert = require('assert');
2
- var test = require('../test');
2
+ var test = require('node:test');
3
3
  var newSut = require('../newTrueOnceThenFalse');
4
4
 
5
5
  (function(){
6
- console.log('newTrueOnceThenFalse');
7
6
  var sut = newSut();
8
7
 
9
8
  (function() {
10
- console.log('execute');
11
9
  var returned = sut();
12
10
 
13
11
  test('it should return true',function() {
@@ -15,7 +13,6 @@ var newSut = require('../newTrueOnceThenFalse');
15
13
  });
16
14
 
17
15
  (function() {
18
- console.log('execute');
19
16
  var returned = sut();
20
17
  test('it should return false',function() {
21
18
  assert.equal(false,returned);
package/package.json CHANGED
@@ -1,11 +1,15 @@
1
1
  {
2
2
  "name": "a_mock",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "title": "a_mock",
7
7
  "description": "Sub package of a. Mocking framework",
8
8
  "keywords": ["mock","mocking","partial mock","strict mock","tdd","stub","stubbing","mock require","verify"],
9
+ "scripts": {
10
+ "test": "node --test **/*Spec/test*.js"
11
+
12
+ },
9
13
  "dependencies": { },
10
14
  "repository" : {
11
15
  "type" : "git",
@@ -7,14 +7,14 @@ function execute(returnValue,fallback,hasCorrectArguments,mockContext,shouldDecr
7
7
  args.push(arguments[index]);
8
8
  index++;
9
9
  }
10
- if (hasCorrectArguments.apply(null,args)) {
11
- negotiateDecrementExpectCount(shouldDecrementExpectCount,mockContext);
12
- whenCalledEmitter.emit.apply(null,args);
13
- return returnValue;
14
- }
15
-
16
- var receiver = mockContext && mockContext.thisArg != null ? mockContext.thisArg : this;
17
- return fallback.apply(receiver,args);
18
- }
10
+ if (hasCorrectArguments.apply(null,args)) {
11
+ negotiateDecrementExpectCount(shouldDecrementExpectCount,mockContext);
12
+ whenCalledEmitter.emit.apply(null,args);
13
+ return returnValue;
14
+ }
15
+
16
+ var receiver = mockContext && mockContext.thisArg != null ? mockContext.thisArg : this;
17
+ return fallback.apply(receiver,args);
18
+ }
19
19
 
20
- module.exports = execute;
20
+ module.exports = execute;