Skip to content
Permalink
Browse files

Selectmenu tests: improve appendTo option tests

  • Loading branch information
fnagel committed Dec 15, 2012
1 parent 930e9d5 commit ae68ab8118d68ff7cd5114058d0243b6b0970ca8
Showing with 48 additions and 12 deletions.
  1. +11 −8 tests/unit/selectmenu/selectmenu.html
  2. +37 −4 tests/unit/selectmenu/selectmenu_options.js
@@ -37,15 +37,18 @@ <h2 id="qunit-banner"></h2>
<h2 id="qunit-userAgent"></h2>
<ol id="qunit-tests"></ol>
<div id="qunit-fixture">
<div id="sm-wrap1" class="sm-wrap"></div>

<label for="speed">Select a speed:</label>
<select name="speed" id="speed">
<option value="Slower">Slower</option>
<option value="Slow">Slow</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Fast">Fast</option>
<option value="Faster">Faster</option>
</select>
<div id="sm-wrap2" class="sm-wrap">
<label for="speed">Select a speed:</label>
<select name="speed" id="speed">
<option value="Slower">Slower</option>
<option value="Slow">Slow</option>
<option value="Medium" selected="selected">Medium</option>
<option value="Fast">Fast</option>
<option value="Faster">Faster</option>
</select>
</div>

<label for="number">Select a number:</label>
<select name="number" id="number">
@@ -3,12 +3,45 @@
module("selectmenu: options");

test("appendTo another element", function () {
expect(2);
expect( 8 );

var detached = $( "<div>" ),
element = $("#speed").selectmenu();
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], document.body, "defaults to body" );
element.selectmenu( "destroy" );

element.selectmenu({
appendTo: ".sm-wrap"
});
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], $( "#sm-wrap1" )[0], "first found element" );
equal( $( "#sm-wrap2 .ui-selectmenu" ).length, 0, "only appends to one element" );
element.selectmenu( "destroy" );

$( "#sm-wrap2" ).addClass( "ui-front" );
element.selectmenu();
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], $( "#sm-wrap2" )[0], "null, inside .ui-front" );
element.selectmenu( "destroy" );
$( "#sm-wrap2" ).removeClass( "ui-front" );

element.selectmenu().selectmenu( "option", "appendTo", "#sm-wrap1" );
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], $( "#sm-wrap1" )[0], "modified after init" );
element.selectmenu( "destroy" );

element.selectmenu({
appendTo: detached
});
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], detached[0], "detached jQuery object" );
element.selectmenu( "destroy" );

var element = $("#speed").selectmenu();
element.selectmenu({
appendTo: detached[0]
});
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], detached[0], "detached DOM element" );
element.selectmenu( "destroy" );

ok(element.selectmenu("option", "appendTo", "#qunit-fixture"), "appendTo accepts selector");
ok($("#qunit-fixture").find(".ui-selectmenu-menu").length, "selectmenu appendedTo other element");
element.selectmenu().selectmenu( "option", "appendTo", detached );
equal( element.selectmenu( "menuWidget" ).parent().parent()[0], detached[0], "detached DOM element via option()" );
element.selectmenu( "destroy" );
});


0 comments on commit ae68ab8

Please sign in to comment.
You can’t perform that action at this time.