File: esnext.reflect.delete-metadata.js

package info (click to toggle)
node-core-js 3.33.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 18,828 kB
  • sloc: javascript: 87,204; makefile: 13
file content (21 lines) | stat: -rw-r--r-- 943 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
QUnit.test('Reflect.deleteMetadata', assert => {
  const { defineMetadata, hasOwnMetadata, deleteMetadata } = Reflect;
  const { create } = Object;
  assert.isFunction(deleteMetadata);
  assert.arity(deleteMetadata, 2);
  assert.name(deleteMetadata, 'deleteMetadata');
  assert.looksNative(deleteMetadata);
  assert.nonEnumerable(Reflect, 'deleteMetadata');
  assert.throws(() => deleteMetadata('key', undefined, undefined), TypeError);
  assert.false(deleteMetadata('key', {}, undefined));
  let object = {};
  defineMetadata('key', 'value', object, undefined);
  assert.true(deleteMetadata('key', object, undefined));
  const prototype = {};
  defineMetadata('key', 'value', prototype, undefined);
  assert.false(deleteMetadata('key', create(prototype), undefined));
  object = {};
  defineMetadata('key', 'value', object, undefined);
  deleteMetadata('key', object, undefined);
  assert.false(hasOwnMetadata('key', object, undefined));
});