UNPKG

sku-pg

Version:

Skulpt is a Javascript implementation of Python 2.x. Python that runs in your browser!

83 lines (78 loc) 2.72 kB
<!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.events.ActionHandler</title> <script src="../base.js"></script> <script> goog.require('goog.events.ActionHandler'); goog.require('goog.dom'); goog.require('goog.testing.events'); goog.require('goog.testing.jsunit'); </script> </head> <body> <script> var actionHandler; function setUp() { actionHandler = new goog.events.ActionHandler( goog.dom.getElement('actionDiv')); } function tearDown() { actionHandler.dispose(); } // Tests to see that both the BEFOREACTION and ACTION events are fired function testActionHandlerWithBeforeActionHandler() { var actionEventFired = false; var beforeActionFired = false; goog.events.listen(actionHandler, goog.events.ActionHandler.EventType.ACTION, function(e) { actionEventFired = true; }); goog.events.listen(actionHandler, goog.events.ActionHandler.EventType.BEFOREACTION, function(e) { beforeActionFired = true; }); goog.testing.events.fireClickSequence(goog.dom.getElement('actionDiv')); assertTrue("BEFOREACTION event was not fired", beforeActionFired); assertTrue("ACTION event was not fired", actionEventFired); } // Tests to see that the ACTION event is fired, even if there is no // BEFOREACTION handler. function testActionHandlerWithoutBeforeActionHandler() { var actionEventFired = false; goog.events.listen(actionHandler, goog.events.ActionHandler.EventType.ACTION, function(e) {actionEventFired = true;}); goog.testing.events.fireClickSequence(goog.dom.getElement('actionDiv')); assertTrue("ACTION event was not fired", actionEventFired); } // If the BEFOREACTION listener swallows the event, it should cancel the // ACTION event. function testBeforeActionCancel() { var actionEventFired = false; var beforeActionFired = false; goog.events.listen(actionHandler, goog.events.ActionHandler.EventType.ACTION, function(e) {actionEvent = e;}); goog.events.listen(actionHandler, goog.events.ActionHandler.EventType.BEFOREACTION, function(e) { beforeActionFired = true; e.preventDefault(); }); goog.testing.events.fireClickSequence(goog.dom.getElement('actionDiv')); assertTrue(beforeActionFired); assertFalse(actionEventFired); } </script> <div id="actionDiv">action</div> </body> </html>