-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnull.test.ts
More file actions
33 lines (28 loc) · 869 Bytes
/
null.test.ts
File metadata and controls
33 lines (28 loc) · 869 Bytes
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
31
32
33
import { assertEquals } from '@std/assert';
import { PLBoolean } from './boolean.ts';
import { PLNull, PLTYPE_NULL } from './null.ts';
Deno.test('valueOf', () => {
const pl = new PLNull();
assertEquals(pl.valueOf(), null);
});
Deno.test('toString', () => {
const pl = new PLNull();
assertEquals(pl.toString(), 'null');
});
Deno.test('is type', () => {
assertEquals(new PLNull().type, PLTYPE_NULL);
assertEquals(new PLNull()[Symbol.toStringTag], PLTYPE_NULL);
assertEquals(
Object.prototype.toString.call(new PLNull()),
`[object ${PLTYPE_NULL}]`,
);
assertEquals(PLNull.is(new PLNull()), true);
assertEquals(PLNull.is(new PLBoolean()), false);
assertEquals(PLNull.is({}), false);
assertEquals(PLNull.is(null), false);
for (const v of [new PLNull(), new PLBoolean(), {}, null]) {
if (PLNull.is(v)) {
assertEquals(v.valueOf(), null);
}
}
});