File: esnext.reflect.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 (17 lines) | stat: -rw-r--r-- 646 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
QUnit.test('Reflect.metadata', assert => {
  const { metadata, hasOwnMetadata } = Reflect;
  assert.isFunction(metadata);
  assert.arity(metadata, 2);
  assert.name(metadata, 'metadata');
  assert.looksNative(metadata);
  assert.isFunction(metadata('key', 'value'));
  assert.nonEnumerable(Reflect, 'metadata');
  const decorator = metadata('key', 'value');
  assert.throws(() => decorator(undefined, 'name'), TypeError);
  let target = function () { /* empty */ };
  decorator(target);
  assert.true(hasOwnMetadata('key', target, undefined));
  target = {};
  decorator(target, 'name');
  assert.true(hasOwnMetadata('key', target, 'name'));
});