diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/graphics/path_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/graphics/path_test.html | 359 |
1 files changed, 0 insertions, 359 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/graphics/path_test.html b/contexts/data/lib/closure-library/closure/goog/graphics/path_test.html deleted file mode 100644 index b353c6d..0000000 --- a/contexts/data/lib/closure-library/closure/goog/graphics/path_test.html +++ /dev/null @@ -1,359 +0,0 @@ -<!DOCTYPE html> -<html> -<!-- -Copyright 2008 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.graphics.Path</title> -<script src="../base.js"></script> -<script> - goog.require('goog.array'); - goog.require('goog.math'); - goog.require('goog.graphics.Path'); - goog.require('goog.graphics.AffineTransform'); - goog.require('goog.testing.graphics'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> - -<script> - function testConstructor() { - var path = new goog.graphics.Path(); - assertTrue(path.isSimple()); - assertNull(path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals([], path); - } - - - function testGetSegmentCount() { - assertArrayEquals([2, 2, 6, 6, 0], goog.array.map([ - goog.graphics.Path.Segment.MOVETO, - goog.graphics.Path.Segment.LINETO, - goog.graphics.Path.Segment.CURVETO, - goog.graphics.Path.Segment.ARCTO, - goog.graphics.Path.Segment.CLOSE - ], goog.graphics.Path.getSegmentCount)); - } - - - function testSimpleMoveTo() { - var path = new goog.graphics.Path(); - path.moveTo(30, 50); - assertTrue(path.isSimple()); - assertObjectEquals([30, 50], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals(['M', 30, 50], path); - } - - - function testRepeatedMoveTo() { - var path = new goog.graphics.Path(); - path.moveTo(30, 50); - path.moveTo(40, 60); - assertTrue(path.isSimple()); - assertObjectEquals([40, 60], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals(['M', 40, 60], path); - } - - - function testSimpleLineTo() { - var path = new goog.graphics.Path(); - var e = assertThrows(function() { - path.lineTo(30, 50); - }); - assertEquals('Path cannot start with lineTo', e.message); - path.moveTo(0, 0); - path.lineTo(30, 50); - assertTrue(path.isSimple()); - assertObjectEquals([30, 50], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals(['M', 0, 0, 'L', 30, 50], path); - } - - - function testMultiArgLineTo() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.lineTo(30, 50, 40 , 60); - assertTrue(path.isSimple()); - assertObjectEquals([40, 60], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals(['M', 0, 0, 'L', 30, 50, 40, 60], - path); - } - - - function testRepeatedLineTo() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.lineTo(30, 50); - path.lineTo(40, 60); - assertTrue(path.isSimple()); - assertObjectEquals([40, 60], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals(['M', 0, 0, 'L', 30, 50, 40, 60], - path); - } - - - function testSimpleCurveTo() { - var path = new goog.graphics.Path(); - var e = assertThrows(function() { - path.curveTo(10, 20, 30, 40, 50, 60); - }); - assertEquals('Path cannot start with curve', e.message); - path.moveTo(0, 0); - path.curveTo(10, 20, 30, 40, 50, 60); - assertTrue(path.isSimple()); - assertObjectEquals([50, 60], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals( - ['M', 0, 0, 'C', 10, 20, 30, 40, 50, 60], path); - } - - - function testMultiCurveTo() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.curveTo(10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120); - assertTrue(path.isSimple()); - assertObjectEquals([110, 120], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals( - ['M', 0, 0, 'C', 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120], - path); - } - - - function testRepeatedCurveTo() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.curveTo(10, 20, 30, 40, 50, 60); - path.curveTo(70, 80, 90, 100, 110, 120); - assertTrue(path.isSimple()); - assertObjectEquals([110, 120], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals( - ['M', 0, 0, 'C', 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120], - path); - } - - - function testSimpleArc() { - var path = new goog.graphics.Path(); - path.arc(50, 60, 10, 20, 30, 30, false); - assertFalse(path.isSimple()); - var p = path.getCurrentPoint(); - assertEquals(55, p[0]); - assertRoughlyEquals(77.32, p[1], 0.01); - goog.testing.graphics.assertPathEquals( - ['M', 58.66, 70, 'A', 10, 20, 30, 30, 55, 77.32], path); - } - - - function testArcNonConnectClose() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.arc(10, 10, 10, 10, -90, 180); - assertObjectEquals([10, 20], path.getCurrentPoint()); - path.close(); - assertObjectEquals([10, 0], path.getCurrentPoint()); - } - - - function testRepeatedArc() { - var path = new goog.graphics.Path(); - path.arc(50, 60, 10, 20, 30, 30, false); - path.arc(50, 60, 10, 20, 60, 30, false); - assertFalse(path.isSimple()); - assertObjectEquals([50, 80], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals(['M', 58.66, 70, - 'A', 10, 20, 30, 30, 55, 77.32, - 'M', 55, 77.32, - 'A', 10, 20, 60, 30, 50, 80], path); - } - - - function testRepeatedArc2() { - var path = new goog.graphics.Path(); - path.arc(50, 60, 10, 20, 30, 30, false); - path.arc(50, 60, 10, 20, 60, 30, true); - goog.testing.graphics.assertPathEquals(['M', 58.66, 70, - 'A', 10, 20, 30, 30, 55, 77.32, - 'A', 10, 20, 60, 30, 50, 80], path); - } - - - function testCompleteCircle() { - var path = new goog.graphics.Path(); - path.arc(0, 0, 10, 10, 0, 360, false); - assertFalse(path.isSimple()); - var p = path.getCurrentPoint(); - assertRoughlyEquals(10, p[0], 0.01); - assertRoughlyEquals(0, p[1], 0.01); - goog.testing.graphics.assertPathEquals( - ['M', 10, 0, 'A', 10, 10, 0, 360, 10, 0], path); - } - - - function testClose() { - var path = new goog.graphics.Path(); - try { - path.close(); - fail(); - } catch (e) { - // Expected - assertEquals('Path cannot start with close', e.message); - } - path.moveTo(0, 0); - path.lineTo(10, 20, 30, 40, 50, 60); - path.close() - assertTrue(path.isSimple()); - assertObjectEquals([0, 0], path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals( - ['M', 0, 0, 'L', 10, 20, 30, 40, 50, 60, 'X'], path); - } - - - function testClear() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.arc(50, 60, 10, 20, 30, 30, false); - path.clear(); - assertTrue(path.isSimple()); - assertNull(path.getCurrentPoint()); - goog.testing.graphics.assertPathEquals([], path); - } - - - function testCreateSimplifiedPath() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.arc(50, 60, 10, 20, 30, 30, false); - assertFalse(path.isSimple()); - path = goog.graphics.Path.createSimplifiedPath(path); - assertTrue(path.isSimple()); - var p = path.getCurrentPoint(); - assertEquals(55, p[0]); - assertRoughlyEquals(77.32, p[1], 0.01); - goog.testing.graphics.assertPathEquals(['M', 58.66, 70, - 'C', 57.78, 73.04, 56.52, 75.57, 55, 77.32], path); - } - - - function testCreateSimplifiedPath2() { - var path = new goog.graphics.Path(); - path.arc(50, 60, 10, 20, 30, 30, false); - path.arc(50, 60, 10, 20, 60, 30, false); - assertFalse(path.isSimple()); - path = goog.graphics.Path.createSimplifiedPath(path); - assertTrue(path.isSimple()); - goog.testing.graphics.assertPathEquals(['M', 58.66, 70, - 'C', 57.78, 73.04, 56.52, 75.57, 55, 77.32, - 'M', 55, 77.32, - 'C', 53.48, 79.08, 51.76, 80, 50, 80], path); - } - - - function testCreateSimplifiedPath3() { - var path = new goog.graphics.Path(); - path.arc(50, 60, 10, 20, 30, 30, false); - path.arc(50, 60, 10, 20, 60, 30, true); - path.close(); - path = goog.graphics.Path.createSimplifiedPath(path); - goog.testing.graphics.assertPathEquals(['M', 58.66, 70, - 'C', 57.78, 73.04, 56.52, 75.57, 55, 77.32, - 53.48, 79.08, 51.76, 80, 50, 80, 'X'], path); - var p = path.getCurrentPoint(); - assertRoughlyEquals(58.66, p[0], 0.01); - assertRoughlyEquals(70, p[1], 0.01); - } - - - function testArcToAsCurves() { - var path = new goog.graphics.Path(); - path.moveTo(58.66, 70); - path.arcToAsCurves(10, 20, 30, 30, false); - goog.testing.graphics.assertPathEquals(['M', 58.66, 70, - 'C', 57.78, 73.04, 56.52, 75.57, 55, 77.32], path); - } - - - function testCreateTransformedPath() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.lineTo(0, 10, 10, 10, 10, 0); - path.close(); - var tx = new goog.graphics.AffineTransform(2, 0, 0, 3, 10, 20); - var path2 = path.createTransformedPath(tx); - goog.testing.graphics.assertPathEquals( - ['M', 0, 0, 'L', 0, 10, 10, 10, 10, 0, 'X'], path); - goog.testing.graphics.assertPathEquals( - ['M', 10, 20, 'L', 10, 50, 30, 50, 30, 20, 'X'], path2); - } - - - function testTransform() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - path.lineTo(0, 10, 10, 10, 10, 0); - path.close(); - var tx = new goog.graphics.AffineTransform(2, 0, 0, 3, 10, 20); - var path2 = path.transform(tx); - assertTrue(path === path2); - goog.testing.graphics.assertPathEquals( - ['M', 10, 20, 'L', 10, 50, 30, 50, 30, 20, 'X'], path2); - } - - - function testTransformCurrentAndClosePoints() { - var path = new goog.graphics.Path(); - path.moveTo(0, 0); - assertObjectEquals([0, 0], path.getCurrentPoint()); - path.transform(new goog.graphics.AffineTransform(1, 0, 0, 1, 10, 20)); - assertObjectEquals([10, 20], path.getCurrentPoint()); - path.lineTo(50, 50); - path.close(); - assertObjectEquals([10, 20], path.getCurrentPoint()); - } - - - function testTransformNonSimple() { - var path = new goog.graphics.Path(); - path.arc(50, 60, 10, 20, 30, 30, false); - assertThrows(function() { - path.transform(new goog.graphics.AffineTransform(1, 0, 0, 1, 10, 20)); - }); - } - - - function testAppendPath() { - var path1 = new goog.graphics.Path(); - path1.moveTo(0, 0); - path1.lineTo(0, 10, 10, 10, 10, 0); - path1.close(); - - var path2 = new goog.graphics.Path(); - path2.arc(50, 60, 10, 20, 30, 30, false); - - assertTrue(path1.isSimple()); - path1.appendPath(path2); - assertFalse(path1.isSimple()); - goog.testing.graphics.assertPathEquals([ - 'M', 0, 0, 'L', 0, 10, 10, 10, 10, 0, 'X', - 'M', 58.66, 70, 'A', 10, 20, 30, 30, 55, 77.32 - ], path1); - } - - - function testIsEmpty() { - var path = new goog.graphics.Path(); - assertTrue('Initially path is empty', path.isEmpty()); - - path.moveTo(0, 0); - assertFalse('After command addition, path is not empty', path.isEmpty()); - - path.clear(); - assertTrue('After clear, path is empty again', path.isEmpty()); - } -</script> -</body> -</html> |