|
1 | 1 | 'use strict'; |
| 2 | +// Flags: --expose-gc |
| 3 | + |
2 | 4 | constcommon=require('../../common'); |
3 | 5 | constassert=require('assert'); |
4 | | -constcreateObject=require(`./build/${common.buildType}/binding`); |
| 6 | +consttest=require(`./build/${common.buildType}/binding`); |
5 | 7 |
|
6 | | -constobj=createObject(10); |
7 | | -assert.strictEqual(obj.plusOne(),11); |
8 | | -assert.strictEqual(obj.plusOne(),12); |
9 | | -assert.strictEqual(obj.plusOne(),13); |
| 8 | +assert.strictEqual(test.finalizeCount,0); |
| 9 | +(()=>{ |
| 10 | +constobj=test.createObject(10); |
| 11 | +assert.strictEqual(obj.plusOne(),11); |
| 12 | +assert.strictEqual(obj.plusOne(),12); |
| 13 | +assert.strictEqual(obj.plusOne(),13); |
| 14 | +})(); |
| 15 | +global.gc(); |
| 16 | +assert.strictEqual(test.finalizeCount,1); |
10 | 17 |
|
11 | | -constobj2=createObject(20); |
12 | | -assert.strictEqual(obj2.plusOne(),21); |
13 | | -assert.strictEqual(obj2.plusOne(),22); |
14 | | -assert.strictEqual(obj2.plusOne(),23); |
| 18 | +(()=>{ |
| 19 | +constobj2=test.createObject(20); |
| 20 | +assert.strictEqual(obj2.plusOne(),21); |
| 21 | +assert.strictEqual(obj2.plusOne(),22); |
| 22 | +assert.strictEqual(obj2.plusOne(),23); |
| 23 | +})(); |
| 24 | +global.gc(); |
| 25 | +assert.strictEqual(test.finalizeCount,2); |
0 commit comments