| 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: function is not a constructor (evaluating 'new UndoManager()'). |
| 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 |
| |