11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_cirequire('../common'); 41cb0ef41Sopenharmony_ci 51cb0ef41Sopenharmony_ciconst { Script } = require('vm'); 61cb0ef41Sopenharmony_ciconst assert = require('assert'); 71cb0ef41Sopenharmony_ci 81cb0ef41Sopenharmony_ciconst source = 'function x() {} const y = x();'; 91cb0ef41Sopenharmony_ci 101cb0ef41Sopenharmony_ciconst script = new Script(source); 111cb0ef41Sopenharmony_cilet cachedData = script.createCachedData(); 121cb0ef41Sopenharmony_ciassert(cachedData instanceof Buffer); 131cb0ef41Sopenharmony_ci 141cb0ef41Sopenharmony_ciassert(!new Script(source, { cachedData }).cachedDataRejected); 151cb0ef41Sopenharmony_ci 161cb0ef41Sopenharmony_ciscript.runInNewContext(); 171cb0ef41Sopenharmony_ci 181cb0ef41Sopenharmony_cifor (let i = 0; i < 10; i += 1) { 191cb0ef41Sopenharmony_ci cachedData = script.createCachedData(); 201cb0ef41Sopenharmony_ci 211cb0ef41Sopenharmony_ci assert(!new Script(source, { cachedData }).cachedDataRejected); 221cb0ef41Sopenharmony_ci} 23