// Flags: --frozen-intrinsics 'use strict'; require('../common'); const assert = require('assert'); assert.throws( () => Object.defineProperty = 'asdf', TypeError ); // Ensure we can extend Console { class ExtendedConsole extends console.Console {} const s = new ExtendedConsole(process.stdout); const logs = []; s.log = (msg) => logs.push(msg); s.log('custom'); s.log = undefined; assert.strictEqual(s.log, undefined); assert.strictEqual(logs.length, 1); assert.strictEqual(logs[0], 'custom'); } // Ensure we can write override Object prototype properties on instances { const o = {}; o.toString = () => 'Custom toString'; assert.strictEqual(o + 'asdf', 'Custom toStringasdf'); }