| 'use strict'; |
| |
| // Flags: --experimental-vm-modules |
| |
| require('../common'); |
| |
| const assert = require('assert'); |
| const { SourceTextModule } = require('vm'); |
| |
| { |
| const m = new SourceTextModule('const a = 1'); |
| const cachedData = m.createCachedData(); |
| |
| new SourceTextModule('const a = 1', { cachedData }); |
| |
| assert.throws(() => { |
| new SourceTextModule('differentSource', { cachedData }); |
| }, { |
| code: 'ERR_VM_MODULE_CACHED_DATA_REJECTED', |
| }); |
| } |
| |
| assert.rejects(async () => { |
| const m = new SourceTextModule('const a = 1'); |
| await m.link(() => {}); |
| m.evaluate(); |
| m.createCachedData(); |
| }, { |
| code: 'ERR_VM_MODULE_CANNOT_CREATE_CACHED_DATA', |
| }); |