diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/gears/basestore_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/gears/basestore_test.html | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/gears/basestore_test.html b/contexts/data/lib/closure-library/closure/goog/gears/basestore_test.html deleted file mode 100644 index 9cb86b2..0000000 --- a/contexts/data/lib/closure-library/closure/goog/gears/basestore_test.html +++ /dev/null @@ -1,247 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2007 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.gears.BaseStore</title> -<script src="../base.js"></script> -<script> - goog.require('goog.gears.BaseStore'); - goog.require('goog.gears.Database'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> -<script> - -function isGearsAllowed() { - return goog.gears.hasFactory() && goog.gears.getFactory().hasPermission; -} - -var database; -var baseStore; - -function setUpPage() { - if (isGearsAllowed()) { - // Remove table if already there - try { - database = new goog.gears.Database( - 'tester', 'basestore-common-test', ''); - database.execute('DROP TABLE IF EXISTS StoreVersionInfo'); - } catch (ex) { - debug('Could not create the database'); - } - } - setUpPageStatus = 'complete'; -} - -function setUp() { - if (isGearsAllowed()) { - baseStore = new goog.gears.BaseStore(database); - baseStore.removeStore(); - baseStore.ensureStoreExists(); - } -} - -function tearDown() { - if (baseStore) { - baseStore.removeStore(); - } -} - -function testStoreVersion() { - if (!isGearsAllowed()) { - return; - } - assertEquals( - 'Bad initial store version', 1, baseStore.getStoreVersion()); - - baseStore.setStoreVersion_(2); - - var version = baseStore.getStoreVersion(); - assertEquals('Bad store version', 2, version); - - baseStore.setStoreVersion_(3); - - version = baseStore.getStoreVersion(); - assertEquals('Bad store version', 3, version); - baseStore.removeStoreVersion(); - version = baseStore.getStoreVersion(); - assertEquals('Bad removed store version', 0, version); -} - -function testUpdateStore() { - if (!isGearsAllowed()) { - return; - } - var additionalTable = { - type: goog.gears.BaseStore.SchemaType.TABLE, - name: 'GoogleIsCool', - columns: [ - 'OhYesItIs TEXT NOT NULL PRIMARY KEY' - ]}; - - // We need to append this table to the schema, so that it is cleaned up during - // the tear down. - baseStore.schema.push(additionalTable); - - baseStore.updateStore = function(version) { - this.createSchema([additionalTable], true); - }; - baseStore.version = 2; - baseStore.ensureStoreExists(); - assertEquals('Bad store version', 2, baseStore.getStoreVersion()); - assertTrue('No test table', baseStore.hasTable('GoogleIsCool')); -} - -function testSchema() { - if (!isGearsAllowed()) { - return; - } - var schema = [ - {type: goog.gears.BaseStore.SchemaType.TABLE, - name: "Things", - columns: [ - "ThingId INTEGER PRIMARY KEY AUTOINCREMENT", - "Name TEXT NOT NULL", - "Description TEXT", - "Value INTEGER DEFAULT 42", - "Year INTEGER"]}, - {type: goog.gears.BaseStore.SchemaType.INDEX, - name: "ThingsNameIndex", - isUnique: true, - tableName: "Things", - columns: ["Name"]}, - {type: goog.gears.BaseStore.SchemaType.INDEX, - name: "ThingsYearIndex", - isUnique: false, - tableName: "Things", - columns: ["Year DESC"]}, - {type: goog.gears.BaseStore.SchemaType.VIRTUAL_TABLE, - name: "Virt", - columns: [ - "Foo", - "Bar"]} - ]; - - baseStore.dropSchema(schema); - assertFalse('Things table still exists', baseStore.hasTable('Things')); - assertFalse('Virt table still exists', baseStore.hasTable('Virt')); - assertFalse('ThingsNameIndex index still exists', - baseStore.hasIndex('ThingsNameIndex')); - assertFalse('ThingsYearIndex index still exists', - baseStore.hasIndex('ThingsYearIndex')); - baseStore.createSchema(schema); - assertTrue('Missing Things table', baseStore.hasTable('Things')); - assertTrue('Missing Virt table', baseStore.hasTable('Virt')); - assertTrue('Missing ThingsNameIndex index', - baseStore.hasIndex('ThingsNameIndex')); - assertTrue('Missing ThingsYearIndex index', - baseStore.hasIndex('ThingsYearIndex')); - - database.execute('INSERT INTO Things (Name, Description, Year) ' + - 'VALUES (?, ?, ?)', - 'George Washington', - '1st President', - 1792); - - var obj = database.queryObject('SELECT * FROM Things'); - assertNotNull('Could not retrieve record', obj); - assertEquals('Incorrect auto id', 1, obj['ThingId']); - assertEquals('Incorrect name', 'George Washington', obj['Name']); - assertEquals('Incorrect description', '1st President', obj['Description']); - assertEquals('Incorrect default value', 42, obj['Value']); - assertEquals('Incorrect default year', 1792, obj['Year']); - - var insertFailed = false; - try { - // this should fail. - database.execute('INSERT INTO Things (Name, Description, Year) ' + - 'VALUES (?, ?, ?)', - 'George Washington', - '1st President', - 1792); - } catch (e) { - insertFailed = true; - } - - assertTrue('Insertion of duplicated record did not fail', insertFailed); - - database.execute('INSERT INTO Virt (Foo, Bar) ' + - 'VALUES (?, ?)', - 'alpha', - 'beta'); - - obj = database.queryObject('SELECT Foo, Bar FROM Virt'); - assertNotNull('Could not retrieve record', obj); - assertEquals('Incorrect Foo', 'alpha', obj['Foo']); - assertEquals('Incorrect Bar', 'beta', obj['Bar']); - - baseStore.dropSchema(schema); - assertFalse('Things table still exists', baseStore.hasTable('Things')); - assertFalse('Virt table still exists', baseStore.hasTable('Virt')); - assertFalse('ThingsNameIndex index still exists', - baseStore.hasIndex('ThingsNameIndex')); - assertFalse('ThingsYearIndex index still exists', - baseStore.hasIndex('ThingsYearIndex')); - -} - -function testCreateTriggers() { - if (!isGearsAllowed()) { - return; - } - var oldSchema = [ - {type: goog.gears.BaseStore.SchemaType.TABLE, - name: 'SampleTable', - columns: [ - 'Column1 INTEGER NOT NULL', - 'Column2 TEXT' - ]}, - {type: goog.gears.BaseStore.SchemaType.AFTER_INSERT_TRIGGER, - name: 'SomeTrigger', - tableName: 'SampleTable', - when: 'NEW.Column1=4', - actions: ['UPDATE SampleTable SET Column2="four" WHERE Column1=4']} - ]; - baseStore.createSchema(oldSchema); - baseStore.schema = oldSchema; // so that it gets dropped after test - database.execute('INSERT INTO SampleTable (Column1) VALUES (4)'); - assertEquals('Should execute trigger', 'four', database.queryValue( - 'SELECT Column2 FROM SampleTable WHERE Column1=4')); - var newSchema = [ - {type: goog.gears.BaseStore.SchemaType.TABLE, - name: 'SampleTable', - columns: [ - 'Column1 INTEGER NOT NULL', - 'Column2 TEXT' - ]}, - {type: goog.gears.BaseStore.SchemaType.AFTER_INSERT_TRIGGER, - name: 'SomeTrigger', - tableName: 'SampleTable', - when: 'NEW.Column1=5', - actions: ['UPDATE SampleTable SET Column2="five" WHERE Column1=5']} - ]; - baseStore.createTriggers(newSchema); - baseStore.schema = newSchema; - assertTrue(baseStore.hasTable('SampleTable')); - assertTrue(baseStore.hasTrigger('SomeTrigger')); - database.execute('DELETE FROM SampleTable'); - database.execute('INSERT INTO SampleTable (Column1) VALUES (4)'); - database.execute('INSERT INTO SampleTable (Column1) VALUES (5)'); - assertNull('Should no longer have old trigger', database.queryValue( - 'SELECT Column2 FROM SampleTable WHERE Column1=4')); - assertEquals('Should have new trigger', 'five', database.queryValue( - 'SELECT Column2 FROM SampleTable WHERE Column1=5')); -} - -</script> -</body> -</html> |