MIRROR: javascript for 馃悳's, a tiny runtime with big ambitions
1function assert(condition, message) {
2 if (!condition) throw new Error(message);
3}
4
5const map = new Map([
6 ['x', 1],
7 ['y', 2],
8]);
9const mapCopy = new Map(map);
10const mapNull = new Map(null);
11const mapUndef = new Map(undefined);
12
13assert(mapCopy.size === 2, `expected copied map size 2, got ${mapCopy.size}`);
14assert(mapCopy.get('x') === 1, 'expected copied map to contain x => 1');
15assert(mapCopy.get('y') === 2, 'expected copied map to contain y => 2');
16assert(mapNull.size === 0, `expected null map size 0, got ${mapNull.size}`);
17assert(mapUndef.size === 0, `expected undefined map size 0, got ${mapUndef.size}`);
18
19const set = new Set(['a', 'b']);
20const setCopy = new Set(set);
21const setNull = new Set(null);
22const setUndef = new Set(undefined);
23
24assert(setCopy.size === 2, `expected copied set size 2, got ${setCopy.size}`);
25assert(setCopy.has('a'), 'expected copied set to contain a');
26assert(setCopy.has('b'), 'expected copied set to contain b');
27assert(setNull.size === 0, `expected null set size 0, got ${setNull.size}`);
28assert(setUndef.size === 0, `expected undefined set size 0, got ${setUndef.size}`);
29
30console.log('collections constructor iterables ok');