aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/unit/accordion/accordion_deprecated.js14
-rw-r--r--tests/unit/accordion/accordion_events.js46
-rw-r--r--tests/unit/accordion/accordion_methods.js6
-rw-r--r--tests/unit/accordion/accordion_options.js16
-rw-r--r--tests/unit/accordion/accordion_test_helpers.js9
-rw-r--r--tests/unit/core/core.js10
-rw-r--r--tests/unit/dialog/dialog_core.js21
-rw-r--r--tests/unit/menu/menu.html9
-rw-r--r--tests/unit/menu/menu_core.js2
-rw-r--r--tests/unit/menu/menu_events.js27
-rw-r--r--tests/unit/menu/menu_methods.js6
-rw-r--r--tests/unit/progressbar/progressbar_core.js36
-rw-r--r--tests/unit/progressbar/progressbar_events.js56
-rw-r--r--tests/unit/progressbar/progressbar_methods.js43
-rw-r--r--tests/unit/progressbar/progressbar_options.js52
-rw-r--r--tests/unit/tabs/tabs.html25
-rw-r--r--tests/unit/tabs/tabs_common.js1
-rw-r--r--tests/unit/tabs/tabs_common_deprecated.js1
-rw-r--r--tests/unit/tabs/tabs_deprecated.html25
-rw-r--r--tests/unit/tabs/tabs_options.js67
-rw-r--r--tests/unit/tabs/tabs_test_helpers.js6
-rw-r--r--tests/unit/testsuite.js63
-rw-r--r--tests/visual/menu/menu.html51
23 files changed, 383 insertions, 209 deletions
diff --git a/tests/unit/accordion/accordion_deprecated.js b/tests/unit/accordion/accordion_deprecated.js
index 7f033a340..2068fef95 100644
--- a/tests/unit/accordion/accordion_deprecated.js
+++ b/tests/unit/accordion/accordion_deprecated.js
@@ -1,6 +1,6 @@
(function( $ ) {
-var equalHeights = TestHelpers.accordion.equalHeights,
+var equalHeight = TestHelpers.accordion.equalHeight,
setupTeardown = TestHelpers.accordion.setupTeardown,
state = TestHelpers.accordion.state;
@@ -109,7 +109,7 @@ module( "accordion (deprecated) - height options", setupTeardown() );
test( "{ autoHeight: true }, default", function() {
expect( 3 );
- equalHeights( $( "#navigation" ).accordion({ autoHeight: true }), 95, 130 );
+ equalHeight( $( "#navigation" ).accordion({ autoHeight: true }), 105 );
});
test( "{ autoHeight: false }", function() {
@@ -128,7 +128,7 @@ test( "{ fillSpace: true }", function() {
expect( 3 );
$( "#navigationWrapper" ).height( 500 );
var element = $( "#navigation" ).accordion({ fillSpace: true });
- equalHeights( element, 446, 458 );
+ equalHeight( element, 455 );
});
test( "{ fillSapce: true } with sibling", function() {
@@ -142,7 +142,7 @@ test( "{ fillSapce: true } with sibling", function() {
})
.prependTo( "#navigationWrapper" );
var element = $( "#navigation" ).accordion({ fillSpace: true });
- equalHeights( element , 346, 358);
+ equalHeight( element , 355 );
});
test( "{ fillSpace: true } with multiple siblings", function() {
@@ -171,7 +171,7 @@ test( "{ fillSpace: true } with multiple siblings", function() {
})
.prependTo( "#navigationWrapper" );
var element = $( "#navigation" ).accordion({ fillSpace: true });
- equalHeights( element, 296, 308 );
+ equalHeight( element, 305 );
});
@@ -206,11 +206,11 @@ test( "resize", function() {
.accordion({
heightStyle: "fill"
});
- equalHeights( element, 246, 258 );
+ equalHeight( element, 255 );
element.parent().height( 500 );
element.accordion( "resize" );
- equalHeights( element, 446, 458 );
+ equalHeight( element, 455 );
});
diff --git a/tests/unit/accordion/accordion_events.js b/tests/unit/accordion/accordion_events.js
index 079c71a62..b67f2b26d 100644
--- a/tests/unit/accordion/accordion_events.js
+++ b/tests/unit/accordion/accordion_events.js
@@ -56,11 +56,11 @@ test( "beforeActivate", function() {
element.one( "accordionbeforeactivate", function( event, ui ) {
ok( !( "originalEvent" in event ) );
equal( ui.oldHeader.length, 0 );
- equal( ui.oldContent.length, 0 );
+ equal( ui.oldPanel.length, 0 );
equal( ui.newHeader.length, 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
- equal( ui.newContent.length, 1 );
- strictEqual( ui.newContent[ 0 ], content[ 0 ] );
+ equal( ui.newPanel.length, 1 );
+ strictEqual( ui.newPanel[ 0 ], content[ 0 ] );
state( element, 0, 0, 0 );
});
element.accordion( "option", "active", 0 );
@@ -70,12 +70,12 @@ test( "beforeActivate", function() {
equal( event.originalEvent.type, "click" );
equal( ui.oldHeader.length, 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
- equal( ui.oldContent.length, 1 );
- strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
+ equal( ui.oldPanel.length, 1 );
+ strictEqual( ui.oldPanel[ 0 ], content[ 0 ] );
equal( ui.newHeader.length, 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
- equal( ui.newContent.length, 1 );
- strictEqual( ui.newContent[ 0 ], content[ 1 ] );
+ equal( ui.newPanel.length, 1 );
+ strictEqual( ui.newPanel[ 0 ], content[ 1 ] );
state( element, 1, 0, 0 );
});
headers.eq( 1 ).click();
@@ -85,10 +85,10 @@ test( "beforeActivate", function() {
ok( !( "originalEvent" in event ) );
equal( ui.oldHeader.length, 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
- equal( ui.oldContent.length, 1 );
- strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
+ equal( ui.oldPanel.length, 1 );
+ strictEqual( ui.oldPanel[ 0 ], content[ 1 ] );
equal( ui.newHeader.length, 0 );
- equal( ui.newContent.length, 0 );
+ equal( ui.newPanel.length, 0 );
state( element, 0, 1, 0 );
});
element.accordion( "option", "active", false );
@@ -97,11 +97,11 @@ test( "beforeActivate", function() {
element.one( "accordionbeforeactivate", function( event, ui ) {
ok( !( "originalEvent" in event ) );
equal( ui.oldHeader.length, 0 );
- equal( ui.oldContent.length, 0 );
+ equal( ui.oldPanel.length, 0 );
equal( ui.newHeader.length, 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 2 ] );
- equal( ui.newContent.length, 1 );
- strictEqual( ui.newContent[ 0 ], content[ 2 ] );
+ equal( ui.newPanel.length, 1 );
+ strictEqual( ui.newPanel[ 0 ], content[ 2 ] );
event.preventDefault();
state( element, 0, 0, 0 );
});
@@ -120,33 +120,33 @@ test( "activate", function() {
element.one( "accordionactivate", function( event, ui ) {
equal( ui.oldHeader.length, 0 );
- equal( ui.oldContent.length, 0 );
+ equal( ui.oldPanel.length, 0 );
equal( ui.newHeader.length, 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 0 ] );
- equal( ui.newContent.length, 1 );
- strictEqual( ui.newContent[ 0 ], content[ 0 ] );
+ equal( ui.newPanel.length, 1 );
+ strictEqual( ui.newPanel[ 0 ], content[ 0 ] );
});
element.accordion( "option", "active", 0 );
element.one( "accordionactivate", function( event, ui ) {
equal( ui.oldHeader.length, 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 0 ] );
- equal( ui.oldContent.length, 1 );
- strictEqual( ui.oldContent[ 0 ], content[ 0 ] );
+ equal( ui.oldPanel.length, 1 );
+ strictEqual( ui.oldPanel[ 0 ], content[ 0 ] );
equal( ui.newHeader.length, 1 );
strictEqual( ui.newHeader[ 0 ], headers[ 1 ] );
- equal( ui.newContent.length, 1 );
- strictEqual( ui.newContent[ 0 ], content[ 1 ] );
+ equal( ui.newPanel.length, 1 );
+ strictEqual( ui.newPanel[ 0 ], content[ 1 ] );
});
headers.eq( 1 ).click();
element.one( "accordionactivate", function( event, ui ) {
equal( ui.oldHeader.length, 1 );
strictEqual( ui.oldHeader[ 0 ], headers[ 1 ] );
- equal( ui.oldContent.length, 1 );
- strictEqual( ui.oldContent[ 0 ], content[ 1 ] );
+ equal( ui.oldPanel.length, 1 );
+ strictEqual( ui.oldPanel[ 0 ], content[ 1 ] );
equal( ui.newHeader.length, 0 );
- equal( ui.newContent.length, 0 );
+ equal( ui.newPanel.length, 0 );
});
element.accordion( "option", "active", false );
diff --git a/tests/unit/accordion/accordion_methods.js b/tests/unit/accordion/accordion_methods.js
index 2c5b36632..8723bcbb7 100644
--- a/tests/unit/accordion/accordion_methods.js
+++ b/tests/unit/accordion/accordion_methods.js
@@ -1,6 +1,6 @@
(function( $ ) {
-var equalHeights = TestHelpers.accordion.equalHeights,
+var equalHeight = TestHelpers.accordion.equalHeight,
setupTeardown = TestHelpers.accordion.setupTeardown,
state = TestHelpers.accordion.state;
@@ -38,11 +38,11 @@ test( "refresh", function() {
.accordion({
heightStyle: "fill"
});
- equalHeights( element, 246, 258 );
+ equalHeight( element, 255 );
element.parent().height( 500 );
element.accordion( "refresh" );
- equalHeights( element, 446, 458 );
+ equalHeight( element, 455 );
});
}( jQuery ) );
diff --git a/tests/unit/accordion/accordion_options.js b/tests/unit/accordion/accordion_options.js
index 3c7863520..2b8222f5c 100644
--- a/tests/unit/accordion/accordion_options.js
+++ b/tests/unit/accordion/accordion_options.js
@@ -1,6 +1,6 @@
(function( $ ) {
-var equalHeights = TestHelpers.accordion.equalHeights,
+var equalHeight = TestHelpers.accordion.equalHeight,
setupTeardown = TestHelpers.accordion.setupTeardown,
state = TestHelpers.accordion.state;
@@ -359,7 +359,7 @@ test( "{ header: custom }", function() {
test( "{ heightStyle: 'auto' }", function() {
expect( 3 );
var element = $( "#navigation" ).accordion({ heightStyle: "auto" });
- equalHeights( element, 95, 130 );
+ equalHeight( element, 105 );
});
test( "{ heightStyle: 'content' }", function() {
@@ -368,16 +368,16 @@ test( "{ heightStyle: 'content' }", function() {
sizes = element.find( ".ui-accordion-content" ).map(function() {
return $( this ).height();
}).get();
- ok( sizes[ 0 ] >= 70 && sizes[ 0 ] <= 105, "was " + sizes[ 0 ] );
- ok( sizes[ 1 ] >= 98 && sizes[ 1 ] <= 126, "was " + sizes[ 1 ] );
- ok( sizes[ 2 ] >= 42 && sizes[ 2 ] <= 54, "was " + sizes[ 2 ] );
+ equal( sizes[ 0 ], 75 );
+ equal( sizes[ 1 ], 105 );
+ equal( sizes[ 2 ], 45 );
});
test( "{ heightStyle: 'fill' }", function() {
expect( 3 );
$( "#navigationWrapper" ).height( 500 );
var element = $( "#navigation" ).accordion({ heightStyle: "fill" });
- equalHeights( element, 446, 458 );
+ equalHeight( element, 455 );
});
test( "{ heightStyle: 'fill' } with sibling", function() {
@@ -391,7 +391,7 @@ test( "{ heightStyle: 'fill' } with sibling", function() {
})
.prependTo( "#navigationWrapper" );
var element = $( "#navigation" ).accordion({ heightStyle: "fill" });
- equalHeights( element , 346, 358);
+ equalHeight( element , 355 );
});
test( "{ heightStyle: 'fill' } with multiple siblings", function() {
@@ -420,7 +420,7 @@ test( "{ heightStyle: 'fill' } with multiple siblings", function() {
})
.prependTo( "#navigationWrapper" );
var element = $( "#navigation" ).accordion({ heightStyle: "fill" });
- equalHeights( element, 296, 308 );
+ equalHeight( element, 305 );
});
test( "{ icons: false }", function() {
diff --git a/tests/unit/accordion/accordion_test_helpers.js b/tests/unit/accordion/accordion_test_helpers.js
index 56967793d..643f8e283 100644
--- a/tests/unit/accordion/accordion_test_helpers.js
+++ b/tests/unit/accordion/accordion_test_helpers.js
@@ -1,13 +1,8 @@
TestHelpers.accordion = {
- equalHeights: function( accordion, min, max ) {
- var sizes = [];
+ equalHeight: function( accordion, height ) {
accordion.find( ".ui-accordion-content" ).each(function() {
- sizes.push( $( this ).outerHeight() );
+ equal( $( this ).outerHeight(), height );
});
- ok( sizes[ 0 ] >= min && sizes[ 0 ] <= max,
- "must be within " + min + " and " + max + ", was " + sizes[ 0 ] );
- deepEqual( sizes[ 0 ], sizes[ 1 ] );
- deepEqual( sizes[ 0 ], sizes[ 2 ] );
},
setupTeardown: function() {
diff --git a/tests/unit/core/core.js b/tests/unit/core/core.js
index 7a78ae34d..1026c5b0b 100644
--- a/tests/unit/core/core.js
+++ b/tests/unit/core/core.js
@@ -153,4 +153,14 @@ test( "outerHeight(true) - setter", function() {
equal( el.height(), 32, "height set properly when hidden" );
});
+test( "uniqueId / removeUniqueId", function() {
+ var el = $( "img" ).eq( 0 );
+
+ equal( el.attr( "id" ), undefined, "element has no initial id" );
+ el.uniqueId();
+ ok( /ui-id-\d+$/.test( el.attr( "id" ) ), "element has generated id" );
+ el.removeUniqueId();
+ equal( el.attr( "id" ), undefined, "unique id has been removed from element" );
+});
+
})( jQuery );
diff --git a/tests/unit/dialog/dialog_core.js b/tests/unit/dialog/dialog_core.js
index 5d7beb99b..636b957e8 100644
--- a/tests/unit/dialog/dialog_core.js
+++ b/tests/unit/dialog/dialog_core.js
@@ -89,26 +89,11 @@ function margin(el, side) {
module("dialog: core");
test("title id", function() {
- expect(3);
-
- var titleId;
-
- // reset the uuid so we know what values to expect
- $.ui.dialog.uuid = 0;
+ expect(1);
el = $('<div></div>').dialog();
- titleId = dlg().find('.ui-dialog-title').attr('id');
- equal(titleId, 'ui-dialog-title-1', 'auto-numbered title id');
- el.remove();
-
- el = $('<div></div>').dialog();
- titleId = dlg().find('.ui-dialog-title').attr('id');
- equal(titleId, 'ui-dialog-title-2', 'auto-numbered title id');
- el.remove();
-
- el = $('<div id="foo">').dialog();
- titleId = dlg().find('.ui-dialog-title').attr('id');
- equal(titleId, 'ui-dialog-title-foo', 'carried over title id');
+ var titleId = dlg().find('.ui-dialog-title').attr('id');
+ ok( /ui-id-\d+$/.test( titleId ), 'auto-numbered title id');
el.remove();
});
diff --git a/tests/unit/menu/menu.html b/tests/unit/menu/menu.html
index 62585d863..31c29a924 100644
--- a/tests/unit/menu/menu.html
+++ b/tests/unit/menu/menu.html
@@ -55,7 +55,7 @@
<li class="foo"><a class="foo" href="#">Aberdeen</a></li>
<li class="foo"><a class="foo" href="#">Ada</a></li>
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
- <li class="foo"><a class="foo" href="#">Addyston</a></li>
+ <li class="foo"><a id="testID1" class="foo" href="#">Addyston</a></li>
<li class="foo"><a class="foo" href="#">Adelphi</a></li>
</ul>
@@ -88,8 +88,11 @@
<a href="#">Delphi</a>
<ul>
<li class="foo"><a class="foo" href="#">Ada</a></li>
+ <li> - </li>
<li class="foo"><a class="foo" href="#">Saarland</a></li>
+ <li></li>
<li class="foo"><a class="foo" href="#">Salzburg</a></li>
+ <li>&ndash;</li>
</ul>
</li>
<li class="foo"><a class="foo" href="#">Perch</a></li>
@@ -232,7 +235,7 @@
<a href="#">Delphi</a>
<div>
<blockquote><a href="#">Ada</a></blockquote>
- <blockquote><a href="#">Saarland</a></blockquote>
+ <blockquote><a id="testID2" href="#">Saarland</a></blockquote>
<blockquote><a href="#">Salzburg</a></blockquote>
</div>
</blockquote>
@@ -255,7 +258,7 @@
<li class="foo"><a class="foo" href="#">Adamsville</a></li>
<li class="foo"><a class="foo" href="#">Addyston</a></li>
<li class="ui-state-disabled">
- <a href="#">Delphi</a>
+ <a id="testID3" href="#">Delphi</a>
<ul>
<li class="foo"><a class="foo" href="#">Ada</a></li>
<li class="foo"><a class="foo" href="#">Saarland</a></li>
diff --git a/tests/unit/menu/menu_core.js b/tests/unit/menu/menu_core.js
index 68b625687..7732fd7b7 100644
--- a/tests/unit/menu/menu_core.js
+++ b/tests/unit/menu/menu_core.js
@@ -23,7 +23,7 @@ test("accessibility", function () {
item = menu.find( "li:last" );
menu.menu( "focus", $.Event(), item );
- equal( menu.attr("aria-activedescendant"), "menu1-4", "aria attribute, generated id");
+ ok( /^ui-id-\d+$/.test( menu.attr( "aria-activedescendant" ) ), "aria attribute, generated id");
});
})(jQuery);
diff --git a/tests/unit/menu/menu_events.js b/tests/unit/menu/menu_events.js
index ec3e7d3c4..2132ff764 100644
--- a/tests/unit/menu/menu_events.js
+++ b/tests/unit/menu/menu_events.js
@@ -315,16 +315,27 @@ asyncTest("handle keyboard navigation on menu without scroll and with submenus",
equal( $("#log").html(), "4,keydown,", "Keydown ESCAPE (close submenu)");
log("keydown",true);
- element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
- setTimeout( menukeyboard5, 50 );
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
+ setTimeout( function() {
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.RIGHT } );
+ setTimeout( function() {
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.DOWN } );
+ equal( $("#log").html(), "0,4,2,0,1,0,6,5,keydown,", "Keydown skip dividers and items without anchors");
+
+ log("keydown",true);
+ element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
+ setTimeout( menukeyboard6, 50 );
+ }, 50 );
+ }, 50 );
}
- function menukeyboard5() {
- equal( $("#log").html(), "0,keydown,", "Keydown ENTER (open submenu)");
-
- log("keydown",true);
- element.simulate( "keydown", { keyCode: $.ui.keyCode.ENTER } );
- equal( $("#log").html(), "Ada,keydown,", "Keydown ENTER (select item)");
+ function menukeyboard6() {
+ equal( $("#log").html(), "Ada,keydown,", "Keydown ENTER (open submenu)");
start();
}
diff --git a/tests/unit/menu/menu_methods.js b/tests/unit/menu/menu_methods.js
index fc4fce4f1..c17986816 100644
--- a/tests/unit/menu/menu_methods.js
+++ b/tests/unit/menu/menu_methods.js
@@ -29,13 +29,17 @@ test( "enable/disable", function() {
});
test( "refresh", function() {
- expect( 3 );
+ expect( 5 );
var menu = $( "#menu1" ).menu();
equal(menu.find(".ui-menu-item").length,5,"Incorrect number of menu items");
menu.append("<li><a href='#'>test item</a></li>").menu("refresh");
equal(menu.find(".ui-menu-item").length,6,"Incorrect number of menu items");
menu.find(".ui-menu-item:last").remove().end().menu("refresh");
equal(menu.find(".ui-menu-item").length,5,"Incorrect number of menu items");
+ menu.append("<li>---</li>").menu("refresh");
+ equal(menu.find(".ui-menu-item").length,5,"Incorrect number of menu items");
+ menu.children(":last").remove().end().menu("refresh");
+ equal(menu.find(".ui-menu-item").length,5,"Incorrect number of menu items");
});
test("destroy", function() {
diff --git a/tests/unit/progressbar/progressbar_core.js b/tests/unit/progressbar/progressbar_core.js
index a0ea6c48f..0a2ef895b 100644
--- a/tests/unit/progressbar/progressbar_core.js
+++ b/tests/unit/progressbar/progressbar_core.js
@@ -1,28 +1,20 @@
-/*
- * progressbar_core.js
- */
+module( "progressbar: core" );
-var el;
+test( "accessibility", function() {
+ expect( 7 );
+ var element = $( "#progressbar" ).progressbar();
-(function($) {
+ equal( element.attr( "role" ), "progressbar", "aria role" );
+ equal( element.attr( "aria-valuemin" ), 0, "aria-valuemin" );
+ equal( element.attr( "aria-valuemax" ), 100, "aria-valuemax" );
+ equal( element.attr( "aria-valuenow" ), 0, "aria-valuenow initially" );
-module("progressbar: core");
+ element.progressbar( "value", 77 );
+ equal( element.attr( "aria-valuenow" ), 77, "aria-valuenow" );
-test("accessibility", function() {
- expect(7);
- el = $("#progressbar").progressbar();
+ element.progressbar( "disable" );
+ equal( element.attr( "aria-disabled" ), "true", "aria-disabled on" );
- equal(el.attr("role"), "progressbar", "aria role");
- equal(el.attr("aria-valuemin"), 0, "aria-valuemin");
- equal(el.attr("aria-valuemax"), 100, "aria-valuemax");
- equal(el.attr("aria-valuenow"), 0, "aria-valuenow initially");
- el.progressbar("value", 77);
- equal(el.attr("aria-valuenow"), 77, "aria-valuenow");
- el.progressbar("disable");
- equal(el.attr("aria-disabled"), "true", "aria-disabled on");
- el.progressbar("enable");
- // FAIL: for some reason IE6 and 7 return a boolean false instead of the string
- equal(el.attr("aria-disabled"), "false", "aria-disabled off");
+ element.progressbar( "enable" );
+ equal( element.attr( "aria-disabled" ), "false", "aria-disabled off" );
});
-
-})(jQuery);
diff --git a/tests/unit/progressbar/progressbar_events.js b/tests/unit/progressbar/progressbar_events.js
index f3713171b..bb0d3ca5c 100644
--- a/tests/unit/progressbar/progressbar_events.js
+++ b/tests/unit/progressbar/progressbar_events.js
@@ -1,51 +1,43 @@
-/*
- * progressbar_events.js
- */
-(function($) {
+module( "progressbar: events" );
-module("progressbar: events");
-
-test("create", function() {
- expect(1);
- $("#progressbar").progressbar({
+test( "create", function() {
+ expect( 1 );
+ $( "#progressbar" ).progressbar({
value: 5,
create: function() {
- deepEqual(5, $(this).progressbar("value") );
+ deepEqual( 5, $( this ).progressbar( "value" ) );
},
change: function() {
- ok(false, 'create() has triggered change()');
+ ok( false, "create() has triggered change()" );
}
});
});
-test("change", function() {
- expect(1);
- $("#progressbar").progressbar({
+test( "change", function() {
+ expect( 1 );
+ $( "#progressbar" ).progressbar({
change: function() {
- deepEqual( 5, $(this).progressbar("value") );
+ deepEqual( 5, $( this ).progressbar( "value" ) );
}
- }).progressbar("value", 5);
+ }).progressbar( "value", 5 );
});
test( "complete", function() {
expect( 3 );
- var changes = 0,
- value;
-
- $( "#progressbar" ).progressbar({
- change: function() {
- changes++;
- deepEqual( $( this ).progressbar( "value" ), value, "change at " + value );
- },
- complete: function() {
- equal( changes, 2, "complete triggered after change" );
- }
- });
+ var value,
+ changes = 0,
+ element = $( "#progressbar" ).progressbar({
+ change: function() {
+ changes++;
+ deepEqual( element.progressbar( "value" ), value, "change at " + value );
+ },
+ complete: function() {
+ equal( changes, 2, "complete triggered after change" );
+ }
+ });
value = 5;
- $( "#progressbar" ).progressbar( "value", value );
+ element.progressbar( "value", value );
value = 100;
- $( "#progressbar" ).progressbar( "value", value );
+ element.progressbar( "value", value );
});
-
-})(jQuery);
diff --git a/tests/unit/progressbar/progressbar_methods.js b/tests/unit/progressbar/progressbar_methods.js
index 966c0c55a..89478b9b1 100644
--- a/tests/unit/progressbar/progressbar_methods.js
+++ b/tests/unit/progressbar/progressbar_methods.js
@@ -1,36 +1,17 @@
-/*
- * progressbar_methods.js
- */
-(function($) {
+module( "progressbar: methods" );
-module("progressbar: methods");
-
-test("init", function() {
- expect(1);
-
- $("<div></div>").appendTo('body').progressbar().remove();
- ok(true, '.progressbar() called on element');
-
-});
-
-test("destroy", function() {
- expect(2);
-
- $("<div></div>").appendTo('body').progressbar().progressbar("destroy").remove();
- ok(true, '.progressbar("destroy") called on element');
-
- var expected = $('<div></div>').progressbar(),
- actual = expected.progressbar('destroy');
- equal(actual, expected, 'destroy is chainable');
+test( "destroy", function() {
+ expect( 1 );
+ domEqual( "#progressbar", function() {
+ $( "#progressbar" ).progressbar().progressbar( "destroy" );
+ });
});
-test('value', function() {
- expect(3);
+test( "value", function() {
+ expect( 3 );
- var el = $('<div></div>').progressbar({ value: 20 });
- equal(el.progressbar('value'), 20, 'correct value as getter');
- equal(el.progressbar('value', 30), el, 'chainable as setter');
- equal(el.progressbar('option', 'value'), 30, 'correct value after setter');
+ var element = $( "<div>" ).progressbar({ value: 20 });
+ equal( element.progressbar( "value" ), 20, "correct value as getter" );
+ equal( element.progressbar( "value", 30), element, "chainable as setter" );
+ equal( element.progressbar( "option", "value" ), 30, "correct value after setter" );
});
-
-})(jQuery);
diff --git a/tests/unit/progressbar/progressbar_options.js b/tests/unit/progressbar/progressbar_options.js
index 815606ec6..f050fc5da 100644
--- a/tests/unit/progressbar/progressbar_options.js
+++ b/tests/unit/progressbar/progressbar_options.js
@@ -1,13 +1,8 @@
-/*
- * progressbar_options.js
- */
-(function($) {
+module( "progressbar: options" );
-module("progressbar: options");
-
-test("{ value : 0 }, default", function() {
- $("#progressbar").progressbar();
- deepEqual( 0, $("#progressbar").progressbar("value") );
+test( "{ value : 0 }, default", function() {
+ $( "#progressbar" ).progressbar();
+ equal( 0, $( "#progressbar" ).progressbar( "value" ) );
});
// Ticket #7231 - valueDiv should be hidden when value is at 0%
@@ -16,44 +11,47 @@ test( "value: visibility of valueDiv", function() {
var element = $( "#progressbar" ).progressbar({
value: 0
});
- ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ), "valueDiv hidden when value is initialized at 0" );
+ ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ),
+ "valueDiv hidden when value is initialized at 0" );
element.progressbar( "value", 1 );
- ok( element.children( ".ui-progressbar-value" ).is( ":visible" ), "valueDiv visible when value is set to 1" );
+ ok( element.children( ".ui-progressbar-value" ).is( ":visible" ),
+ "valueDiv visible when value is set to 1" );
element.progressbar( "value", 100 );
- ok( element.children( ".ui-progressbar-value" ).is( ":visible" ), "valueDiv visible when value is set to 100" );
+ ok( element.children( ".ui-progressbar-value" ).is( ":visible" ),
+ "valueDiv visible when value is set to 100" );
element.progressbar( "value", 0 );
- ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ), "valueDiv hidden when value is set to 0" );
+ ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ),
+ "valueDiv hidden when value is set to 0" );
element.progressbar( "value", -1 );
- ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ), "valueDiv hidden when value set to -1 (normalizes to 0)" );
+ ok( element.children( ".ui-progressbar-value" ).is( ":hidden" ),
+ "valueDiv hidden when value set to -1 (normalizes to 0)" );
});
-test("{ value : 5 }", function() {
- $("#progressbar").progressbar({
+test( "{ value : 5 }", function() {
+ $( "#progressbar" ).progressbar({
value: 5
});
- deepEqual( 5, $("#progressbar").progressbar("value") );
+ equal( 5, $( "#progressbar" ).progressbar( "value" ) );
});
-test("{ value : -5 }", function() {
- $("#progressbar").progressbar({
+test( "{ value : -5 }", function() {
+ $( "#progressbar" ).progressbar({
value: -5
});
- deepEqual( 0, $("#progressbar").progressbar("value") );
+ deepEqual( 0, $( "#progressbar" ).progressbar( "value" ) );
});
-test("{ value : 105 }", function() {
- $("#progressbar").progressbar({
+test( "{ value : 105 }", function() {
+ $( "#progressbar" ).progressbar({
value: 105
});
- deepEqual( 100, $("#progressbar").progressbar("value") );
+ deepEqual( 100, $( "#progressbar" ).progressbar( "value" ) );
});
-test("{ max : 5, value : 10 }", function() {
+test( "{ max : 5, value : 10 }", function() {
$("#progressbar").progressbar({
max: 5,
value: 10
});
- deepEqual( 5, $("#progressbar").progressbar("value") );
+ deepEqual( 5, $( "#progressbar" ).progressbar( "value" ) );
});
-
-})(jQuery);
diff --git a/tests/unit/tabs/tabs.html b/tests/unit/tabs/tabs.html
index b9fa507d8..3a55f3b79 100644
--- a/tests/unit/tabs/tabs.html
+++ b/tests/unit/tabs/tabs.html
@@ -31,6 +31,14 @@
<script src="tabs_options.js"></script>
<script src="../swarminject.js"></script>
+ <style>
+ #tabs8, #tabs8 * {
+ margin: 0;
+ padding: 0;
+ font-size: 12px;
+ line-height: 15px;
+ }
+ </style>
</head>
<body>
@@ -120,6 +128,23 @@
<div id="tabs7-1"></div>
</div>
+<div id="tabs8Wrapper">
+ <div id="tabs8">
+ <ul id="tabs8-list">
+ <li><a href="#tabs8-1">1</a></li>
+ <li><a href="#tabs8-2">2</a></li>
+ </ul>
+ <div id="tabs8-1">
+ <p>Lorem ipsum</p>
+ <p>Lorem ipsum</p>
+ <p>Lorem ipsum</p>
+ </div>
+ <div id="tabs8-2">
+ <p>Lorem ipsum</p>
+ </div>
+ </div>
+</div>
+
</div>
</body>
</html>
diff --git a/tests/unit/tabs/tabs_common.js b/tests/unit/tabs/tabs_common.js
index b98ff3575..a589515f8 100644
--- a/tests/unit/tabs/tabs_common.js
+++ b/tests/unit/tabs/tabs_common.js
@@ -4,6 +4,7 @@ TestHelpers.commonWidgetTests( "tabs", {
collapsible: false,
disabled: false,
event: "click",
+ heightStyle: "content",
hide: null,
show: null,
diff --git a/tests/unit/tabs/tabs_common_deprecated.js b/tests/unit/tabs/tabs_common_deprecated.js
index 718ae8272..5b41014da 100644
--- a/tests/unit/tabs/tabs_common_deprecated.js
+++ b/tests/unit/tabs/tabs_common_deprecated.js
@@ -7,6 +7,7 @@ TestHelpers.commonWidgetTests( "tabs", {
cookie: null,
disabled: false,
event: "click",
+ heightStyle: "content",
hide: null,
fx: null,
idPrefix: "ui-tabs-",
diff --git a/tests/unit/tabs/tabs_deprecated.html b/tests/unit/tabs/tabs_deprecated.html
index e58382efb..bb4088350 100644
--- a/tests/unit/tabs/tabs_deprecated.html
+++ b/tests/unit/tabs/tabs_deprecated.html
@@ -30,6 +30,14 @@
<script src="tabs_deprecated.js"></script>
<script src="../swarminject.js"></script>
+ <style>
+ #tabs8, #tabs8 * {
+ margin: 0;
+ padding: 0;
+ font-size: 12px;
+ line-height: 15px;
+ }
+ </style>
</head>
<body>
@@ -119,6 +127,23 @@
<div id="tabs7-1"></div>
</div>
+<div id="tabs8Wrapper">
+ <div id="tabs8">
+ <ul id="tabs8-list">
+ <li><a href="#tabs8-1">1</a></li>
+ <li><a href="#tabs8-2">2</a></li>
+ </ul>
+ <div id="tabs8-1">
+ <p>Lorem ipsum</p>
+ <p>Lorem ipsum</p>
+ <p>Lorem ipsum</p>
+ </div>
+ <div id="tabs8-2">
+ <p>Lorem ipsum</p>
+ </div>
+ </div>
+</div>
+
</div>
</body>
</html>
diff --git a/tests/unit/tabs/tabs_options.js b/tests/unit/tabs/tabs_options.js
index df6827c57..8365a42d7 100644
--- a/tests/unit/tabs/tabs_options.js
+++ b/tests/unit/tabs/tabs_options.js
@@ -1,6 +1,7 @@
(function( $ ) {
var disabled = TestHelpers.tabs.disabled,
+ equalHeight = TestHelpers.tabs.equalHeight,
state = TestHelpers.tabs.state;
module( "tabs: options" );
@@ -211,6 +212,72 @@ test( "{ event: custom }", function() {
state( element, 0, 1, 0 );
});
+test( "{ heightStyle: 'auto' }", function() {
+ expect( 2 );
+ var element = $( "#tabs8" ).tabs({ heightStyle: "auto" });
+ equalHeight( element, 45 );
+});
+
+test( "{ heightStyle: 'content' }", function() {
+ expect( 2 );
+ var element = $( "#tabs8" ).tabs({ heightStyle: "content" }),
+ sizes = element.find( ".ui-tabs-panel" ).map(function() {
+ return $( this ).height();
+ }).get();
+ equal( sizes[ 0 ], 45 );
+ equal( sizes[ 1 ], 15 );
+});
+
+test( "{ heightStyle: 'fill' }", function() {
+ expect( 2 );
+ $( "#tabs8Wrapper" ).height( 500 );
+ var element = $( "#tabs8" ).tabs({ heightStyle: "fill" });
+ equalHeight( element, 485 );
+});
+
+test( "{ heightStyle: 'fill' } with sibling", function() {
+ expect( 2 );
+ $( "#tabs8Wrapper" ).height( 500 );
+ $( "<p>Lorem Ipsum</p>" )
+ .css({
+ height: 50,
+ marginTop: 20,
+ marginBottom: 30
+ })
+ .prependTo( "#tabs8Wrapper" );
+ var element = $( "#tabs8" ).tabs({ heightStyle: "fill" });
+ equalHeight( element, 385 );
+});
+
+test( "{ heightStyle: 'fill' } with multiple siblings", function() {
+ expect( 2 );
+ $( "#tabs8Wrapper" ).height( 500 );
+ $( "<p>Lorem Ipsum</p>" )
+ .css({
+ height: 50,
+ marginTop: 20,
+ marginBottom: 30
+ })
+ .prependTo( "#tabs8Wrapper" );
+ $( "<p>Lorem Ipsum</p>" )
+ .css({
+ height: 50,
+ marginTop: 20,
+ marginBottom: 30,
+ position: "absolute"
+ })
+ .prependTo( "#tabs8Wrapper" );
+ $( "<p>Lorem Ipsum</p>" )
+ .css({
+ height: 25,
+ marginTop: 10,
+ marginBottom: 15
+ })
+ .prependTo( "#tabs8Wrapper" );
+ var element = $( "#tabs8" ).tabs({ heightStyle: "fill" });
+ equalHeight( element, 335 );
+});
+
// TODO: add animation tests
}( jQuery ) );
diff --git a/tests/unit/tabs/tabs_test_helpers.js b/tests/unit/tabs/tabs_test_helpers.js
index 508043943..0c9309186 100644
--- a/tests/unit/tabs/tabs_test_helpers.js
+++ b/tests/unit/tabs/tabs_test_helpers.js
@@ -38,6 +38,12 @@ TestHelpers.tabs = {
deepEqual( actual, expected );
},
+ equalHeight: function( tabs, height ) {
+ tabs.find( ".ui-tabs-panel" ).each(function() {
+ equal( $( this ).outerHeight(), height );
+ });
+ },
+
state: function( tabs ) {
var expected = $.makeArray( arguments ).slice( 1 ),
actual = tabs.find( ".ui-tabs-nav li" ).map(function() {
diff --git a/tests/unit/testsuite.js b/tests/unit/testsuite.js
index 33a9a2c99..3c8ec04c4 100644
--- a/tests/unit/testsuite.js
+++ b/tests/unit/testsuite.js
@@ -138,32 +138,63 @@ TestHelpers.commonWidgetTests = function( widget, settings ) {
/*
* Experimental assertion for comparing DOM objects.
*
- * Serializes an element and some attributes and it's children if any, otherwise the text.
+ * Serializes an element and some properties and attributes and it's children if any, otherwise the text.
* Then compares the result using deepEqual.
*/
window.domEqual = function( selector, modifier, message ) {
var expected, actual,
- attributes = ["class", "role", "id", "tabIndex", "aria-activedescendant"];
-
- function extract(value) {
- if (!value || !value.length) {
- QUnit.push( false, actual, expected, "domEqual failed, can't extract " + selector + ", message was: " + message );
+ properties = [
+ "disabled",
+ "readOnly"
+ ],
+ attributes = [
+ "autocomplete",
+ "aria-activedescendant",
+ "aria-controls",
+ "aria-describedby",
+ "aria-disabled",
+ "aria-expanded",
+ "aria-haspopup",
+ "aria-hidden",
+ "aria-labelledby",
+ "aria-pressed",
+ "aria-selected",
+ "aria-valuemax",
+ "aria-valuemin",
+ "aria-valuenow",
+ "class",
+ "href",
+ "id",
+ "nodeName",
+ "role",
+ "tabIndex",
+ "title"
+ ];
+
+ function extract( elem ) {
+ if ( !elem || !elem.length ) {
+ QUnit.push( false, actual, expected,
+ "domEqual failed, can't extract " + selector + ", message was: " + message );
return;
}
+
var children,
result = {};
- result.nodeName = value[0].nodeName;
- $.each(attributes, function(index, attr) {
- result[attr] = value.prop(attr);
+ $.each( properties, function( index, attr ) {
+ var value = elem.prop( attr );
+ result[ attr ] = value !== undefined ? value : "";
});
- result.children = [];
- children = value.children();
- if (children.length) {
- children.each(function() {
- result.children.push(extract($(this)));
- });
+ $.each( attributes, function( index, attr ) {
+ var value = elem.attr( attr );
+ result[ attr ] = value !== undefined ? value : "";
+ });
+ children = elem.children();
+ if ( children.length ) {
+ result.children = elem.children().map(function( ind ) {
+ return extract( $( this ) );
+ }).get();
} else {
- result.text = value.text();
+ result.text = elem.text();
}
return result;
}
diff --git a/tests/visual/menu/menu.html b/tests/visual/menu/menu.html
index f92de61db..5bda32eae 100644
--- a/tests/visual/menu/menu.html
+++ b/tests/visual/menu/menu.html
@@ -15,7 +15,7 @@
$( "<p>" ).text( "Selected: " + ui.item.text() ).appendTo( "#log" );
}
- $( "#menu1, #menu2, #menu3, .menu4" ).menu({
+ $( "#menu1, #menu2, #menu3, .menu4, #menu7" ).menu({
select: logger
});
@@ -58,7 +58,6 @@
<li><a href="#">Ada</a></li>
<li><a href="#">Adamsville</a></li>
<li><a href="#">Addyston</a></li>
- <li></li>
<li>
<a href="#">Delphi</a>
<ul>
@@ -257,6 +256,54 @@
</div>
</div>
+<h2>Inline with dividers and elements without anchors</h2>
+<ul id="menu7">
+ <li><strong>Group 1</strong></li>
+ <li><a href="#">Aberdeen</a></li>
+ <li><a href="#">Ada</a></li>
+ <li><a href="#">Adamsville</a></li>
+ <li><a href="#">Addyston</a></li>
+ <li></li>
+ <li><strong>Group 2</strong></li>
+ <li>
+ <a href="#">Delphi</a>
+ <ul>
+ <li><a href="#">Ada</a></li>
+ <li><a href="#">Saarland</a></li>
+ <li><a href="#">Salzburg</a></li>
+ </ul>
+ </li>
+ <li><a href="#">Saarland</a></li>
+ <li>---</li>
+ <li><strong>Group 3</strong></li>
+ <li>
+ <a href="#">Salzburg</a>
+ <ul>
+ <li>
+ <a href="#">Delphi</a>
+ <ul>
+ <li><a href="#">Ada</a></li>
+ <li> - </li>
+ <li><a href="#">Saarland</a></li>
+ <li>&mdash;</li>
+ <li><a href="#">Salzburg</a></li>
+ <li>&ndash;</li>
+ </ul>
+ </li>
+ <li>
+ <a href="#">Delphi</a>
+ <ul>
+ <li><a href="#">Ada</a></li>
+ <li><a href="#">Saarland</a></li>
+ <li><a href="#">Salzburg</a></li>
+ </ul>
+ </li>
+ <li><a href="#">Perch</a></li>
+ </ul>
+ </li>
+ <li><a href="#">Amesville</a></li>
+</ul>
+
<div style="position: absolute; top: 1em; right: 1em;">
Log:
<div id="log" style="height: 400px; width: 300px; overflow: auto; border: 1px solid #000;"></div>