Permalink
Browse files

Selectmenu tests: improve appendTo option tests

  • Loading branch information...
1 parent 930e9d5 commit ae68ab8118d68ff7cd5114058d0243b6b0970ca8 @fnagel fnagel committed Dec 15, 2012
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.