<html> <head> <title>dojo.undo.Manager Tests</title> <script type="text/javascript"> // Dojo configuration djConfig = { isDebug: true }; </script> <script type="text/javascript" src="../../dojo.js"></script> <script type="text/javascript"> dojo.require("dojo.undo.Manager"); function foo(n) { return function() { dojo.debug(n); } } function init(){ x = new dojo.undo.Manager(); x.push(foo(1), foo(-1)); x.push(foo(2), foo(-2)); x.beginTransaction(); x.push(foo(3), foo(-3)); x.push(foo(4), foo(-4)); x.push(foo(5), foo(-5)); x.beginTransaction(); x.push(foo("a"), foo("-a")); x.push(foo("b"), foo("-b")); x.endTransaction(); x.push(foo(6), foo(-6)); x.endTransaction(); x.undo(); dojo.debug("more to undo?", x.canUndo); x.redo(); dojo.debug("more to undo?", x.canUndo); x.undo(); dojo.debug("more to undo?", x.canUndo); x.redo(); dojo.debug("more to undo?", x.canUndo); x.undo(); dojo.debug("more to undo?", x.canUndo); x.undo(); dojo.debug("more to undo?", x.canUndo); x.redo(); dojo.debug("more to undo?", x.canUndo); x.undo(); x.undo(); dojo.debug("more to undo?", x.canUndo); x.redo(); x.undo(); x.undo(); dojo.debug("more to undo?", x.canUndo); } dojo.addOnLoad(init); </script> </head> <body> </body> </html>