Index: chrome/browser/resources/shared/js/cr/promise_test.html |
=================================================================== |
--- chrome/browser/resources/shared/js/cr/promise_test.html (revision 177292) |
+++ chrome/browser/resources/shared/js/cr/promise_test.html (working copy) |
@@ -1,250 +0,0 @@ |
-<!DOCTYPE html> |
-<html> |
-<head> |
-<!-- TODO(arv): Check in Closue unit tests and make this run as part of the |
- tests --> |
-<script src="http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js"></script> |
-<script src="../cr.js"></script> |
-<script src="promise.js"></script> |
-<script> |
- |
-goog.require('goog.testing.jsunit'); |
-goog.require('goog.testing.MockClock'); |
- |
-</script> |
-</head> |
-<body> |
-<script> |
- |
-var mockClock; |
- |
-function setUp() { |
- mockClock = new goog.testing.MockClock(); |
- mockClock.install(); |
-} |
- |
-function tearDown() { |
- mockClock.uninstall(); |
-} |
- |
-const Promise = cr.Promise; |
- |
-function testCallbacks() { |
- var calls1 = 0; |
- var calls2 = 0; |
- var V = {}; |
- function f1(v) { |
- calls1++; |
- assertEquals(V, v); |
- } |
- function f2(v) { |
- calls2++; |
- assertEquals(V, v); |
- } |
- var p = new Promise; |
- p.addListener(f1); |
- p.addListener(f2); |
- p.value = V; |
- assertEquals(1, calls1); |
- assertEquals(1, calls2); |
-} |
- |
-function testCallbacks2() { |
- var calls1 = 0; |
- var calls2 = 0; |
- var V = {}; |
- function f1(v) { |
- calls1++; |
- assertEquals(V, v); |
- } |
- function f2(v) { |
- calls2++; |
- assertEquals(V, v); |
- } |
- var p = new Promise; |
- p.addListener(f1); |
- p.addListener(f2); |
- p.removeListener(f1); |
- p.value = V; |
- assertEquals(0, calls1); |
- assertEquals(1, calls2); |
-} |
- |
-function testCallbacks3() { |
- var calls1 = 0; |
- var calls2 = 0; |
- var V = {}; |
- function f1(v) { |
- calls1++; |
- assertEquals(V, v); |
- } |
- function f2(v) { |
- calls2++; |
- assertEquals(V, v); |
- } |
- var p = new Promise; |
- p.addListener(f1); |
- assertEquals(0, calls1); |
- assertEquals(0, calls2); |
- p.value = V; |
- assertEquals(1, calls1); |
- assertEquals(0, calls2); |
- p.addListener(f2); |
- assertEquals(1, calls1); |
- assertEquals(1, calls2); |
-} |
- |
-function testCallbacks4() { |
- var calls1 = 0; |
- var calls2 = 0; |
- var V = {}; |
- function f1(v) { |
- calls1++; |
- assertEquals(V, v); |
- } |
- function f2(v) { |
- calls2++; |
- assertEquals(V, v); |
- } |
- var p = new Promise(V); |
- p.addListener(f1); |
- p.addListener(f2); |
- assertEquals(1, calls1); |
- assertEquals(1, calls2); |
-} |
- |
-function testThisInCallback() { |
- var calls = 0; |
- var V = {}; |
- function f(v) { |
- calls++; |
- assertEquals(V, v); |
- assertNotEquals(p, this); |
- } |
- var p = new Promise; |
- p.addListener(f); |
- p.value = V; |
- assertEquals(1, calls); |
-} |
- |
-function testPending() { |
- var p = new Promise; |
- assertEquals(undefined, p.value); |
- assertFalse(p.done); |
-} |
- |
-function testValueCanBeUndefined() { |
- var p = new Promise; |
- p.value = undefined; |
- assertEquals(undefined, p.value); |
- assertTrue(p.done); |
-} |
- |
-function testDone() { |
- var p = new Promise; |
- assertFalse(p.done); |
- p.value = 42; |
- assertTrue(p.done); |
-} |
- |
-function testWhen() { |
- const V = {}; |
- var calls = 0; |
- var p = new Promise; |
- p.value = V; |
- Promise.when(p, function(v) { |
- assertEquals(V, v); |
- calls++; |
- }); |
- assertEquals(1, calls); |
-} |
- |
-function testWhen2() { |
- const V = {}; |
- var calls = 0; |
- var p = new Promise; |
- Promise.when(p, function(v) { |
- assertEquals(V, v); |
- calls++; |
- }); |
- p.value = V; |
- assertEquals(1, calls); |
-} |
- |
-function testWait() { |
- const S = {}; |
- var p = Promise.wait(1000, S); |
- assertFalse(p.done); |
- mockClock.tick(500); |
- assertFalse(p.done); |
- mockClock.tick(500); |
- assertTrue(p.done); |
- assertEquals(S, p.value); |
-} |
- |
-function testAny() { |
- var p1 = new Promise; |
- var p2 = new Promise; |
- var p3 = new Promise; |
- |
- var any = Promise.any(p1, p2, p3); |
- p2.value = 2; |
- assertEquals(2, any.value); |
- p1.value = 1; |
- assertEquals(2, any.value); |
-} |
- |
-function testAll() { |
- var p1 = new Promise; |
- var p2 = new Promise; |
- var p3 = new Promise; |
- |
- var pAll = Promise.all(p1, p2, p3); |
- p1.value = 1; |
- p2.value = 2; |
- p3.value = 3; |
- assertArrayEquals([1, 2, 3], pAll.value); |
-} |
- |
-function testAllEmpty() { |
- var pAll = Promise.all(); |
- assertArrayEquals([], pAll.value); |
-} |
- |
-function testAllAlreadyDone() { |
- var p1 = new Promise(1); |
- var p2 = new Promise(2); |
- var p3 = new Promise(3); |
- |
- var pAll = Promise.all(p1, p2, p3); |
- assertArrayEquals([1, 2, 3], pAll.value); |
-} |
- |
-function testEvent() { |
- var p = Promise.event(document.body, 'foo'); |
- var e = new cr.Event('foo'); |
- document.body.dispatchEvent(e); |
- assertEquals(e, p.value); |
-} |
- |
-function testToString() { |
- var p1 = new Promise; |
- assertEquals('[object Promise]', String(p1)); |
- |
- var p2 = new Promise; |
- p2.value = 'Hello world'; |
- assertEquals('Hello world', String(p2)); |
-} |
- |
-function testValueOf() { |
- var p = new Promise; |
- p.value = 42; |
- |
- assertTrue(p < 43); |
- assertTrue(p > 41); |
- assertTrue(p == 42); |
-} |
- |
-</script> |
-</body> |
-</html> |