aboutsummaryrefslogtreecommitdiff
path: root/contexts/data/lib/closure-library/closure/goog/datasource/fastdatanode_test.html
diff options
context:
space:
mode:
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/datasource/fastdatanode_test.html')
-rw-r--r--contexts/data/lib/closure-library/closure/goog/datasource/fastdatanode_test.html254
1 files changed, 0 insertions, 254 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/datasource/fastdatanode_test.html b/contexts/data/lib/closure-library/closure/goog/datasource/fastdatanode_test.html
deleted file mode 100644
index 3e42b0a..0000000
--- a/contexts/data/lib/closure-library/closure/goog/datasource/fastdatanode_test.html
+++ /dev/null
@@ -1,254 +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.ds.FastDataNode</title>
-<script src="../base.js"></script>
-<script>
- goog.require('goog.array');
- goog.require('goog.ds.DataManager');
- goog.require('goog.ds.Expr');
- goog.require('goog.ds.FastDataNode');
- goog.require('goog.ds.JsDataSource');
- goog.require('goog.testing.jsunit');
-</script>
-<script>
- var simpleObject;
- var complexObject;
- var dataChangeEvents;
-
- function setUp() {
- simpleObject = {Name: "Jon Doe", Email: "jon.doe@gmail.com"};
- complexObject = {Name: "Jon Doe", Email: "jon.doe@gmail.com",
- Emails: [{Address: "jon.doe@gmail.com", Type: "Home"},
- {Address: "jon.doe@workplace.com", Type: "Work"}],
- GroupIds: [23, 42]};
- var dm = goog.ds.DataManager.getInstance();
- dataChangeEvents = [];
- dm.fireDataChange = function(dataPath) {
- dataChangeEvents.push(dataPath);
- };
- };
-
- function tearDown() {
- goog.ds.DataManager.clearInstance();
- };
-
- function testGetChildNodeValue() {
- var node = new goog.ds.FastDataNode(simpleObject, "Simple");
- var value = node.getChildNodeValue("Name");
- assert(goog.isString(value));
- assertEquals("Jon Doe", value);
- };
-
- function testDataNameAndPath() {
- var node = new goog.ds.FastDataNode(simpleObject, "Simple");
- assertEquals("DataName should be 'Simple'", "Simple", node.getDataName());
- assertEquals("DataPath should be 'Simple'", "Simple", node.getDataPath());
- };
-
- function testStringChildNode() {
- var node = goog.ds.FastDataNode.fromJs(simpleObject, "Simple");
- var name = node.getChildNode("Name");
- var email = node.getChildNode("Email");
- assertEquals("Jon Doe", name.get());
- assertEquals("jon.doe@gmail.com", email.get());
-
- assertEquals("Name", name.getDataName());
- assertEquals("Simple/Name", name.getDataPath());
-
- assertEquals("Email", email.getDataName());
- assertEquals("Simple/Email", email.getDataPath());
- };
-
- function testGetChildNodes() {
- var node = goog.ds.FastDataNode.fromJs(simpleObject, "Simple");
- var children = node.getChildNodes();
- assertEquals(2, children.getCount());
- var childValues = [];
- for (var i=0; i < 2; ++i) {
- childValues.push(children.getByIndex(i).get());
- }
- goog.array.sort(childValues);
- assertEquals("Jon Doe", childValues[0]);
- assertEquals("jon.doe@gmail.com", childValues[1]);
- };
-
-
- function testGetDistinguishesBetweenOverloads() {
- var node = goog.ds.FastDataNode.fromJs(simpleObject, "Simple");
- assertEquals(node, node.get());
- assertEquals("Jon Doe", node.getChildNodes().get("Name").get());
- };
-
-
- function testGetChildNodesForPrimitiveNodes() {
- var node = goog.ds.FastDataNode.fromJs(simpleObject, "Simple");
- var children = node.getChildNode("Name").getChildNodes();
- assertEquals(0, children.getCount());
- };
-
-
- function testFastListNode() {
- var node = goog.ds.FastDataNode.fromJs(complexObject, "Object");
- assertEquals("Jon Doe", node.getChildNodeValue("Name"));
- var emails = node.getChildNode("Emails");
- assertEquals("jon.doe@gmail.com",
- emails.getChildNode("[0]").getChildNodeValue("Address"));
- assertEquals("jon.doe@workplace.com",
- emails.getChildNode("[1]").getChildNodeValue("Address"));
-
- assertEquals("Object/Emails/[0]/Address",
- emails.getChildNode("[0]").getChildNode("Address").getDataPath());
-
- var groups = node.getChildNode("GroupIds");
- assertEquals(23, groups.getChildNode("[0]").get());
- assertEquals(42, groups.getChildNodeValue("[1]"));
-
- var childValues = emails.getChildNodes();
- assertEquals(2, childValues.getCount());
- assertEquals("jon.doe@gmail.com",
- childValues.getByIndex(0).getChildNodeValue("Address"));
- };
-
-
- function testChildNodeValueForNonexistantAttribute() {
- var node = goog.ds.FastDataNode.fromJs(complexObject, "Object");
- assertNull(node.getChildNodeValue("DoesNotExist"));
- assertNull(node.getChildNode("Emails").getChildNodeValue("[666]"));
- };
-
-
- function testAllChildrenSelector() {
- var node = goog.ds.FastDataNode.fromJs(complexObject, "Object");
- var allChildren = node.getChildNodes("*");
- assertEquals(4, allChildren.getCount());
-
- // not implemented, yet
- // var nameChild = node.getChildNodes("Name");
- // assertEquals(1, allChildren.getCount());
- };
-
- function testExpression() {
- var node = goog.ds.FastDataNode.fromJs(complexObject, "Object");
- assertEquals("Jon Doe",
- goog.ds.Expr.create("Name").getValue(node));
- assertEquals("jon.doe@workplace.com",
- goog.ds.Expr.create("Emails/[1]/Address").getNode(node).get());
- var emails = goog.ds.Expr.create("Emails/*").getNodes(node);
- assertEquals(2, emails.getCount());
- assertEquals("jon.doe@workplace.com",
- emails.getByIndex(1).getChildNodeValue("Address"));
- };
-
- function testModifyNode() {
- var node = goog.ds.FastDataNode.fromJs(complexObject, "Object");
- node.getChildNode("Name").set("Foo Bar");
- assertEquals("Foo Bar", node.getChildNodeValue("Name"));
- };
-
- function testClone() {
- var node = goog.ds.FastDataNode.fromJs(complexObject, "Object");
- var clone = node.clone();
- node.getChildNode("Name").set("Foo Bar");
- assertEquals("Jon Doe", clone.getChildNodeValue("Name"));
- var expr = goog.ds.Expr.create("Emails/[1]/Address");
- expr.getNode(clone).set("jon@doe.com");
- assertEquals("jon.doe@workplace.com", expr.getValue(node));
- assertEquals("jon@doe.com", expr.getValue(clone));
- };
-
- function testSetChildNodeOnList() {
- var list = goog.ds.FastDataNode.fromJs([], "list");
- var node = goog.ds.FastDataNode.fromJs({Id: "42", Name: "Foo"}, "42",
- list);
- list.setChildNode("42", node);
-
- assertEquals(node, list.getChildNode("42"));
- assertEquals(node, list.getChildNodes().getByIndex(0));
- assertEquals(node, list.getChildNodes().get("42"));
- }
-
- function testCreateNewValueWithSetChildNode() {
- var node = goog.ds.FastDataNode.fromJs({}, "object");
- node.setChildNode("Foo", "Bar");
- assertEquals("Bar", node.getChildNodeValue("Foo"));
- };
-
-
- function testSetChildNotWithNull_object() {
- var node = new goog.ds.FastDataNode({Foo: "Bar"}, "test");
- node.setChildNode("Foo", null);
- assertNull("node should not have a Foo child", node.getChildNode("Foo"));
- assertEquals("node should not have any children",
- 0, node.getChildNodes().getCount());
- };
-
- function testSetChildNotWithNull_list() {
- var list = goog.ds.FastDataNode.fromJs([], "list");
- list.setChildNode("foo", "bar");
- list.setChildNode("gee", "wizz");
- assertEquals("bar", list.getChildNodeValue("foo"));
- assertEquals("wizz", list.getChildNodes().getByIndex(1).get());
- list.setChildNode("foo", null);
- assertEquals(1, list.getChildNodes().getCount());
- assertEquals("wizz", list.getChildNodeValue("gee"));
- assertEquals("wizz", list.getChildNodes().getByIndex(0).get());
- };
-
- function testNodeListIndexesOnId() {
- var list = goog.ds.FastDataNode.fromJs([
- {id: "^Freq", value: "foo"}], "list");
- assertEquals("foo",
- list.getChildNode("^Freq").getChildNodeValue("value"));
- list.setChildNode("^Temp", {id: "^Temp", value: "bar"});
- assertEquals("bar",
- list.getChildNode("^Temp").getChildNodeValue("value"));
- };
-
- function verifyDataChangeEvents(expected) {
- assertEquals(expected.length, dataChangeEvents.length);
- for (var i=0; i < expected.length; ++i) {
- assertEquals(expected[i], dataChangeEvents[i]);
- }
- dataChangeEvents = [];
- };
-
- function testFireDataChangeOnSet() {
- var node = new goog.ds.FastDataNode(simpleObject, "Simple");
- node.getChildNode("Name").set("Foo Bar");
- verifyDataChangeEvents(["Simple/Name"]);
- };
-
- function testFireDataChangeOnSetChildNode_object() {
- var node = new goog.ds.FastDataNode(simpleObject, "Simple");
- node.setChildNode("Name", "Foo Bar");
- node.setChildNode("Email", null);
- verifyDataChangeEvents(["Simple/Name", "Simple/Email"]);
- };
-
- function testFireDataChangeOnSetChildNode_list() {
- var node = new goog.ds.FastDataNode(complexObject, "Node");
- node.getChildNode("GroupIds").setChildNode("[0]", 1001);
- verifyDataChangeEvents(["Node/GroupIds/[0]"]);
-
- node.getChildNode("GroupIds").getChildNodes().add(1002);
- verifyDataChangeEvents(["Node/GroupIds/[2]", "Node/GroupIds",
- "Node/GroupIds/count()"]);
-
- node.getChildNode("GroupIds").setChildNode("foo", 1003);
- verifyDataChangeEvents(["Node/GroupIds/foo", "Node/GroupIds",
- "Node/GroupIds/count()"]);
- };
-
-</script>
-</head>
-<body>
-</body>
-</html>