-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmetadata.test.ts
29 lines (23 loc) · 889 Bytes
/
metadata.test.ts
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
import { Metadata } from './metadata.ts';
import { assertEquals } from './vendor/https/deno.land/std/testing/asserts.ts';
Deno.test('getting and setting metadata', () => {
const metadata = new Metadata();
class A {}
class B {}
metadata.defineMetadata(A, 'foo', 'foo');
metadata.defineMetadata(B, 'bar', 'bar');
assertEquals(metadata.getMetadata(A, 'foo'), 'foo');
assertEquals(metadata.getMetadata(B, 'bar'), 'bar');
assertEquals(metadata.getMetadata(A, 'bar'), undefined);
assertEquals(metadata.getMetadata(B, 'foo'), undefined);
});
Deno.test('clearing metadata', () => {
const metadata = new Metadata();
class A {}
class B {}
metadata.defineMetadata(A, 'foo', 'foo');
metadata.defineMetadata(B, 'bar', 'bar');
metadata.clear();
assertEquals(metadata.getMetadata(A, 'foo'), undefined);
assertEquals(metadata.getMetadata(B, 'bar'), undefined);
});