| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>bot.action + editor test</title> | |
| <script src="test_bootstrap.js"></script> | |
| <script type="text/javascript"> | |
| goog.require('bot.action'); | |
| goog.require('bot.locators'); | |
| goog.require('goog.dom'); | |
| goog.require('goog.color'); | |
| goog.require('goog.events'); | |
| goog.require('goog.ui.Component.EventType'); | |
| goog.require('goog.ui.editor.DefaultToolbar'); | |
| goog.require('goog.testing.jsunit'); | |
| function addStyleSheet(path) { | |
| document.write( | |
| '<link rel="stylesheet" href="' + goog.basePath + path + '"/>'); | |
| } | |
| addStyleSheet('demos/css/demo.css'); | |
| addStyleSheet('css/toolbar.css'); | |
| addStyleSheet('css/colormenubutton.css'); | |
| addStyleSheet('css/palette.css'); | |
| addStyleSheet('css/colorpalette.css'); | |
| addStyleSheet('css/editortoolbar.css'); | |
| </script> | |
| </head> | |
| <body> | |
| <div id='toolbar' style='width:602px'></div> | |
| <script type="text/javascript"> | |
| var toolbar = goog.ui.editor.DefaultToolbar.makeToolbar([ | |
| goog.editor.Command.BACKGROUND_COLOR, | |
| ], goog.dom.getElement('toolbar')); | |
| var bgColorMenu = toolbar.getChildAt(0); | |
| function testCanInteractWithColorbuttonMenu_toolbarIsFocusable() { | |
| toolbar.setFocusable(true); | |
| runColorButtonMenuInteractionTest(); | |
| } | |
| function testCanInteractWithColorbuttonMenu_toolbarNotIsFocusable() { | |
| toolbar.setFocusable(false); | |
| runColorButtonMenuInteractionTest(); | |
| } | |
| function runColorButtonMenuInteractionTest() { | |
| bgColorMenu.setValue('#FFF'); | |
| bot.action.click(bgColorMenu.getElement()); | |
| assertTrue('Menu not opened', bgColorMenu.isOpen()); | |
| var actionFired = false; | |
| goog.events.listenOnce(toolbar, goog.ui.Component.EventType.ACTION, | |
| function(e) { | |
| actionFired = true; | |
| }); | |
| bot.action.click(getRedSwatch()); | |
| assertTrue('Action event not fired!', actionFired); | |
| } | |
| function getRedSwatch() { | |
| var colorMenu = bgColorMenu.getMenu(); | |
| var solidPalette = colorMenu.getChildAt(1); | |
| var redSwatch = bot.locators.findElement( | |
| {className: 'goog-palette-colorswatch'}, | |
| solidPalette.getElement()); | |
| assertNotNull(redSwatch); | |
| var color = bot.dom.getEffectiveStyle(redSwatch, 'background-color'); | |
| assertEquals('rgba(255, 0, 0, 1)', color); | |
| return redSwatch; | |
| } | |
| </script> | |
| </body> | |
| </html> |