aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/structs/map_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/structs/map_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/structs/map_test.html430
1 files changed, 0 insertions, 430 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/structs/map_test.html b/contexts/data/lib/closure-library/closure/goog/structs/map_test.html
deleted file mode 100644
index a526a59..0000000
--- a/contexts/data/lib/closure-library/closure/goog/structs/map_test.html
+++ /dev/null
@@ -1,430 +0,0 @@
-<!DOCTYPE html>
-<html>
-<!--
-Copyright 2006 The Closure Library Authors. All Rights Reserved.
-
-Use of this source code is governed by the Apache License, Version 2.0.
-See the COPYING file for details.
--->
-<head>
-<meta http-equiv="X-UA-Compatible" content="IE=edge">
-<title>Closure Unit Tests - goog.structs.Map</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.iter');
- goog.require('goog.structs');
- goog.require('goog.structs.Map');
- goog.require('goog.testing.jsunit');
-</script>
-</head>
-<body>
-<script>
-
-function stringifyMap(m) {
- var keys = goog.structs.getKeys(m);
- var s = '';
- for (var i = 0; i < keys.length; i++) {
- s += keys[i] + m[keys[i]];
- }
- return s;
-}
-
-function getMap() {
- var m = new goog.structs.Map;
- m.set('a', 0);
- m.set('b', 1);
- m.set('c', 2);
- m.set('d', 3);
- return m;
-}
-
-function testGetCount() {
- var m = getMap();
- assertEquals('count, should be 4', m.getCount(), 4);
- m.remove('d');
- assertEquals('count, should be 3', m.getCount(), 3);
-}
-
-function testKeys() {
- var m = getMap();
- assertEquals('getKeys, The keys should be a,b,c', m.getKeys().join(','),
- 'a,b,c,d');
-}
-
-function testValues() {
- var m = getMap();
- assertEquals('getValues, The values should be 0,1,2',
- m.getValues().join(','), '0,1,2,3');
-}
-
-function testContainsKey() {
- var m = getMap();
- assertTrue("containsKey, Should contain the 'a' key", m.containsKey('a'));
- assertFalse("containsKey, Should not contain the 'e' key",
- m.containsKey('e'));
-}
-
-function testClear() {
- var m = getMap();
- m.clear();
- assertTrue('cleared so it should be empty', m.isEmpty());
- assertTrue("cleared so it should not contain 'a' key", !m.containsKey('a'));
-}
-
-function testAddAll() {
- var m = new goog.structs.Map;
- m.addAll({a:0,b:1,c:2,d:3});
- assertTrue('addAll so it should not be empty', !m.isEmpty());
- assertTrue("addAll so it should contain 'c' key", m.containsKey('c'));
-
- var m2 = new goog.structs.Map;
- m2.addAll(m);
- assertTrue('addAll so it should not be empty', !m2.isEmpty());
- assertTrue("addAll so it should contain 'c' key", m2.containsKey('c'));
-}
-
-function testConstructor() {
- var m = getMap();
- var m2 = new goog.structs.Map(m);
- assertTrue('constr with Map so it should not be empty', !m2.isEmpty());
- assertTrue("constr with Map so it should contain 'c' key",
- m2.containsKey('c'));
-}
-
-
-function testConstructorWithVarArgs() {
- var m = new goog.structs.Map('a', 1);
- assertTrue('constr with var_args so it should not be empty', !m.isEmpty());
- assertEquals('constr with var_args', 1, m.get('a'));
-
- m = new goog.structs.Map('a', 1, 'b', 2);
- assertTrue('constr with var_args so it should not be empty', !m.isEmpty());
- assertEquals('constr with var_args', 1, m.get('a'));
- assertEquals('constr with var_args', 2, m.get('b'));
-
- assertThrows('Odd number of arguments is not allowed', function() {
- var m = new goog.structs.Map('a', 1, 'b');
- });
-}
-
-function testClone() {
- var m = getMap();
- var m2 = m.clone();
- assertTrue('clone so it should not be empty', !m2.isEmpty());
- assertTrue("clone so it should contain 'c' key", m2.containsKey('c'));
-}
-
-
-function testRemove() {
- var m = new goog.structs.Map();
- for (var i = 0; i < 1000; i++) {
- m.set(i, 'foo');
- }
-
- for (var i = 0; i < 1000; i++) {
- assertTrue(m.keys_.length <= 2 * m.getCount());
- m.remove(i);
- }
- assertTrue(m.isEmpty());
- assertEquals('', m.getKeys().join(''));
-}
-
-
-function testForEach() {
- var m = getMap();
- var s = '';
- goog.structs.forEach(m, function(val, key, m2) {
- assertNotUndefined(key);
- assertEquals(m, m2);
- s += key + val;
- });
- assertEquals(s, 'a0b1c2d3');
-}
-
-function testFilter() {
- var m = getMap();
-
- var m2 = goog.structs.filter(m, function (val, key, m3) {
- assertNotUndefined(key);
- assertEquals(m, m3);
- return val > 1;
- });
- assertEquals(stringifyMap(m2), 'c2d3');
-}
-
-
-function testMap() {
- var m = getMap();
- var m2 = goog.structs.map(m, function (val, key, m3) {
- assertNotUndefined(key);
- assertEquals(m, m3);
- return val * val;
- });
- assertEquals(stringifyMap(m2), 'a0b1c4d9');
-}
-
-function testSome() {
- var m = getMap();
- var b = goog.structs.some(m, function (val, key, m2) {
- assertNotUndefined(key);
- assertEquals(m, m2);
- return val > 1;
- });
- assertTrue(b);
- var b = goog.structs.some(m, function (val, key, m2) {
- assertNotUndefined(key);
- assertEquals(m, m2);
- return val > 100;
- });
- assertFalse(b);
-}
-
-function testEvery() {
- var m = getMap();
- var b = goog.structs.every(m, function (val, key, m2) {
- assertNotUndefined(key);
- assertEquals(m, m2);
- return val >= 0;
- });
- assertTrue(b);
- b = goog.structs.every(m, function (val, key, m2) {
- assertNotUndefined(key);
- assertEquals(m, m2);
- return val > 1;
- });
- assertFalse(b);
-}
-
-function testContainsValue() {
- var m = getMap();
- assertTrue(m.containsValue(3));
- assertFalse(m.containsValue(4));
-}
-
-function testObjectProperties() {
- var m = new goog.structs.Map;
-
- assertEquals(m.get('toString'), undefined);
- assertEquals(m.get('valueOf'), undefined);
- assertEquals(m.get('eval'), undefined);
- assertEquals(m.get('toSource'), undefined);
- assertEquals(m.get('prototype'), undefined);
- assertEquals(m.get(':foo'), undefined);
-
- m.set('toString', 'once');
- m.set('valueOf', 'upon');
- m.set('eval', 'a');
- m.set('toSource', 'midnight');
- m.set('prototype', 'dreary');
- m.set('hasOwnProperty', 'dark');
- m.set(':foo', 'happy');
-
- assertEquals(m.get('toString'), 'once');
- assertEquals(m.get('valueOf'), 'upon');
- assertEquals(m.get('eval'), 'a');
- assertEquals(m.get('toSource'), 'midnight');
- assertEquals(m.get('prototype'), 'dreary');
- assertEquals(m.get('hasOwnProperty'), 'dark');
- assertEquals(m.get(':foo'), 'happy');
-
- var keys = m.getKeys().join(',');
- assertEquals(keys,
- 'toString,valueOf,eval,toSource,prototype,hasOwnProperty,:foo');
-
- var values = m.getValues().join(',');
- assertEquals(values, 'once,upon,a,midnight,dreary,dark,happy');
-}
-
-function testDuplicateKeys() {
- var m = new goog.structs.Map;
-
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
- m.set('e', 5);
- m.set('f', 6);
- assertEquals(6, m.getKeys().length);
- m.set('foo', 1);
- assertEquals(7, m.getKeys().length);
- m.remove('foo');
- assertEquals(6, m.getKeys().length);
- m.set('foo', 2);
- assertEquals(7, m.getKeys().length);
- m.remove('foo');
- m.set('foo', 3);
- m.remove('foo');
- m.set('foo', 4);
- assertEquals(7, m.getKeys().length);
-}
-
-function testGetKeyIterator() {
- var m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
- m.set('e', 5);
-
- var iter = m.getKeyIterator();
- assertEquals('Should contain the keys', 'abcde', goog.iter.join(iter, ''));
-
- m.remove('b');
- m.remove('d');
- iter = m.getKeyIterator();
- assertEquals('Should not contain the removed keys',
- 'ace', goog.iter.join(iter, ''));
-}
-
-function testGetValueIterator() {
- var m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
- m.set('e', 5);
-
- var iter = m.getValueIterator();
- assertEquals('Should contain the values', '12345', goog.iter.join(iter, ''));
-
- m.remove('b');
- m.remove('d');
- iter = m.getValueIterator();
- assertEquals('Should not contain the removed keys',
- '135', goog.iter.join(iter, ''));
-}
-
-function testDefaultIterator() {
- // The default iterator should behave like the value iterator
-
- var m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
- m.set('e', 5);
-
- assertEquals('Should contain the values', '12345', goog.iter.join(m, ''));
-
- m.remove('b');
- m.remove('d');
- assertEquals('Should not contain the removed keys',
- '135', goog.iter.join(m, ''));
-}
-
-function testMutatedIterator() {
- var message = 'The map has changed since the iterator was created';
-
- var m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
-
- var iter = m.getValueIterator();
- m.set('e', 5);
- var ex = assertThrows('Expected an exception since the map has changed',
- function() {
- iter.next();
- });
- assertEquals(message, ex.message);
-
- m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
-
- iter = m.getValueIterator();
- m.remove('d');
- var ex = assertThrows('Expected an exception since the map has changed',
- function() {
- iter.next();
- });
- assertEquals(message, ex.message);
-
- m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
-
- iter = m.getValueIterator();
- m.set('d', 5);
- iter.next();
- // Changing an existing value is OK.
- iter.next();
-};
-
-function testTranspose() {
- var m = new goog.structs.Map;
- m.set('a', 1);
- m.set('b', 2);
- m.set('c', 3);
- m.set('d', 4);
- m.set('e', 5);
-
- var transposed = m.transpose();
- assertEquals('Should contain the keys', 'abcde',
- goog.iter.join(transposed, ''));
-}
-
-function testToObject() {
- Object.prototype.b = 0;
- try {
- var map = new goog.structs.Map();
- map.set('a', 0);
- var obj = map.toObject();
- assertTrue('object representation has key "a"', obj.hasOwnProperty('a'));
- assertFalse('object representation does not have key "b"',
- obj.hasOwnProperty('b'));
- assertEquals('value for key "a"', 0, obj['a']);
- } finally {
- delete Object.prototype.b;
- }
-}
-
-function testEqualsWithSameObject() {
- var map1 = getMap();
- assertTrue('maps are the same object', map1.equals(map1));
-}
-
-function testEqualsWithDifferentSizeMaps() {
- var map1 = getMap();
- var map2 = new goog.structs.Map();
-
- assertFalse('maps are different sizes', map1.equals(map2));
-}
-
-function testEqualsWithDefaultEqualityFn() {
- var map1 = new goog.structs.Map();
- var map2 = new goog.structs.Map();
-
- assertTrue('maps are both empty', map1.equals(map2));
-
- map1 = getMap();
- map2 = getMap();
- assertTrue('maps are the same', map1.equals(map2));
-
- map2.set('d', '3');
- assertFalse('maps have 3 and \'3\'', map1.equals(map2));
-}
-
-function testEqualsWithCustomEqualityFn() {
- var map1 = new goog.structs.Map();
- var map2 = new goog.structs.Map();
-
- map1.set('a', 0);
- map1.set('b', 1);
-
- map2.set('a', '0');
- map2.set('b', '1');
-
- var equalsFn = function(a, b) { return a == b };
-
- assertTrue('maps are equal with ==', map1.equals(map2, equalsFn));
-}
-
-</script>
-</body>
-</html>