summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorGus Caplan <me@gus.host>2020-01-09 08:34:55 -0800
committerGus Caplan <me@gus.host>2020-01-12 14:43:56 -0800
commitb810e6703968ea3cd82262aa9acc57fabc894cd1 (patch)
tree35a7fd0ef45d8d0401c6aa072699e91e3377797c /test
parent4455f603207815199854797b043b86cc8a885eb3 (diff)
downloadnode-new-b810e6703968ea3cd82262aa9acc57fabc894cd1.tar.gz
vm: add code cache support for SourceTextModule
PR-URL: https://github.com/nodejs/node/pull/31278 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-vm-module-cached-data.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/parallel/test-vm-module-cached-data.js b/test/parallel/test-vm-module-cached-data.js
new file mode 100644
index 0000000000..f91d9e6268
--- /dev/null
+++ b/test/parallel/test-vm-module-cached-data.js
@@ -0,0 +1,30 @@
+'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',
+});