diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/editor/link_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/editor/link_test.html | 234 |
1 files changed, 0 insertions, 234 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/editor/link_test.html b/contexts/data/lib/closure-library/closure/goog/editor/link_test.html deleted file mode 100644 index a696fed..0000000 --- a/contexts/data/lib/closure-library/closure/goog/editor/link_test.html +++ /dev/null @@ -1,234 +0,0 @@ -<!DOCTYPE html> -<!-- - All Rights Reserved. - - @author robbyw@google.com (Robby Walker) ---><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>Editor Unit Tests - goog.editor.Link</title> -<script src="../base.js"></script> -<script> - goog.require('goog.dom'); - goog.require('goog.dom.NodeType'); - goog.require('goog.dom.Range'); - goog.require('goog.dom.TagName'); - goog.require('goog.editor.Link'); - goog.require('goog.testing.dom'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> - -<script> -var anchor; - -function setUp() { - anchor = goog.dom.createDom('A'); - document.body.appendChild(anchor); -} - -function tearDown() { - goog.dom.removeNode(anchor); -} - -function testCreateNew() { - var link = new goog.editor.Link(anchor, true); - assertNotNull('Should have created object', link); - assertTrue('Should be new', link.isNew()); - assertEquals('Should have correct anchor', anchor, link.getAnchor()); - assertEquals('Should be empty', '', link.getCurrentText()); -} - -function testCreateNotNew() { - var link = new goog.editor.Link(anchor, false); - assertNotNull('Should have created object', link); - assertFalse('Should not be new', link.isNew()); - assertEquals('Should have correct anchor', anchor, link.getAnchor()); - assertEquals('Should be empty', '', link.getCurrentText()); -} - -function testInitialize() { - var link = goog.editor.Link.createNewLink(anchor, 'http://www.google.com'); - assertNotNull('Should have created object', link); - assertTrue('Should be new', link.isNew()); - assertEquals('Should have correct anchor', anchor, link.getAnchor()); - assertEquals('Should be empty', '', link.getCurrentText()); -} - -function testInitializeWithTarget() { - var link = goog.editor.Link.createNewLink(anchor, 'http://www.google.com', - '_blank'); - assertNotNull('Should have created object', link); - assertTrue('Should be new', link.isNew()); - assertEquals('Should have correct anchor', anchor, link.getAnchor()); - assertEquals('Should be empty', '', link.getCurrentText()); - assertEquals('Should have _blank target', '_blank', anchor.target); -} - -function testSetText() { - var link = goog.editor.Link.createNewLink(anchor, 'http://www.google.com', - '_blank'); - assertEquals('Should be empty', '', link.getCurrentText()); - link.setTextAndUrl('Text', 'http://docs.google.com/'); - assertEquals('Should point to http://docs.google.com/', - 'http://docs.google.com/', anchor.href); - assertEquals('Should have correct text', 'Text', link.getCurrentText()); -} - -function testSetBoldText() { - anchor.innerHTML = '<b></b>'; - var link = goog.editor.Link.createNewLink(anchor, 'http://www.google.com', - '_blank'); - assertEquals('Should be empty', '', link.getCurrentText()); - link.setTextAndUrl('Text', 'http://docs.google.com/'); - assertEquals('Should point to http://docs.google.com/', - 'http://docs.google.com/', anchor.href); - assertEquals('Should have correct text', 'Text', link.getCurrentText()); - assertEquals('Should still be bold', goog.dom.TagName.B, - anchor.firstChild.tagName); -} - -function testSetMixed() { - anchor.innerHTML = '<b>A</b>B'; - var link = goog.editor.Link.createNewLink(anchor, 'http://www.google.com', - '_blank'); - assertEquals('Should have text: AB', 'AB', link.getCurrentText()); - link.setTextAndUrl('Text', 'http://docs.google.com/'); - assertEquals('Should point to http://docs.google.com/', - 'http://docs.google.com/', anchor.href); - assertEquals('Should have correct text', 'Text', link.getCurrentText()); - assertEquals('Should not be bold', goog.dom.NodeType.TEXT, - anchor.firstChild.nodeType); -} - -function testPlaceCursorRightOf() { - // IE can only do selections properly if the region is editable. - var ed = goog.dom.createDom('div'); - goog.dom.replaceNode(ed, anchor); - ed.contentEditable = true; - ed.appendChild(anchor); - - // In order to test the cursor placement properly, we need to have - // link text. See more details in the test below. - anchor.innerHTML = 'I am text'; - - var link = goog.editor.Link.createNewLink(anchor, 'http://www.google.com'); - link.placeCursorRightOf(); - - var range = goog.dom.Range.createFromWindow(); - assertTrue('Range should be collapsed', range.isCollapsed()); - var startNode = range.getStartNode(); - - if (goog.userAgent.WEBKIT && !goog.userAgent.isVersion('528')) { - assertEquals('Selection should be to the right of the anchor', - anchor, startNode.previousSibling); - } else { - // Check that the selection is the "right" place. - // - // If you query the selection, it is actually still inside the anchor, - // but if you type, it types outside the anchor. - // - // Best we can do is test that it is at the end of the anchor text. - assertEquals('Selection should be in anchor text', - anchor.firstChild, startNode); - assertEquals('Selection should be at the end of the text', - anchor.firstChild.length, range.getStartOffset()); - } - - if (ed) { - goog.dom.removeNode(ed); - } -} - -function testIsLikelyUrl() { - var good = [ - // Proper URLs - 'http://google.com', 'http://google.com/', 'http://192.168.1.103', - 'http://www.google.com:8083', 'https://antoine', 'https://foo.foo.net', - 'ftp://google.com:22/', 'http://user@site.com', - 'ftp://user:pass@ftp.site.com', 'http://google.com/search?q=laser%20cats', - 'aim:goim?screenname=en2es', 'mailto:x@y.com', - - // Bad URLs a browser will accept - 'www.google.com', 'www.amazon.co.uk', 'amazon.co.uk', 'foo2.foo3.com', - 'pandora.tv', 'marketing.us', 'del.icio.us', 'bridge-line.com', - 'www.frigid.net:80', 'www.google.com?q=foo', 'www.foo.com/j%20.txt', - 'foodtv.net', 'google.com', 'slashdot.org', '192.168.1.1', - 'justin.edu?kumar something', 'google.com/search?q=hot%20pockets', - - // Due to TLD explosion, these could be URLs either now or soon. - 'ww.jester', 'juicer.fake', 'abs.nonsense.something', 'filename.txt' - ]; - for (var i = 0; i < good.length; i++) { - assertTrue(good[i] + ' should be good', - goog.editor.Link.isLikelyUrl(good[i])); - } - - var bad = [ - // Definitely not URLs - 'bananas', 'http google com', '<img>', 'Sad :/', '*garbage!.123', - 'ftp', 'http', '/', 'https', 'this is', '*!&.banana!*&!', - 'www.jester is gone.com', 'ftp .nospaces.net', 'www_foo_net', - "www.'jester'.net", 'www:8080', - 'www . notnsense.com', 'email@address.com', - - // URL-ish but not quite - ' http://www.google.com', 'http://www.google.com:8081 ', - 'www.google.com foo bar', 'google.com/search?q=not quite' - ]; - - for (i = 0; i < bad.length; i++) { - assertFalse(bad[i] + ' should be bad', - goog.editor.Link.isLikelyUrl(bad[i])); - } -}; - -function testIsLikelyEmailAddress() { - var good = [ - // Valid email addresses - 'foo@foo.com', 'foo1@foo2.foo3.com', 'f45_1@goog13.org', 'user@gmail.co.uk', - 'jon-smith@crazy.net', 'roland1@capuchino.gov', 'ernir@gshi.nl', - 'JOON@jno.COM', 'media@meDIa.fREnology.FR', 'john.mail4me@del.icio.us', - 'www9@wc3.madeup1.org', 'hi@192.168.1.103', 'hi@192.168.1.1' - ]; - for (var i = 0; i < good.length; i++) { - assertTrue(goog.editor.Link.isLikelyEmailAddress(good[i])); - } - - var bad = [ - // Malformed/incomplete email addresses - 'user', '@gmail.com', 'user@gmail', 'user@.com', 'user@gmail.c', - 'user@gmail.co.u', '@ya.com', '.@hi3.nl', 'jim.com', - 'ed:@gmail.com', '*!&.banana!*&!', ':jon@gmail.com', - '3g?@bil.com', 'adam be@hi.net', 'john\nsmith@test.com', - "www.'jester'.net", "'james'@covald.net", 'ftp://user@site.com/', - 'aim:goim?screenname=en2es', 'user:pass@site.com', 'user@site.com yay' - ]; - - for (i = 0; i < bad.length; i++) { - assertFalse(goog.editor.Link.isLikelyEmailAddress(bad[i])); - } -}; - -function testIsMailToLink() { - assertFalse(goog.editor.Link.isMailto()); - assertFalse(goog.editor.Link.isMailto(null)); - assertFalse(goog.editor.Link.isMailto('')); - assertFalse(goog.editor.Link.isMailto('http://foo.com')); - assertFalse(goog.editor.Link.isMailto('http://mailto:80')); - - assertTrue(goog.editor.Link.isMailto('mailto:')); - assertTrue(goog.editor.Link.isMailto('mailto://')); - assertTrue(goog.editor.Link.isMailto('mailto://ptucker@gmail.com')); -} - -</script> -</body> -</html> |