Something went wrong. Try again.
javascript for 🐜's, a tiny runtime with big ambitions antjs.org
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import { test, summary } from './helpers.js';
console.log('Map Tests\n');
const map = new Map();
map.set('key1', 'value1');map.set('key2', 42);map.set('key3', true);
test('map size after set', map.size, 3);test('map get string', map.get('key1'), 'value1');test('map get number', map.get('key2'), 42);test('map get boolean', map.get('key3'), true);
test('map has existing', map.has('key1'), true);test('map has missing', map.has('missing'), false);
test('map delete returns true', map.delete('key2'), true);test('map has after delete', map.has('key2'), false);test('map size after delete', map.size, 2);
map.set('key1', 'newvalue1');test('map get after overwrite', map.get('key1'), 'newvalue1');
map.clear();test('map size after clear', map.size, 0);test('map has after clear', map.has('key1'), false);
map.set(123, 'number key');map.set(true, 'boolean key');map.set(null, 'null key');
test('map get number key', map.get(123), 'number key');test('map get boolean key', map.get(true), 'boolean key');test('map get null key', map.get(null), 'null key');test('map size with varied keys', map.size, 3);
map.clear();map.set('a', 1).set('b', 2).set('c', 3);test('map chaining size', map.size, 3);test('map chaining get', map.get('b'), 2);
test('map get undefined key', map.get('nonexistent'), undefined);test('map delete nonexistent', map.delete('nonexistent'), false);
summary();