11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_cirequire('../common'); 41cb0ef41Sopenharmony_ciconst assert = require('assert'); 51cb0ef41Sopenharmony_ci 61cb0ef41Sopenharmony_ciconst vm = require('vm'); 71cb0ef41Sopenharmony_ci 81cb0ef41Sopenharmony_ciconst symbol = Symbol(); 91cb0ef41Sopenharmony_ci 101cb0ef41Sopenharmony_cifunction Document() { 111cb0ef41Sopenharmony_ci this[symbol] = 'foo'; 121cb0ef41Sopenharmony_ci} 131cb0ef41Sopenharmony_ci 141cb0ef41Sopenharmony_ciDocument.prototype.getSymbolValue = function() { 151cb0ef41Sopenharmony_ci return this[symbol]; 161cb0ef41Sopenharmony_ci}; 171cb0ef41Sopenharmony_ci 181cb0ef41Sopenharmony_ciconst context = new Document(); 191cb0ef41Sopenharmony_civm.createContext(context); 201cb0ef41Sopenharmony_ci 211cb0ef41Sopenharmony_ciassert.strictEqual(context.getSymbolValue(), 'foo'); 221cb0ef41Sopenharmony_ci 231cb0ef41Sopenharmony_ciassert.strictEqual(vm.runInContext('this.getSymbolValue()', context), 'foo'); 24