summaryrefslogtreecommitdiff
path: root/test/parallel/test-freeze-intrinsics.js
blob: 0cae3167f9eaebc412d884f0eb8d0c45bc81e177 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 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');
}