aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/structs/structs_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/structs/structs_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/structs/structs_test.html1050
1 files changed, 0 insertions, 1050 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/structs/structs_test.html b/contexts/data/lib/closure-library/closure/goog/structs/structs_test.html
deleted file mode 100644
index fb9fe78..0000000
--- a/contexts/data/lib/closure-library/closure/goog/structs/structs_test.html
+++ /dev/null
@@ -1,1050 +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</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.array');
- goog.require('goog.object');
- goog.require('goog.structs');
- goog.require('goog.structs.Set'); // needed for filter
- goog.require('goog.structs.Map');
- goog.require('goog.testing.jsunit');
-</script>
-</head>
-<body>
-<!-- test container with 10 elements inside, 1 hr and 1 h1 with id h1 -->
-<div id="test">
- <hr>
- <p>Paragraph 0</p>
- <p>Paragraph 1</p>
- <p>Paragraph 2</p>
- <p>Paragraph 3</p>
- <p>Paragraph 4</p>
- <p>Paragraph 5</p>
- <p>Paragraph 6</p>
- <p>Paragraph 7</p>
- <h1 id="h1">Header</h1>
-</div>
-
-
-<script>
-
-/*
-
- This one does not test Map or Set
- It tests Array, Object, String and a NodeList
-
-*/
-
-
-
-function stringifyObject(obj) {
- var sb = [];
- for (var key in obj) {
- sb.push(key + obj[key]);
- }
- return sb.join('');
-}
-
-
-function getTestElement() {
- return document.getElementById('test');
-}
-
-
-function getAll() {
- return getTestElement().getElementsByTagName('*')
-}
-
-
-var node;
-
-
-function addNode() {
- node = document.createElement('span');
- getTestElement().appendChild(node);
-}
-
-
-function removeNode() {
- getTestElement().removeChild(node);
-}
-
-
-function nodeNames(nl) {
- var sb = [];
- for (var i = 0, n; n = nl[i]; i++) {
- sb.push(n.nodeName.toLowerCase());
- }
- return sb.join(',');
-}
-
-
-var allTagNames1 = 'hr,p,p,p,p,p,p,p,p,h1';
-var allTagNames2 = allTagNames1 + ',span';
-
-
-function testGetCount() {
- var arr = ['a', 'b', 'c'];
- assertEquals('count, should be 3', 3, goog.structs.getCount(arr));
- arr.push('d');
- assertEquals('count, should be 4', 4, goog.structs.getCount(arr));
- goog.array.remove(arr, 'd');
- assertEquals('count, should be 3', 3, goog.structs.getCount(arr));
-
- var obj = {a: 0, b: 1, c: 2};
- assertEquals('count, should be 3', 3, goog.structs.getCount(obj));
- obj.d = 3;
- assertEquals('count, should be 4', 4, goog.structs.getCount(obj));
- delete obj.d;
- assertEquals('count, should be 3', 3, goog.structs.getCount(obj));
-
- var s = 'abc';
- assertEquals('count, should be 3', 3, goog.structs.getCount(s));
- s += 'd';
- assertEquals('count, should be 4', 4, goog.structs.getCount(s));
-
- var all = getAll();
- assertEquals('count, should be 10', 10, goog.structs.getCount(all));
- addNode();
- assertEquals('count, should be 11', 11, goog.structs.getCount(all));
- removeNode();
- assertEquals('count, should be 10', 10, goog.structs.getCount(all));
-
- var aMap = new goog.structs.Map({a: 0, b: 1, c: 2});
- assertEquals('count, should be 3', 3, goog.structs.getCount(aMap));
- aMap.set('d', 3);
- assertEquals('count, should be 4', 4, goog.structs.getCount(aMap));
- aMap.remove('a');
- assertEquals('count, should be 3', 3, goog.structs.getCount(aMap));
-
- var aSet = new goog.structs.Set('abc');
- assertEquals('count, should be 3', 3, goog.structs.getCount(aSet));
- aSet.add('d');
- assertEquals('count, should be 4', 4, goog.structs.getCount(aSet));
- aSet.remove('a');
- assertEquals('count, should be 3', 3, goog.structs.getCount(aSet));
-}
-
-
-function testGetValues() {
- var arr = ['a', 'b', 'c', 'd'];
- assertEquals('abcd', goog.structs.getValues(arr).join(''));
-
- var obj = {a: 0, b: 1, c: 2, d: 3};
- assertEquals('0123', goog.structs.getValues(obj).join(''));
-
- var s = 'abc';
- assertEquals('abc', goog.structs.getValues(s).join(''));
- s += 'd';
- assertEquals('abcd', goog.structs.getValues(s).join(''));
-
- var all = getAll();
- assertEquals(allTagNames1, nodeNames(goog.structs.getValues(all)));
- addNode();
- assertEquals(allTagNames2, nodeNames(goog.structs.getValues(all)));
- removeNode();
- assertEquals(allTagNames1, nodeNames(goog.structs.getValues(all)));
-
- var aMap = new goog.structs.Map({a: 1, b: 2, c: 3});
- assertEquals('123', goog.structs.getValues(aMap).join(''));
-
- var aSet = new goog.structs.Set([1, 2, 3]);
- assertEquals('123', goog.structs.getValues(aMap).join(''));
-}
-
-
-function testGetKeys() {
- var arr = ['a', 'b', 'c', 'd'];
- assertEquals('0123', goog.structs.getKeys(arr).join(''));
-
- var obj = {a: 0, b: 1, c: 2, d: 3};
- assertEquals('abcd', goog.structs.getKeys(obj).join(''));
-
- var s = 'abc';
- assertEquals('012', goog.structs.getKeys(s).join(''));
- s += 'd';
- assertEquals('0123', goog.structs.getKeys(s).join(''));
-
- var all = getAll();
- assertEquals('0123456789', goog.structs.getKeys(all).join(''));
- addNode();
- assertEquals('012345678910', goog.structs.getKeys(all).join(''));
- removeNode();
- assertEquals('0123456789', goog.structs.getKeys(all).join(''));
-
- var aMap = new goog.structs.Map({a: 1, b: 2, c: 3});
- assertEquals('abc', goog.structs.getKeys(aMap).join(''));
-
- var aSet = new goog.structs.Set([1, 2, 3]);
- assertUndefined(goog.structs.getKeys(aSet));
-}
-
-function testContains() {
- var arr = ['a', 'b', 'c', 'd'];
- assertTrue("contains, Should contain 'a'", goog.structs.contains(arr, 'a'));
- assertFalse("contains, Should not contain 'e'", goog.structs.contains(arr, 'e'));
-
- var obj = {a: 0, b: 1, c: 2, d: 3};
- assertTrue("contains, Should contain '0'", goog.structs.contains(obj, 0));
- assertFalse("contains, Should not contain '4'", goog.structs.contains(obj, 4));
-
- var s = 'abc';
- assertTrue("contains, Should contain 'a'", goog.structs.contains(s, 'a'));
- assertFalse("contains, Should not contain 'd'", goog.structs.contains(s, 'd'));
-
- var all = getAll();
- assertTrue("contains, Should contain 'h1'",
- goog.structs.contains(all, document.getElementById('h1')));
- assertFalse("contains, Should not contain 'document.body'",
- goog.structs.contains(all, document.body));
-
- var aMap = new goog.structs.Map({a: 1, b: 2, c: 3});
- assertTrue("contains, Should contain '1'", goog.structs.contains(aMap, 1));
- assertFalse("contains, Should not contain '4'", goog.structs.contains(aMap, 4));
-
- var aSet = new goog.structs.Set([1, 2, 3]);
- assertTrue("contains, Should contain '1'", goog.structs.contains(aSet, 1));
- assertFalse("contains, Should not contain '4'", goog.structs.contains(aSet, 4));
-}
-
-
-function testClear() {
- var arr = ['a', 'b', 'c', 'd'];
- goog.structs.clear(arr);
- assertTrue('cleared so it should be empty', goog.structs.isEmpty(arr));
- assertFalse("cleared so it should not contain 'a'", goog.structs.contains(arr, 'a'));
-
- var obj = {a: 0, b: 1, c: 2, d: 3};
- goog.structs.clear(obj);
- assertTrue('cleared so it should be empty', goog.structs.isEmpty(obj));
- assertFalse("cleared so it should not contain 'a' key", goog.structs.contains(obj, 0));
-
- var aMap = new goog.structs.Map({a: 1, b: 2, c: 3});
- goog.structs.clear(aMap);
- assertTrue('cleared map so it should be empty', goog.structs.isEmpty(aMap));
- assertFalse("cleared map so it should not contain '1' value",
- goog.structs.contains(aMap, 1));
-
- var aSet = new goog.structs.Set([1, 2, 3]);
- goog.structs.clear(aSet);
- assertTrue('cleared set so it should be empty', goog.structs.isEmpty(aSet));
- assertFalse("cleared set so it should not contain '1'", goog.structs.contains(aSet, 1));
-
- // cannot clear a string or a NodeList
-}
-
-
-
-// Map
-
-function testMap() {
- var RV = {};
- var obj = {
- map: function(g) {
- assertEquals(f, g);
- assertEquals(this, obj);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.map(obj, f));
-}
-
-function testMap2() {
- var THIS_OBJ = {};
- var RV = {};
- var obj = {
- map: function(g, obj2) {
- assertEquals(f, g);
- assertEquals(this, obj);
- assertEquals(THIS_OBJ, obj2);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.map(obj, f, THIS_OBJ));
-}
-
-function testMapArrayLike() {
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v * v;
- }
- assertArrayEquals([0, 1, 4], goog.structs.map(col, f));
-}
-
-function testMapArrayLike2() {
- var THIS_OBJ = {};
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v * v;
- }
- assertArrayEquals([0, 1, 4], goog.structs.map(col, f, THIS_OBJ));
-}
-
-function testMapString() {
- var col = '012';
- function f(v, i, col2) {
- // Teh SpiderMonkey Array.map for strings turns the string into a String
- // so we cannot use assertEquals because it uses ===.
- assertTrue(col == col2);
- assertEquals('number', typeof i);
- return Number(v) * Number(v);
- }
- assertArrayEquals([0, 1, 4], goog.structs.map(col, f));
-}
-
-function testMapString2() {
- var THIS_OBJ = {};
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return Number(v) * Number(v);
- }
- assertArrayEquals([0, 1, 4], goog.structs.map(col, f, THIS_OBJ));
-}
-
-function testMapMap() {
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- return v * v;
- }
- assertObjectEquals({a: 0, b: 1, c: 4}, goog.structs.map(col, f));
-}
-
-function testMapMap2() {
- var THIS_OBJ = {};
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- assertEquals(THIS_OBJ, this);
- return v * v;
- }
- assertObjectEquals({a: 0, b: 1, c: 4}, goog.structs.map(col, f, THIS_OBJ));
-}
-
-function testMapSet() {
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- return v * v;
- }
- assertArrayEquals([0, 1, 4], goog.structs.map(col, f));
-}
-
-function testMapSet2() {
- var THIS_OBJ = {};
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- assertEquals(THIS_OBJ, this);
- return v * v;
- }
- assertArrayEquals([0, 1, 4], goog.structs.map(col, f, THIS_OBJ));
-}
-
-function testMapNodeList() {
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v.tagName;
- }
- assertEquals('HRPPPPPPPPH1', goog.structs.map(col, f).join(''));
-}
-
-function testMapNodeList2() {
- var THIS_OBJ = {};
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v.tagName;
- }
- assertEquals('HRPPPPPPPPH1', goog.structs.map(col, f, THIS_OBJ).join(''));
-}
-
-// Filter
-
-function testFilter() {
- var RV = {};
- var obj = {
- filter: function(g) {
- assertEquals(f, g);
- assertEquals(this, obj);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.filter(obj, f));
-}
-
-function testFilter2() {
- var THIS_OBJ = {};
- var RV = {};
- var obj = {
- filter: function(g, obj2) {
- assertEquals(f, g);
- assertEquals(this, obj);
- assertEquals(THIS_OBJ, obj2);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.filter(obj, f, THIS_OBJ));
-}
-
-function testFilterArrayLike() {
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v > 0;
- }
- assertArrayEquals([1, 2], goog.structs.filter(col, f));
-}
-
-function testFilterArrayLike2() {
- var THIS_OBJ = {};
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v > 0;
- }
- assertArrayEquals([1, 2], goog.structs.filter(col, f, THIS_OBJ));
-}
-
-function testFilterString() {
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- return Number(v) > 0;
- }
- assertArrayEquals(['1', '2'], goog.structs.filter(col, f));
-}
-
-function testFilterString2() {
- var THIS_OBJ = {};
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return Number(v) > 0;
- }
- assertArrayEquals(['1', '2'], goog.structs.filter(col, f, THIS_OBJ));
-}
-
-function testFilterMap() {
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- return v > 0;
- }
- assertObjectEquals({b: 1, c: 2}, goog.structs.filter(col, f));
-}
-
-function testFilterMap2() {
- var THIS_OBJ = {};
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- assertEquals(THIS_OBJ, this);
- return v > 0;
- }
- assertObjectEquals({b: 1, c: 2}, goog.structs.filter(col, f, THIS_OBJ));
-}
-
-function testFilterSet() {
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- return v > 0;
- }
- assertArrayEquals([1, 2], goog.structs.filter(col, f));
-}
-
-function testFilterSet2() {
- var THIS_OBJ = {};
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- assertEquals(THIS_OBJ, this);
- return v > 0;
- }
- assertArrayEquals([1, 2], goog.structs.filter(col, f, THIS_OBJ));
-}
-
-function testFilterNodeList() {
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v.tagName == 'P';
- }
- assertEquals('p,p,p,p,p,p,p,p',
- nodeNames(goog.structs.filter(col, f)));
-}
-
-function testFilterNodeList2() {
- var THIS_OBJ = {};
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v.tagName == 'P';
- }
- assertEquals('p,p,p,p,p,p,p,p',
- nodeNames(goog.structs.filter(col, f, THIS_OBJ)));
-}
-
-// Some
-
-function testSome() {
- var RV = {};
- var obj = {
- some: function(g) {
- assertEquals(f, g);
- assertEquals(this, obj);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.some(obj, f));
-}
-
-function testSome2() {
- var THIS_OBJ = {};
- var RV = {};
- var obj = {
- some: function(g, obj2) {
- assertEquals(f, g);
- assertEquals(this, obj);
- assertEquals(THIS_OBJ, obj2);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.some(obj, f, THIS_OBJ));
-}
-
-function testSomeArrayLike() {
- var limit = 0;
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v > limit;
- }
- assertTrue(goog.structs.some(col, f));
- limit = 2;
- assertFalse(goog.structs.some(col, f));
-}
-
-function testSomeArrayLike2() {
- var THIS_OBJ = {};
- var limit = 0;
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v > limit;
- }
- assertTrue(goog.structs.some(col, f, THIS_OBJ));
- limit = 2;
- assertFalse(goog.structs.some(col, f, THIS_OBJ));
-}
-
-function testSomeString() {
- var limit = 0;
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- return Number(v) > limit;
- }
- assertTrue(goog.structs.some(col, f));
- limit = 2;
- assertFalse(goog.structs.some(col, f));
-}
-
-function testSomeString2() {
- var THIS_OBJ = {};
- var limit = 0;
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return Number(v) > limit;
- }
- assertTrue(goog.structs.some(col, f, THIS_OBJ));
- limit = 2;
- assertFalse(goog.structs.some(col, f, THIS_OBJ));
-}
-
-function testSomeMap() {
- var limit = 0;
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- return v > limit;
- }
- assertObjectEquals(true, goog.structs.some(col, f));
- limit = 2;
- assertFalse(goog.structs.some(col, f));
-}
-
-function testSomeMap2() {
- var THIS_OBJ = {};
- var limit = 0;
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- assertEquals(THIS_OBJ, this);
- return v > limit;
- }
- assertObjectEquals(true, goog.structs.some(col, f, THIS_OBJ));
- limit = 2;
- assertFalse(goog.structs.some(col, f, THIS_OBJ));
-}
-
-function testSomeSet() {
- var limit = 0;
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- return v > limit;
- }
- assertTrue(goog.structs.some(col, f));
- limit = 2;
- assertFalse(goog.structs.some(col, f));
-}
-
-function testSomeSet2() {
- var THIS_OBJ = {};
- var limit = 0;
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- assertEquals(THIS_OBJ, this);
- return v > limit;
- }
- assertTrue(goog.structs.some(col, f, THIS_OBJ));
- limit = 2;
- assertFalse(goog.structs.some(col, f, THIS_OBJ));
-}
-
-function testSomeNodeList() {
- var tagName = 'P';
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v.tagName == tagName;
- }
- assertTrue(goog.structs.some(col, f));
- tagName = 'MARQUEE';
- assertFalse(goog.structs.some(col, f));
-}
-
-function testSomeNodeList2() {
- var THIS_OBJ = {};
- var tagName = 'P';
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v.tagName == tagName;
- }
- assertTrue(goog.structs.some(col, f, THIS_OBJ));
- tagName = 'MARQUEE';
- assertFalse(goog.structs.some(col, f, THIS_OBJ));
-}
-
-// Every
-
-function testEvery() {
- var RV = {};
- var obj = {
- every: function(g) {
- assertEquals(f, g);
- assertEquals(this, obj);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.every(obj, f));
-}
-
-function testEvery2() {
- var THIS_OBJ = {};
- var RV = {};
- var obj = {
- every: function(g, obj2) {
- assertEquals(f, g);
- assertEquals(this, obj);
- assertEquals(THIS_OBJ, obj2);
- return RV;
- }
- };
- function f() {}
- assertEquals(RV, goog.structs.every(obj, f, THIS_OBJ));
-}
-
-function testEveryArrayLike() {
- var limit = -1;
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v > limit;
- }
- assertTrue(goog.structs.every(col, f));
- limit = 1;
- assertFalse(goog.structs.every(col, f));
-}
-
-function testEveryArrayLike2() {
- var THIS_OBJ = {};
- var limit = -1;
- var col = [0, 1, 2];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v > limit;
- }
- assertTrue(goog.structs.every(col, f, THIS_OBJ));
- limit = 1;
- assertFalse(goog.structs.every(col, f, THIS_OBJ));
-}
-
-function testEveryString() {
- var limit = -1;
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- return Number(v) > limit;
- }
- assertTrue(goog.structs.every(col, f));
- limit = 1;
- assertFalse(goog.structs.every(col, f));
-}
-
-function testEveryString2() {
- var THIS_OBJ = {};
- var limit = -1;
- var col = '012';
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return Number(v) > limit;
- }
- assertTrue(goog.structs.every(col, f, THIS_OBJ));
- limit = 1;
- assertFalse(goog.structs.every(col, f, THIS_OBJ));
-}
-
-function testEveryMap() {
- var limit = -1;
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- return v > limit;
- }
- assertObjectEquals(true, goog.structs.every(col, f));
- limit = 1;
- assertFalse(goog.structs.every(col, f));
-}
-
-function testEveryMap2() {
- var THIS_OBJ = {};
- var limit = -1;
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- assertEquals(THIS_OBJ, this);
- return v > limit;
- }
- assertObjectEquals(true, goog.structs.every(col, f, THIS_OBJ));
- limit = 1;
- assertFalse(goog.structs.every(col, f, THIS_OBJ));
-}
-
-function testEverySet() {
- var limit = -1;
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- return v > limit;
- }
- assertTrue(goog.structs.every(col, f));
- limit = 1;
- assertFalse(goog.structs.every(col, f));
-}
-
-function testEverySet2() {
- var THIS_OBJ = {};
- var limit = -1;
- var col = new goog.structs.Set([0, 1, 2]);
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- assertEquals(THIS_OBJ, this);
- return v > limit;
- }
- assertTrue(goog.structs.every(col, f, THIS_OBJ));
- limit = 1;
- assertFalse(goog.structs.every(col, f, THIS_OBJ));
-}
-
-function testEveryNodeList() {
- var nodeType = 1; // ELEMENT
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- return v.nodeType == nodeType;
- }
- assertTrue(goog.structs.every(col, f));
- nodeType = 3; // TEXT
- assertFalse(goog.structs.every(col, f));
-}
-
-function testEveryNodeList2() {
- var THIS_OBJ = {};
- var nodeType = 1; // ELEMENT
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- return v.nodeType == nodeType;
- }
- assertTrue(goog.structs.every(col, f, THIS_OBJ));
- nodeType = 3; // TEXT
- assertFalse(goog.structs.every(col, f, THIS_OBJ));
-}
-
-// For each
-
-function testForEach() {
- var called = false;
- var obj = {
- forEach: function(g) {
- assertEquals(f, g);
- assertEquals(this, obj);
- called = true;
- }
- };
- function f() {}
- goog.structs.forEach(obj, f);
- assertTrue(called);
-}
-
-function testForEach2() {
- var called = false;
- var THIS_OBJ = {};
- var obj = {
- forEach: function(g, obj2) {
- assertEquals(f, g);
- assertEquals(this, obj);
- assertEquals(THIS_OBJ, obj2);
- called = true;
- }
- };
- function f() {}
- goog.structs.forEach(obj, f, THIS_OBJ);
- assertTrue(called);
-}
-
-function testForEachArrayLike() {
- var col = [0, 1, 2];
- var values = [];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- values.push(v * v);
- }
- goog.structs.forEach(col, f)
- assertArrayEquals([0, 1, 4], values);
-}
-
-function testForEachArrayLike2() {
- var THIS_OBJ = {};
- var col = [0, 1, 2];
- var values = [];
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- values.push(v * v);
- }
- goog.structs.forEach(col, f, THIS_OBJ);
- assertArrayEquals([0, 1, 4], values);
-}
-
-function testForEachString() {
- var col = '012';
- var values = [];
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- values.push(Number(v) * Number(v));
- }
- goog.structs.forEach(col, f);
- assertArrayEquals([0, 1, 4], values);
-}
-
-function testForEachString2() {
- var THIS_OBJ = {};
- var col = '012';
- var values = [];
- function f(v, i, col2) {
- // for some reason the strings are equal but identical???
- assertEquals(String(col), String(col2));
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- values.push(Number(v) * Number(v));
- }
- goog.structs.forEach(col, f, THIS_OBJ);
- assertArrayEquals([0, 1, 4], values);
-}
-
-function testForEachMap() {
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- var values = [];
- var keys = [];
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- values.push(v * v);
- keys.push(key);
- }
- goog.structs.forEach(col, f);
- assertArrayEquals([0, 1, 4], values);
- assertArrayEquals(['a', 'b', 'c'], keys);
-}
-
-function testForEachMap2() {
- var THIS_OBJ = {};
- var col = new goog.structs.Map({a: 0, b: 1, c: 2});
- var values = [];
- var keys = [];
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('string', typeof key);
- assertEquals(THIS_OBJ, this);
- values.push(v * v);
- keys.push(key);
- }
- goog.structs.forEach(col, f, THIS_OBJ);
- assertArrayEquals([0, 1, 4], values);
- assertArrayEquals(['a', 'b', 'c'], keys);
-}
-
-function testForEachSet() {
- var col = new goog.structs.Set([0, 1, 2]);
- var values = [];
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- values.push(v * v);
- }
- goog.structs.forEach(col, f);
- assertArrayEquals([0, 1, 4], values);
-}
-
-function testForEachSet2() {
- var THIS_OBJ = {};
- var col = new goog.structs.Set([0, 1, 2]);
- var values = [];
- function f(v, key, col2) {
- assertEquals(col, col2);
- assertEquals('undefined', typeof key);
- assertEquals(THIS_OBJ, this);
- values.push(v * v);
- }
- goog.structs.forEach(col, f, THIS_OBJ);
- assertArrayEquals([0, 1, 4], values);
-}
-
-function testForEachNodeList() {
- var values = [];
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- values.push(v.tagName);
- }
- goog.structs.forEach(col, f);
- assertEquals('HRPPPPPPPPH1', values.join(''));
-}
-
-function testForEachNodeList2() {
- var THIS_OBJ = {};
- var values = [];
- var col = getAll();
- function f(v, i, col2) {
- assertEquals(col, col2);
- assertEquals('number', typeof i);
- assertEquals(THIS_OBJ, this);
- values.push(v.tagName);
- }
- goog.structs.forEach(col, f, THIS_OBJ);
- assertEquals('HRPPPPPPPPH1', values.join(''));
-}
-
-</script>
-</body>
-</html>