node/test/parallel/test-debug-mirror-proxy.js
Ben Noordhuis 9e2d85e441
v8: handle proxy objects in MakeMirror(), v2
PR-URL: https://github.com/nodejs/node/pull/14343
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2017-09-05 12:49:47 -04:00

19 lines
715 B
JavaScript

'use strict';
require('../common');
const assert = require('assert');
const vm = require('vm');
const { MakeMirror, MakeMirrorSerializer } = vm.runInDebugContext('Debug');
const proxy = new Proxy({ x: 1, y: 2 }, { get: Reflect.get });
const mirror = MakeMirror(proxy, /* transient */ true);
assert.strictEqual(mirror.isProxy(), true);
assert.strictEqual(mirror.toText(), '#<Proxy>');
assert.strictEqual(mirror.value(), proxy);
const serializer = MakeMirrorSerializer(/* details */ true);
const serialized = serializer.serializeValue(mirror);
assert.deepStrictEqual(Object.keys(serialized).sort(), ['text', 'type']);
assert.strictEqual(serialized.type, 'proxy');
assert.strictEqual(serialized.text, '#<Proxy>');