blob: 0023479764d83894df66b70663d57fd93253044c [file] [log] [blame]
// Copyright 2008 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
goog.provide('goog.ui.TabPaneTest');
goog.setTestOnly('goog.ui.TabPaneTest');
goog.require('goog.dom');
goog.require('goog.testing.jsunit');
goog.require('goog.ui.TabPane');
var tabPane;
var page1;
var page2;
var page3;
function setUp() {
goog.dom.getElement('testBody').innerHTML =
'<div id="tabpane"></div>' +
'<div id="page1Content">' +
' Content for page 1' +
'</div>' +
'<div id="page2Content">' +
' Content for page 2' +
'</div>' +
'<div id="page3Content">' +
' Content for page 3' +
'</div>';
tabPane = new goog.ui.TabPane(goog.dom.getElement('tabpane'));
page1 = new goog.ui.TabPane.TabPage(goog.dom.getElement('page1Content'),
'page1');
page2 = new goog.ui.TabPane.TabPage(goog.dom.getElement('page2Content'),
'page2');
page3 = new goog.ui.TabPane.TabPage(goog.dom.getElement('page3Content'),
'page3');
tabPane.addPage(page1);
tabPane.addPage(page2);
tabPane.addPage(page3);
}
function tearDown() {
tabPane.dispose();
}
function testAllPagesEnabledAndSelectable() {
tabPane.setSelectedIndex(0);
var selected = tabPane.getSelectedPage();
assertEquals('page1 should be selected', 'page1', selected.getTitle());
assertEquals('goog-tabpane-tab-selected',
selected.getTitleElement().className);
tabPane.setSelectedIndex(1);
selected = tabPane.getSelectedPage();
assertEquals('page2 should be selected', 'page2', selected.getTitle());
assertEquals('goog-tabpane-tab-selected',
selected.getTitleElement().className);
tabPane.setSelectedIndex(2);
selected = tabPane.getSelectedPage();
assertEquals('page3 should be selected', 'page3', selected.getTitle());
assertEquals('goog-tabpane-tab-selected',
selected.getTitleElement().className);
}
function testDisabledPageIsNotSelectable() {
page2.setEnabled(false);
assertEquals('goog-tabpane-tab-disabled',
page2.getTitleElement().className);
tabPane.setSelectedIndex(0);
var selected = tabPane.getSelectedPage();
assertEquals('page1 should be selected', 'page1', selected.getTitle());
assertEquals('goog-tabpane-tab-selected',
selected.getTitleElement().className);
tabPane.setSelectedIndex(1);
selected = tabPane.getSelectedPage();
assertEquals('page1 should remain selected, as page2 is disabled',
'page1', selected.getTitle());
assertEquals('goog-tabpane-tab-selected',
selected.getTitleElement().className);
tabPane.setSelectedIndex(2);
selected = tabPane.getSelectedPage();
assertEquals('page3 should be selected', 'page3', selected.getTitle());
assertEquals('goog-tabpane-tab-selected',
selected.getTitleElement().className);
}