UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

98 lines (89 loc) 2.73 kB
<!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.Expr</title> <script src="../base.js"></script> <script> goog.require('goog.ds.JsonDataSource'); goog.require('goog.ds.XmlDataSource'); goog.require('goog.ds.Expr'); goog.require('goog.testing.jsunit'); </script> </head> <script> var jsDs; var jsObj = { Success: true, Errors: [], Body: { Contacts: [ { Name: 'John Doe', Email: 'john@gmail.com', EmailCount: 300 }, { Name: 'Jane Doh', Email: 'jane@gmail.com' }, { Name: 'Steve Smith', Email: 'steve@gmail.com', EmailCount: 305 }, { Name: 'John Smith', Email: 'smith@gmail.com' }, { Name: 'Homer Simpson', Email: 'homer@gmail.com' }, { Name: 'Bart Simpson', Email: 'bart@gmail.com' } ] } }; function setUp() { jsDs = new goog.ds.JsDataSource(jsObj, 'JS', null); var dm = goog.ds.DataManager.getInstance(); dm.addDataSource(jsDs, true); } function testBasicStuff() { assertNotNull('Get Body', goog.ds.Expr.create('$JS/Body').getNode()); } function testArrayExpressions() { assertEquals(6, goog.ds.Expr.create('$JS/Body/Contacts/*').getNodes().getCount()); assertEquals('John Doe', goog.ds.Expr.create('$JS/Body/Contacts/[0]/Name').getValue()); assertEquals(305, goog.ds.Expr.create('$JS/Body/Contacts/[2]/EmailCount').getValue()); assertEquals(6, goog.ds.Expr.create('$JS/Body/Contacts/*/count()').getValue()); assertEquals(0, goog.ds.Expr.create('$JS/Errors/*/count()').getValue()); } function testCommonExpressions() { assertTrue(goog.ds.Expr.create('.').isCurrent_); assertFalse(goog.ds.Expr.create('Bob').isCurrent_); assertTrue(goog.ds.Expr.create('*|text()').isAllChildNodes_); assertFalse(goog.ds.Expr.create('Bob').isAllChildNodes_); assertTrue(goog.ds.Expr.create('@*').isAllAttributes_); assertFalse(goog.ds.Expr.create('Bob').isAllAttributes_); assertTrue(goog.ds.Expr.create('*').isAllElements_); assertFalse(goog.ds.Expr.create('Bob').isAllElements_); } function testIndexExpressions() { assertEquals(goog.ds.Expr.create('node/[5]').getNext().size_, 1); assertEquals(goog.ds.Expr.create('node/[5]').getNext().parts_[0], '[5]'); } </script> </head> <body> </body> </html>