Selectmenu: added option unit tests

This commit is contained in:
Dan Wellman 2011-11-25 10:32:44 +00:00
parent 63d77ae477
commit fce4725a8a

View File

@ -1,7 +1,62 @@
(function( $ ) {
(function ($) {
module( "selectmenu: options" );
module("selectmenu: options", {
setup: function () {
this.element = $("#speed");
this.element.selectmenu();
}
});
test("{ appendTo: default }", function () {
expect(1);
equals(this.element.selectmenu("option", "appendTo"), "body", "should be appended to <body> by default");
});
})( jQuery );
test("appendTo another element", function () {
expect(1);
ok(this.element.selectmenu("option", "appendTo", "#qunit-fixture"), "appendTo accepts selector");
});
test("{ dropdown: default }", function () {
expect(1);
equals(this.element.selectmenu("option", "dropdown"), true, "should be true by default");
});
test("dropdown false", function () {
expect(1);
ok(this.element.selectmenu("option", "dropdown", false), "accepts false");
});
test("{ position: default }", function () {
expect(4);
var pos = this.element.selectmenu("option", "position");
ok(typeof (pos) === "object", "position should be of type 'object'");
equals(pos.my, "left top", "my should be 'left top' by default");
equals(pos.at, "left bottom", "at should be 'left bottom' by default");
equals(pos.collision, "none", "collision should be 'none' by default")
});
test("{ value: default }", function () {
expect(1);
equals(this.element.selectmenu("option", "value"), "Medium", "should reflect selected value of underlying select");
});
test("value in sync with selected item", function () {
expect(1);
var widget = this.element.selectmenu("widget"),
menu = widget.filter(".ui-selectmenu-menu");
menu.find(".ui-menu-item").eq(0).simulate("click");
equals(this.element.selectmenu("option", "value"), "Slower", "should be set to first option");
});
})(jQuery);