Index: chrome/browser/resources/shared/js/cr_test.html |
=================================================================== |
--- chrome/browser/resources/shared/js/cr_test.html (revision 177292) |
+++ chrome/browser/resources/shared/js/cr_test.html (working copy) |
@@ -1,289 +0,0 @@ |
-<!DOCTYPE html> |
-<html> |
-<head> |
-<title></title> |
-<style> |
- |
-</style> |
-<script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js"></script> |
-<script src="cr.js"></script> |
-<script src="cr/event_target.js"></script> |
-<script> |
- |
-goog.require('goog.testing.jsunit'); |
- |
-</script> |
- |
-</head> |
-<body> |
- |
-<script> |
- |
-const EventTarget = cr.EventTarget; |
- |
-function testDefineProperty() { |
- var obj = new EventTarget; |
- cr.defineProperty(obj, 'test'); |
- |
- obj.test = 1; |
- assertEquals(1, obj.test); |
- assertEquals(1, obj.test_); |
-} |
- |
-function testDefinePropertyOnClass() { |
- function C() {} |
- C.prototype = { |
- __proto__: EventTarget.prototype |
- }; |
- |
- cr.defineProperty(C, 'test'); |
- |
- var obj = new C; |
- assertUndefined(obj.test); |
- |
- obj.test = 1; |
- assertEquals(1, obj.test); |
- assertEquals(1, obj.test_); |
-} |
- |
-function testDefinePropertyWithSetter() { |
- var obj = new EventTarget; |
- |
- var hit = false; |
- function onTestSet(value, oldValue) { |
- assertEquals(obj, this); |
- assertEquals(2, this.test); |
- assertUndefined(oldValue); |
- assertEquals(2, value); |
- hit = true; |
- } |
- cr.defineProperty(obj, 'test', cr.PropertyKind.JS, onTestSet); |
- obj.test = 2; |
- assertTrue(hit); |
-} |
- |
-function testDefinePropertyEvent() { |
- var obj = new EventTarget; |
- cr.defineProperty(obj, 'test'); |
- obj.test = 1; |
- |
- var count = 0; |
- function f(e) { |
- assertEquals('testChange', e.type); |
- assertEquals('test', e.propertyName); |
- assertEquals(1, e.oldValue); |
- assertEquals(2, e.newValue); |
- count++; |
- } |
- |
- obj.addEventListener('testChange', f); |
- obj.test = 2; |
- assertEquals(2, obj.test); |
- assertEquals('Should have called the property change listener', 1, count); |
- |
- obj.test = 2; |
- assertEquals(1, count); |
-} |
- |
-function testDefinePropertyEventWithDefault() { |
- var obj = new EventTarget; |
- cr.defineProperty(obj, 'test', cr.PropertyKind.JS); |
- |
- var count = 0; |
- function f(e) { |
- assertEquals('testChange', e.type); |
- assertEquals('test', e.propertyName); |
- assertUndefined(e.oldValue); |
- assertEquals(2, e.newValue); |
- count++; |
- } |
- |
- obj.addEventListener('testChange', f); |
- |
- obj.test = undefined; |
- assertEquals('Should not have called the property change listener', 0, count); |
- |
- obj.test = 2; |
- assertEquals(2, obj.test); |
- assertEquals('Should have called the property change listener', 1, count); |
- |
- obj.test = 2; |
- assertEquals(1, count); |
-} |
- |
-function testDefinePropertyAttr() { |
- var obj = document.createElement('div'); |
- cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR); |
- |
- obj.test = 'a'; |
- assertEquals('a', obj.test); |
- assertEquals('a', obj.getAttribute('test')); |
- |
- obj.test = undefined; |
- assertEquals(undefined, obj.test); |
- assertFalse(obj.hasAttribute('test')); |
-} |
- |
-function testDefinePropertyAttrOnClass() { |
- var obj = document.createElement('button'); |
- cr.defineProperty(HTMLButtonElement, 'test', cr.PropertyKind.ATTR); |
- |
- assertEquals(null, obj.test); |
- |
- obj.test = 'a'; |
- assertEquals('a', obj.test); |
- assertEquals('a', obj.getAttribute('test')); |
- |
- obj.test = undefined; |
- assertEquals(undefined, obj.test); |
- assertFalse(obj.hasAttribute('test')); |
-} |
- |
-function testDefinePropertyAttrWithSetter() { |
- var obj = document.createElement('div'); |
- |
- var hit = false; |
- function onTestSet(value, oldValue) { |
- assertEquals(obj, this); |
- assertEquals(null, oldValue); |
- assertEquals('b', value); |
- assertEquals('b', this.test); |
- hit = true; |
- } |
- cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR, onTestSet); |
- obj.test = 'b'; |
- assertTrue(hit); |
-} |
- |
-function testDefinePropertyAttrEvent() { |
- var obj = document.createElement('div'); |
- cr.defineProperty(obj, 'test', cr.PropertyKind.ATTR); |
- |
- var count = 0; |
- function f(e) { |
- assertEquals('testChange', e.type); |
- assertEquals('test', e.propertyName); |
- assertEquals(null, e.oldValue); |
- assertEquals('b', e.newValue); |
- count++; |
- } |
- |
- obj.addEventListener('testChange', f); |
- |
- obj.test = null; |
- assertEquals('Should not have called the property change listener', 0, count); |
- |
- obj.test = 'b'; |
- assertEquals('b', obj.test); |
- assertEquals('Should have called the property change listener', 1, count); |
- |
- obj.test = 'b'; |
- assertEquals(1, count); |
-} |
- |
-function testDefinePropertyBoolAttr() { |
- var obj = document.createElement('div'); |
- cr.defineProperty(obj, 'test', cr.PropertyKind.BOOL_ATTR); |
- |
- assertFalse(obj.test); |
- assertFalse(obj.hasAttribute('test')); |
- |
- obj.test = true; |
- assertTrue(obj.test); |
- assertTrue(obj.hasAttribute('test')); |
- |
- obj.test = false; |
- assertFalse(obj.test); |
- assertFalse(obj.hasAttribute('test')); |
-} |
- |
-function testDefinePropertyBoolAttrEvent() { |
- var obj = document.createElement('div'); |
- cr.defineProperty(obj, 'test', cr.PropertyKind.BOOL_ATTR); |
- |
- var count = 0; |
- function f(e) { |
- assertEquals('testChange', e.type); |
- assertEquals('test', e.propertyName); |
- assertEquals(false, e.oldValue); |
- assertEquals(true, e.newValue); |
- count++; |
- } |
- |
- obj.addEventListener('testChange', f); |
- obj.test = true; |
- assertTrue(obj.test); |
- assertEquals('Should have called the property change listener', 1, count); |
- |
- obj.test = true; |
- assertEquals(1, count); |
-} |
- |
-function testDefinePropertyBoolAttrEvent() { |
- var obj = document.createElement('div'); |
- var hit = false; |
- function onTestSet(value, oldValue) { |
- assertEquals(obj, this); |
- assertTrue(this.test); |
- assertFalse(oldValue); |
- assertTrue(value); |
- hit = true; |
- } |
- cr.defineProperty(obj, 'test', cr.PropertyKind.BOOL_ATTR, onTestSet); |
- obj.test = true; |
- assertTrue(hit); |
-} |
- |
-function testAddSingletonGetter() { |
- function Foo() {}; |
- cr.addSingletonGetter(Foo); |
- |
- assertNotNull('Should add get instance function', Foo.getInstance); |
- |
- var x = Foo.getInstance(); |
- assertNotNull('Should successfully create an object', x); |
- |
- var y = Foo.getInstance(); |
- assertEquals('Should return the same object', x, y); |
- |
- delete Foo.instance_; |
- |
- var z = Foo.getInstance(); |
- assertNotNull('Should work after clearing for testing', z); |
- |
- assertNotEquals('Should return a different object after clearing for testing', |
- x, z); |
-} |
- |
-function testWithDoc() { |
- var d = {}; |
- |
- assertEquals(document, cr.doc); |
- |
- cr.withDoc(d, function() { |
- assertEquals(d, cr.doc); |
- }); |
- |
- assertEquals(document, cr.doc); |
-} |
- |
-function testDefineWithGetter() { |
- var v = 0; |
- cr.define('foo', function() { |
- return { |
- get v() { |
- return v; |
- } |
- } |
- }); |
- |
- assertEquals(0, foo.v); |
- |
- v = 1; |
- assertEquals(1, foo.v); |
-} |
- |
-</script> |
- |
-</body> |
-</html> |