diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/demos/editor/helloworlddialogplugin_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/demos/editor/helloworlddialogplugin_test.html | 198 |
1 files changed, 0 insertions, 198 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/demos/editor/helloworlddialogplugin_test.html b/contexts/data/lib/closure-library/closure/goog/demos/editor/helloworlddialogplugin_test.html deleted file mode 100644 index 3bcb29c..0000000 --- a/contexts/data/lib/closure-library/closure/goog/demos/editor/helloworlddialogplugin_test.html +++ /dev/null @@ -1,198 +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.demos.editor.HelloWorldDialogPlugin</title> -<script src="../../base.js"></script> -<script src="deps.js"></script> -<script> - goog.require('goog.demos.editor.HelloWorldDialog'); - goog.require('goog.demos.editor.HelloWorldDialog.OkEvent'); - goog.require('goog.demos.editor.HelloWorldDialogPlugin'); - goog.require('goog.demos.editor.HelloWorldDialogPlugin.Command'); - goog.require('goog.dom'); - goog.require('goog.dom.NodeType'); - goog.require('goog.testing.ExpectedFailures'); - goog.require('goog.testing.MockControl'); - goog.require('goog.testing.MockRange'); - goog.require('goog.testing.PropertyReplacer'); - goog.require('goog.testing.editor.FieldMock'); - goog.require('goog.testing.editor.TestHelper'); - goog.require('goog.testing.editor.dom'); - goog.require('goog.testing.events'); - goog.require('goog.testing.jsunit'); - goog.require('goog.testing.mockmatchers.ArgumentMatcher'); - goog.require('goog.userAgent'); -</script> -<link rel="stylesheet" href="../css/dialog.css"/> -</head> -<body> - -<div id="myField"></div> - -<script> - - var plugin; - var mockCtrl; - var mockField; - var mockRange; - var mockPlaceCursorNextTo; - var stubs = new goog.testing.PropertyReplacer(); - - var fieldObj; - - var CUSTOM_MESSAGE = 'Hello, cruel world...'; - - var expectedFailures = new goog.testing.ExpectedFailures(); - - - function setUp() { - mockCtrl = new goog.testing.MockControl(); - - mockRange = new goog.testing.MockRange(); - mockCtrl.addMock(mockRange); - - mockField = - new goog.testing.editor.FieldMock(undefined, undefined, mockRange); - mockCtrl.addMock(mockField); - - mockPlaceCursorNextTo = mockCtrl.createFunctionMock('placeCursorNextTo'); - } - - function tearDown() { - plugin.dispose(); - tearDownRealEditableField(); - expectedFailures.handleTearDown(); - stubs.reset(); - goog.dom.getElement('myField').innerHTML = ''; - } - - /** - * Tests that the plugin's dialog is properly created. - */ - function testCreateDialog() { - mockField.$replay(); - - plugin = new goog.demos.editor.HelloWorldDialogPlugin(); - plugin.registerFieldObject(mockField); - - var dialog = plugin.createDialog(goog.dom.getDomHelper()); - assertTrue('Dialog should be of type goog.demos.editor.HelloWorldDialog', - dialog instanceof goog.demos.editor.HelloWorldDialog); - - mockField.$verify(); - } - - /** - * Tests that when the OK event fires the editable field is properly updated. - */ - function testOk() { - mockField.focus(); - mockField.dispatchBeforeChange(); - mockRange.removeContents(); - // Tests that an argument is a span with the custom message. - var createdNodeMatcher = new goog.testing.mockmatchers.ArgumentMatcher( - function(arg) { - return arg.nodeType == goog.dom.NodeType.ELEMENT && - arg.tagName == goog.dom.TagName.SPAN && - goog.dom.getRawTextContent(arg) == CUSTOM_MESSAGE; - }); - mockRange.insertNode(createdNodeMatcher, false); - mockRange.$does(function(node, before) { - return node; - }); - mockPlaceCursorNextTo(createdNodeMatcher, false); - stubs.set(goog.editor.range, 'placeCursorNextTo', mockPlaceCursorNextTo); - mockField.dispatchSelectionChangeEvent(); - mockField.dispatchChange(); - mockCtrl.$replayAll(); - - plugin = new goog.demos.editor.HelloWorldDialogPlugin(); - plugin.registerFieldObject(mockField); - var dialog = plugin.createDialog(goog.dom.getDomHelper()); - - // Mock of execCommand + clicking OK without actually opening the dialog. - dialog.dispatchEvent( - new goog.demos.editor.HelloWorldDialog.OkEvent(CUSTOM_MESSAGE)); - - mockCtrl.$verifyAll(); - } - - /** - * Setup a real editable field (instead of a mock) and register the plugin to - * it. - */ - function setUpRealEditableField() { - fieldObj = new goog.editor.Field('myField', document); - fieldObj.makeEditable(); - // Register the plugin to that field. - plugin = new goog.demos.editor.HelloWorldDialogPlugin(); - fieldObj.registerPlugin(plugin); - } - - /** - * Tear down the real editable field. - */ - function tearDownRealEditableField() { - if (fieldObj) { - fieldObj.makeUneditable(); - fieldObj.dispose(); - } - } - - /** - * Tests that the selection is cleared when the dialog opens and is - * correctly restored after ok is clicked. - */ - function testRestoreSelectionOnOk() { - setUpRealEditableField(); - - fieldObj.setHtml(false, '12345'); - var elem = fieldObj.getElement(); - var helper = new goog.testing.editor.TestHelper(elem); - helper.select('12345', 1, '12345', 4); // Selects '234'. - - assertEquals('Incorrect text selected before dialog is opened', - '234', - fieldObj.getRange().getText()); - plugin.execCommand( - goog.demos.editor.HelloWorldDialogPlugin.Command.HELLO_WORLD_DIALOG); - - // TODO(user): IE returns some bogus range when field doesn't have - // selection. Remove the expectedFailure when robbyw fixes the issue. - // NOTE(user): You can't remove the selection from a field in Opera without - // blurring it. - elem.parentNode.blur(); - expectedFailures.expectFailureFor(goog.userAgent.IE || - goog.userAgent.OPERA); - try { - assertNull('There should be no selection while dialog is open', - fieldObj.getRange()); - } catch (e) { - expectedFailures.handleException(e); - } - - goog.testing.events.fireClickSequence( - plugin.dialog_.getOkButtonElement()); - assertEquals('No text should be selected after clicking ok', - '', - fieldObj.getRange().getText()); - - // Test that the caret is placed after the custom message. - goog.testing.editor.dom.assertRangeBetweenText( - 'Hello, world!', '5', fieldObj.getRange()); - } - - -</script> -</body> -</html> |