/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ TabsTest = TestCase('TabsTest'); TabsTest.prototype.testInit = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs(); assertTrue(tabs.is(':mage-tabs')); }; TabsTest.prototype.testCreate = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs({active: 'tab2'}); assertEquals(tabs.tabs('option', 'active'), tabs.data("tabs").anchors.index(jQuery('#tab2'))); }; TabsTest.prototype.testActiveAnchor = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs({active: 'tab2'}); assertTrue(tabs.tabs('activeAnchor').is(tabs.data("tabs").anchors.eq(tabs.tabs('option', 'active')))); }; TabsTest.prototype.testGetTabIndex = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs(); assertEquals(0, tabs.data("tabs")._getTabIndex('tab1')); assertEquals(1, tabs.data("tabs")._getTabIndex('tab2')); }; TabsTest.prototype.testGetPanelForTab = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs({destination: '#destination'}); assertTrue(jQuery(tabs.data("tabs")._getPanelForTab(jQuery('#tab1').closest('li'))).is('#tab1_content')); }; TabsTest.prototype.testMovePanelsInDestination = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs({destination: '#destination'}); var panel = jQuery('#tab1_content'); tabs.append(panel); assertTrue(panel.parents('#tabs').length > 0); assertEquals(panel.parents(tabs.tabs('option', 'destination')).length, 0); tabs.data("tabs")._movePanelsInDestination(panel); assertEquals(panel.parents('#tabs').length, 0); assertTrue(panel.parents(tabs.tabs('option', 'destination')).length > 0); tabs.tabs('option', 'destination', null); tabs.append(panel); assertTrue(panel.parents('#tabs').length > 0); tabs.data("tabs")._movePanelsInDestination(panel); assertTrue(panel.parents('#tabs').length > 0); }; TabsTest.prototype.testAjaxLoad = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs(), ui = { tab: jQuery('#tab1'), panel: jQuery('#tab1_content') }; tabs.tabs('option', 'load')({}, ui); assertEquals(jQuery('#tab1').attr('href'), '#tab1_content'); }; TabsTest.prototype.testOnContentChange = function() { /*:DOC +=
*/ var eventMock = { data: { index: 0 } }, tabs = jQuery('#tabs').tabs(); tabs.data("tabs")._onContentChange(eventMock); assertTrue(jQuery('#tab1').hasClass('_changed')); }; TabsTest.prototype.testOnFocus = function() { /*:DOC +=
*/ var eventMock = { data: { index: 1 } }, tabs = jQuery('#tabs').tabs(); assertNotEquals(tabs.tabs('option', '_active'), eventMock.data.index); tabs.data("tabs")._onFocus(eventMock); assertEquals(tabs.tabs('option', '_active'), eventMock.data.index); }; TabsTest.prototype.testOnBeforeSubmit = function() { /*:DOC +=
*/ var tabs = jQuery('#tabs').tabs({active: 'tab1'}), data= {}, testData = { action: { args: { tab: 'tab1' } } }, testDataTabArgument = { action: { args: { testtab: 'tab1' } } }, tabPrefix = 'test-', tabIdArgument = 'testtab'; tabs.data("tabs")._onBeforeSubmit({}, data); assertEquals(data, testData); data = {}; jQuery('#tab1').prop('id', 'test-tab1'); tabs.tabs('option', 'tabsBlockPrefix', tabPrefix); tabs.data("tabs")._onBeforeSubmit({}, data); assertEquals(data, testData); tabs.tabs('option', 'tabsBlockPrefix', null); jQuery('#test-tab1').prop('id', 'tab1'); data = {}; tabs.tabs('option', 'tabIdArgument', tabIdArgument); tabs.data("tabs")._onBeforeSubmit({}, data); assertEquals(data, testDataTabArgument); };