UNPKG

sku-pg

Version:

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

139 lines (121 loc) 5.32 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. --> <!-- Author: attila@google.com (Attila Bodis) --> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Closure Unit Tests - goog.ui.TabBarRenderer</title> <script src="../base.js"></script> <script> goog.require('goog.dom'); goog.require('goog.a11y.aria.Role'); goog.require('goog.dom.classes'); goog.require('goog.testing.jsunit'); goog.require('goog.ui.Container.Orientation'); goog.require('goog.ui.Tab'); goog.require('goog.ui.TabBar'); goog.require('goog.ui.TabBar.Location'); goog.require('goog.ui.TabBarRenderer'); goog.require('goog.testing.ui.rendererasserts'); </script> </head> <body> <div id="sandbox"></div> <script> var sandbox = goog.dom.getElement('sandbox'); var renderer = goog.ui.TabBarRenderer.getInstance(); var tabBar; function setUp() { tabBar = new goog.ui.TabBar(); } function tearDown() { tabBar.dispose(); goog.dom.removeChildren(sandbox); } function testConstructor() { assertNotNull('Renderer must not be null', renderer); } function testGetCssClass() { assertEquals('getCssClass() must return expected value', goog.ui.TabBarRenderer.CSS_CLASS, renderer.getCssClass()); } function testGetAriaRole() { assertEquals('getAriaRole() must return expected value', goog.a11y.aria.Role.TAB_LIST, renderer.getAriaRole()); } function testCreateDom() { var element = renderer.createDom(tabBar); assertNotNull('Created element must not be null', element); assertEquals('Created element must be a DIV', 'DIV', element.tagName); assertSameElements('Created element must have expected class names', ['goog-tab-bar', 'goog-tab-bar-horizontal', 'goog-tab-bar-top'], goog.dom.classes.get(element)); } function testDecorate() { sandbox.innerHTML = '<div id="start" class="goog-tab-bar-start"></div>'; var element = renderer.decorate(tabBar, goog.dom.getElement('start')); assertNotNull('Decorated element must not be null', element); assertEquals('Decorated element must be as expected', goog.dom.getElement('start'), element); // Due to a bug in ContainerRenderer, the "-vertical" class isn't applied. // TODO(attila): Fix this! assertSameElements('Decorated element must have expected class names', ['goog-tab-bar', 'goog-tab-bar-start'], goog.dom.classes.get(element)); } function testSetStateFromClassName() { renderer.setStateFromClassName(tabBar, 'goog-tab-bar-bottom', renderer.getCssClass()); assertEquals('Location must be BOTTOM', goog.ui.TabBar.Location.BOTTOM, tabBar.getLocation()); assertEquals('Orientation must be HORIZONTAL', goog.ui.Container.Orientation.HORIZONTAL, tabBar.getOrientation()); renderer.setStateFromClassName(tabBar, 'goog-tab-bar-end', renderer.getCssClass()); assertEquals('Location must be END', goog.ui.TabBar.Location.END, tabBar.getLocation()); assertEquals('Orientation must be VERTICAL', goog.ui.Container.Orientation.VERTICAL, tabBar.getOrientation()); renderer.setStateFromClassName(tabBar, 'goog-tab-bar-top', renderer.getCssClass()); assertEquals('Location must be TOP', goog.ui.TabBar.Location.TOP, tabBar.getLocation()); assertEquals('Orientation must be HORIZONTAL', goog.ui.Container.Orientation.HORIZONTAL, tabBar.getOrientation()); renderer.setStateFromClassName(tabBar, 'goog-tab-bar-start', renderer.getCssClass()); assertEquals('Location must be START', goog.ui.TabBar.Location.START, tabBar.getLocation()); assertEquals('Orientation must be VERTICAL', goog.ui.Container.Orientation.VERTICAL, tabBar.getOrientation()); } function testGetClassNames() { assertSameElements('Class names for TOP location must be as expected', ['goog-tab-bar', 'goog-tab-bar-horizontal', 'goog-tab-bar-top'], renderer.getClassNames(tabBar)); tabBar.setLocation(goog.ui.TabBar.Location.START); assertSameElements('Class names for START location must be as expected', ['goog-tab-bar', 'goog-tab-bar-vertical', 'goog-tab-bar-start'], renderer.getClassNames(tabBar)); tabBar.setLocation(goog.ui.TabBar.Location.BOTTOM); assertSameElements('Class names for BOTTOM location must be as expected', ['goog-tab-bar', 'goog-tab-bar-horizontal', 'goog-tab-bar-bottom'], renderer.getClassNames(tabBar)); tabBar.setLocation(goog.ui.TabBar.Location.END); assertSameElements('Class names for END location must be as expected', ['goog-tab-bar', 'goog-tab-bar-vertical', 'goog-tab-bar-end'], renderer.getClassNames(tabBar)); } function testDoesntCallGetCssClassInConstructor() { goog.testing.ui.rendererasserts. assertNoGetCssClassCallsInConstructor(goog.ui.TabBarRenderer); } </script> </body> </html>