diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/structs/pool_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/structs/pool_test.html | 291 |
1 files changed, 0 insertions, 291 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/structs/pool_test.html b/contexts/data/lib/closure-library/closure/goog/structs/pool_test.html deleted file mode 100644 index 461e70f..0000000 --- a/contexts/data/lib/closure-library/closure/goog/structs/pool_test.html +++ /dev/null @@ -1,291 +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.structs.Pool</title> -<script src="../base.js"></script> -<script> - goog.require('goog.structs'); - goog.require('goog.structs.Pool'); - goog.require('goog.testing.MockClock'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> -<script> - -// Implementation of the Pool class with isObjectDead() always returning TRUE, -// so that the the Pool will not reuse any objects. -function NoObjectReusePool(opt_min, opt_max) { - goog.structs.Pool.call(this, opt_min, opt_max); -}; -goog.inherits(NoObjectReusePool, goog.structs.Pool); - -NoObjectReusePool.prototype.objectCanBeReused = function(obj) { - return false; -}; - - -function testExceedMax1() { - var p = new goog.structs.Pool(0, 3); - var obj1 = p.getObject(); - var obj2 = p.getObject(); - var obj3 = p.getObject(); - var obj4 = p.getObject(); - var obj5 = p.getObject(); - - assertNotUndefined(obj1); - assertNotUndefined(obj2); - assertNotUndefined(obj3); - assertUndefined(obj4); - assertUndefined(obj5); -} - - -function testExceedMax2() { - var p = new goog.structs.Pool(0, 1); - var obj1 = p.getObject(); - var obj2 = p.getObject(); - var obj3 = p.getObject(); - var obj4 = p.getObject(); - var obj5 = p.getObject(); - - assertNotUndefined(obj1); - assertUndefined(obj2); - assertUndefined(obj3); - assertUndefined(obj4); - assertUndefined(obj5); -} - - -function testExceedMax3() { - var p = new goog.structs.Pool(); // default: 10 - var objs = []; - - for (var i = 0; i < 12; i++) { - objs[i] = p.getObject(); - } - - for (var i = 0; i < 10; i++) { - assertNotNull('First 10 should be not null', objs[i]); - } - - assertUndefined(objs[10]); - assertUndefined(objs[11]); -} - - -function testReleaseAndGet1() { - var p = new goog.structs.Pool(0, 10); - var o = p.getObject(); - assertEquals(1, p.getCount()); - assertEquals(1, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - assertTrue('Result should be true', p.releaseObject(o)); - assertEquals(1, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(1, p.getFreeCount()); -} - - -function testReleaseAndGet2() { - var p = new NoObjectReusePool(0, 10); - var o = p.getObject(); - assertEquals(1, p.getCount()); - assertEquals(1, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - assertTrue('Result should be true', p.releaseObject(o)); - assertEquals(0, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); -} - - -function testReleaseAndGet3() { - var p = new goog.structs.Pool(0, 10); - var o1 = p.getObject(); - var o2 = p.getObject(); - var o3 = p.getObject(); - var o4 = {}; - assertEquals(3, p.getCount()); - assertEquals(3, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - assertTrue('Result should be true', p.releaseObject(o1)); - assertTrue('Result should be true', p.releaseObject(o2)); - assertFalse('Result should be false', p.releaseObject(o4)); - assertEquals(3, p.getCount()); - assertEquals(1, p.getInUseCount()); - assertEquals(2, p.getFreeCount()); -} - - -function testReleaseAndGet4() { - var p = new NoObjectReusePool(0, 10); - var o1 = p.getObject(); - var o2 = p.getObject(); - var o3 = p.getObject(); - var o4 = {}; - assertEquals(3, p.getCount()); - assertEquals(3, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - assertTrue('Result should be true', p.releaseObject(o1)); - assertTrue('Result should be true', p.releaseObject(o2)); - assertFalse('Result should be false', p.releaseObject(o4)); - assertEquals(1, p.getCount()); - assertEquals(1, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); -} - - -function testIsInPool1() { - var p = new goog.structs.Pool(); - var o1 = p.getObject(); - var o2 = p.getObject(); - var o3 = p.getObject(); - var o4 = {}; - var o5 = {}; - var o6 = o1; - - assertTrue(p.contains(o1)); - assertTrue(p.contains(o2)); - assertTrue(p.contains(o3)); - assertFalse(p.contains(o4)); - assertFalse(p.contains(o5)); - assertTrue(p.contains(o6)); -} - - -function testSetMin1() { - var p = new goog.structs.Pool(0, 10); - - assertEquals(0, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - - p.setMinimumCount(10); - - assertEquals(10, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(10, p.getFreeCount()); -} - - -function testSetMin2() { - var p = new goog.structs.Pool(0, 10); - - assertEquals(0, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - - var o1 = p.getObject(); - - assertEquals(1, p.getCount()); - assertEquals(1, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - - p.setMinimumCount(10); - - assertEquals(10, p.getCount()); - assertEquals(1, p.getInUseCount()); - assertEquals(9, p.getFreeCount()); -} - - -function testSetMax1() { - var p = new goog.structs.Pool(0, 10); - - assertEquals(0, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - - var o1 = p.getObject(); - var o2 = p.getObject(); - var o3 = p.getObject(); - var o4 = p.getObject(); - var o5 = p.getObject(); - - assertEquals(5, p.getCount()); - assertEquals(5, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - - assertTrue('Result should be true', p.releaseObject(o5)); - - assertEquals(5, p.getCount()); - assertEquals(4, p.getInUseCount()); - assertEquals(1, p.getFreeCount()); - - p.setMaximumCount(4); - - assertEquals(4, p.getCount()); - assertEquals(4, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); -} - - -function testInvalidMinMax1() { - var p = new goog.structs.Pool(0, 10); - - assertEquals(0, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(0, p.getFreeCount()); - - assertThrows(function() { - p.setMinimumCount(11); - }); -} - - -function testInvalidMinMax2() { - var p = new goog.structs.Pool(5, 10); - - assertEquals(5, p.getCount()); - assertEquals(0, p.getInUseCount()); - assertEquals(5, p.getFreeCount()); - - assertThrows(function() { - p.setMaximumCount(4); - }); -} - - -function testInvalidMinMax3() { - assertThrows(function() { - new goog.structs.Pool(10, 1); - }); -} - - -function testRateLimiting() { - var clock = new goog.testing.MockClock(); - clock.install(); - - var p = new goog.structs.Pool(0, 3); - p.setDelay(100); - - assertNotUndefined(p.getObject()); - assertUndefined(p.getObject()); - - clock.tick(100); - assertNotUndefined(p.getObject()); - assertUndefined(p.getObject()); - - clock.tick(100); - assertNotUndefined(p.getObject()); - assertUndefined(p.getObject()); - - clock.tick(100); - assertUndefined(p.getObject()); - - goog.dispose(clock); -} - - -</script> -</body> -</html> |