diff options
Diffstat (limited to 'contexts/data/lib/closure-library/closure/goog/editor/plugin_test.html')
-rw-r--r-- | contexts/data/lib/closure-library/closure/goog/editor/plugin_test.html | 187 |
1 files changed, 0 insertions, 187 deletions
diff --git a/contexts/data/lib/closure-library/closure/goog/editor/plugin_test.html b/contexts/data/lib/closure-library/closure/goog/editor/plugin_test.html deleted file mode 100644 index 264cc0c..0000000 --- a/contexts/data/lib/closure-library/closure/goog/editor/plugin_test.html +++ /dev/null @@ -1,187 +0,0 @@ -<!-- - All Rights Reserved. - - Tests for goog.editor.Plugin. - - @author nicksantos@google.com (Nick Santos) ---><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.Plugin</title> -<script src='../base.js'></script> -<script src='../deps.js'></script> -<script> - goog.require('goog.editor.Field'); - goog.require('goog.editor.Plugin'); - goog.require('goog.functions'); - goog.require('goog.userAgent'); - goog.require('goog.testing.StrictMock'); - goog.require('goog.testing.jsunit'); -</script> -</head> -<body> - -<script> - -var plugin; -var fieldObject; - - -function setUp() { - plugin = new goog.editor.Plugin(); - fieldObject = {}; -} - - -function tearDown() { - plugin.dispose(); -} - - -function testRegisterFieldObject() { - plugin.registerFieldObject(fieldObject); - assertEquals('Register field object must be stored in protected field.', - fieldObject, plugin.fieldObject); - - assertFalse('Newly registered plugin must not be enabled.', - plugin.isEnabled(fieldObject)); -} - - -function testUnregisterFieldObject() { - plugin.registerFieldObject(fieldObject); - plugin.enable(fieldObject); - plugin.unregisterFieldObject(fieldObject); - - assertNull('fieldObject property must be undefined after ' + - 'unregistering a field object.', plugin.fieldObject); - assertFalse('Unregistered field object must not be enabled', - plugin.isEnabled(fieldObject)); -} - - -function testEnable() { - plugin.registerFieldObject(fieldObject); - plugin.enable(fieldObject); - - assertTrue('Enabled field object must be enabled according to isEnabled().', - plugin.isEnabled(fieldObject)); -} - - -function testDisable() { - plugin.registerFieldObject(fieldObject); - plugin.enable(fieldObject); - plugin.disable(fieldObject); - - assertFalse('Disabled field object must be disabled according to ' + - 'isEnabled().', plugin.isEnabled(fieldObject)); -} - - -function testIsEnabled() { - // Other base cases covered while testing enable() and disable(). - - assertFalse('Unregistered field object must be disabled according ' + - 'to isEnabled().', plugin.isEnabled(fieldObject)); -} - - -function testIsSupportedCommand() { - assertFalse('Base plugin class must not support any commands.', - plugin.isSupportedCommand('+indent')) -} - -function testExecCommand() { - var mockField = new goog.testing.StrictMock(goog.editor.Field); - plugin.registerFieldObject(mockField); - - if (goog.userAgent.GECKO) { - mockField.stopChangeEvents(true, true); - } - mockField.dispatchBeforeChange(); - // Note(user): dispatch change turns back on (delayed) change events. - mockField.dispatchChange(); - mockField.dispatchSelectionChangeEvent(); - mockField.$replay(); - - var passedCommand, passedArg; - plugin.execCommandInternal = function(command, arg){ - passedCommand = command; - passedArg = arg; - }; - plugin.execCommand('+indent', true); - - // Verify that execCommand dispatched the expected events. - mockField.$verify(); - mockField.$reset(); - // Verify that execCommandInternal was called with the correct arguments. - assertEquals('+indent', passedCommand); - assertTrue(passedArg); - - plugin.isSilentCommand = goog.functions.constant(true); - mockField.$replay(); - plugin.execCommand('+outdent', false); - // Verify that execCommand on a silent plugin dispatched no events. - mockField.$verify(); - // Verify that execCommandInternal was called with the correct arguments. - assertEquals('+outdent', passedCommand); - assertFalse(passedArg); -} - -/** - * Regression test for http://b/issue?id=1471355 . - */ -function testExecCommandException() { - var mockField = new goog.testing.StrictMock(goog.editor.Field); - plugin.registerFieldObject(mockField); - plugin.execCommandInternal = function() { - throw 1; - }; - - if (goog.userAgent.GECKO) { - mockField.stopChangeEvents(true, true); - } - mockField.dispatchBeforeChange(); - // Note(user): dispatch change turns back on (delayed) change events. - mockField.dispatchChange(); - mockField.dispatchSelectionChangeEvent(); - mockField.$replay(); - - assertThrows('Exception should not be swallowed', function() { - plugin.execCommand(); - }); - - // Verifies that cleanup is done despite the exception. - mockField.$verify(); -} - -function testDisposed() { - plugin.registerFieldObject(fieldObject); - plugin.dispose(); - assert(plugin.getDisposed()); - assertNull('Disposed plugin must not have a field object.', - plugin.fieldObject); - assertFalse('Disposed plugin must not have an enabled field object.', - plugin.isEnabled(fieldObject)); -} - -function testIsAndSetAutoDispose() { - assertTrue('Plugin must start auto-disposable', plugin.isAutoDispose()); - - plugin.setAutoDispose(false); - assertFalse(plugin.isAutoDispose()); - - plugin.setAutoDispose(true); - assertTrue(plugin.isAutoDispose()); -} - -</script> -</body> -</html> |