blob: 129b9853670be98eb19d1e047c511c30044f647c [file] [log] [blame]
Verifies that, when the UndoManager API is enabled, UndoManager and UndoItem interfaces behave as expected.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
Testing UndoManager:
PASS UndoManager instanceof Function is true
PASS typeof UndoManager is "function"
PASS document.undoManager instanceof UndoManager is true
PASS Object.getPrototypeOf(document.undoManager) === UndoManager.prototype is true
PASS UndoManager.prototype.addItem instanceof Function is true
PASS UndoManager() threw exception TypeError: Illegal constructor.
PASS new UndoManager() threw exception TypeError: Illegal constructor.
PASS document.undoManager.addItem() threw exception TypeError: Not enough arguments.
PASS document.undoManager.addItem('foo') threw exception TypeError: Argument 1 ('item') to UndoManager.addItem must be an instance of UndoItem.
PASS UndoManager.toString() is "function UndoManager() {\n [native code]\n}"
PASS document.undoManager.toString() is "[object UndoManager]"
Testing UndoItem:
PASS UndoItem instanceof Function is true
PASS typeof UndoItem is "function"
PASS UndoItem() threw exception TypeError: Constructor requires 'new' operator.
PASS new UndoItem() threw exception TypeError: Not enough arguments.
PASS new UndoItem('foo') threw exception TypeError: Type error.
PASS new UndoItem({ }) threw exception TypeError: Member UndoItemInit.label is required and must be an instance of DOMString.
PASS new UndoItem({ label: null, undo: null }) threw exception TypeError: Member UndoItemInit.redo is required and must be an instance of VoidCallback.
PASS new UndoItem({ redo: null }) threw exception TypeError: Member UndoItemInit.label is required and must be an instance of DOMString.
PASS new UndoItem({ label: '', undo: emptyFunction }) threw exception TypeError: Member UndoItemInit.redo is required and must be an instance of VoidCallback.
PASS new UndoItem({ label: 'hello', redo: emptyFunction }) threw exception TypeError: Member UndoItemInit.undo is required and must be an instance of VoidCallback.
PASS new UndoItem({ label: 3, undo: null, redo: null }) threw exception TypeError: Type error.
PASS new UndoItem({ label: '', undo: '', redo: emptyFunction }) threw exception TypeError: Type error.
PASS new UndoItem({ label: '', undo: emptyFunction, redo: 10 }) threw exception TypeError: Type error.
PASS new UndoItem({ label: '', undo: emptyFunction, redo: emptyFunction, foo: 'hi' }) instanceof UndoItem is true
PASS Object.getPrototypeOf(new UndoItem({ label: '', undo: emptyFunction, redo: emptyFunction })) === UndoItem.prototype is true
PASS new UndoItem({ label: 'foo', undo: emptyFunction, redo: emptyFunction }).label is "foo"
PASS UndoItem.toString() is "function UndoItem() {\n [native code]\n}"
PASS new UndoItem({ label: '', undo: emptyFunction, redo: emptyFunction }).toString() is "[object UndoItem]"
PASS document.undoManager.addItem(new UndoItem({ label: '', undo: emptyFunction, redo: emptyFunction })) did not throw exception.
PASS successfullyParsed is true
TEST COMPLETE