r787 - branches/1.7/tests
Author: pazu2k@gmail.com
Date: Tue Oct 7 11:00:54 2008
New Revision: 787
Modified:
branches/1.7/tests/autocomplete.js
Log:
Autocomplete: Added basic tests
Modified: branches/1.7/tests/autocomplete.js
==============================================================================
--- branches/1.7/tests/autocomplete.js (original)
+++ branches/1.7/tests/autocomplete.js Tue Oct 7 11:00:54 2008
@@ -23,7 +23,7 @@
test("destroy", function() {
expect(6);
- $("#autocomplete").autocomplete().autocomplete("destroy");
+ $("#autocomplete").autocomplete().autocomplete("destroy");
ok(true, '.autocomplete("destroy") called on element');
$([]).autocomplete().autocomplete("destroy");
@@ -42,10 +42,75 @@
ok(true, 'arbitrary option setter after destroy');
});
+test("re-attach", function() {
+ expect(2);
+
+ el =
$("#autocomplete").autocomplete().autocomplete("destroy").autocomplete();
+ ok(true, '.autocomplete().autocomplete("destroy").autocomplete() called
on element');
+
+ $('<input
id="autocomplete_dis">').autocomplete().autocomplete("destroy").autocomplete().remove();
+ ok(true, '.autocomplete().autocomplete("destroy").autocomplete() called
on disconnected element');
+
+});
+
+test("disable", function() {
+ expect(1);
+
+ $("#autocomplete").autocomplete().autocomplete("disable");
+ ok(true, '.autocomplete("disable") called on element');
+
+});
+
+test("enable", function() {
+ expect(1);
+
+
$("#autocomplete").autocomplete().autocomplete("disable").autocomplete("enable");
+ ok(true, '.autocomplete("enable") called on element');
+
+});
+
+test("defaults", function() {
+ expect(19);
+ el = $("#autocomplete").autocomplete();
+
+ var formatItem = function (row) { return row[0]; }.toString();
+ var highlight = function (value, term) { return value.replace(new
RegExp("(?![^&;]+;)(?!<[^<>]*)(" +
term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1")
+ ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"); }.toString();
+
+ equals(el.data("minChars.autocomplete"), 1, "minChars");
+ equals(el.data("delay.autocomplete"), 10, "delay");
+ equals(el.data("cacheLength.autocomplete"), 10, "cacheLength");
+ equals(el.data("matchSubset.autocomplete"), true, "matchSubset");
+ equals(el.data("matchCase.autocomplete"), false, "matchCase");
+ equals(el.data("matchContains.autocomplete"), false, "matchContains");
+ equals(el.data("mustMatch.autocomplete"), false, "mustMatch");
+ equals(el.data("selectFirst.autocomplete"), true, "selectFirst");
+ equals(el.data("formatItem.autocomplete"), formatItem, "formatItem");
+ equals(el.data("formatMatch.autocomplete"), formatItem, "formatMatch");
+ equals(el.data("formatResult.autocomplete"), undefined, "formatResult");
+ equals(el.data("multiple.autocomplete"), false, "multiple");
+
equals(el.data("multipleSeparator.autocomplete"), ", ", "multipleSeparator");
+ equals(el.data("width.autocomplete"), "", "width");
+ equals(el.data("autoFill.autocomplete"), false, "autoFill");
+ equals(el.data("max.autocomplete"), 150, "max");
+ equals(el.data("highlight.autocomplete"), highlight, "highlight");
+ equals(el.data("scroll.autocomplete"), true, "scroll");
+ equals(el.data("scrollHeight.autocomplete"), 180, "scrollHeight");
+
+});
+
+test("set defaults on init", function() {
+ expect(2);
+ el = $("#autocomplete").autocomplete({ scroll: false });
+
+ equals(el.data("scroll.autocomplete"), false, "scroll");
+ equals(el.data("max.autocomplete"), 10, "max");
+
+});
test("highlighter", function() {
- equals(
jQuery.Autocompleter.defaults.highlight("Peter", "Pe"), "<strong>Pe</strong>ter"
);
- equals( jQuery.Autocompleter.defaults.highlight("Peter
<em><Pan></em>", "Pe"), "<strong>Pe</strong>ter <em><Pan></em>"
);
- equals( jQuery.Autocompleter.defaults.highlight("Peter
<em><Pan></em>", "a"), "Peter <em><P<strong>a</strong>n></em>"
);
- equals( jQuery.Autocompleter.defaults.highlight("Peter
<em>(<Pan>)</em>", "(<P"), "Peter
<em><strong>(<P</strong>an>)</em>" );
+ equals(
$.ui.autocomplete.defaults.highlight("Peter", "Pe"), "<strong>Pe</strong>ter"
);
+ equals( $.ui.autocomplete.defaults.highlight("Peter
<em><Pan></em>", "Pe"), "<strong>Pe</strong>ter <em><Pan></em>"
);
+ equals( $.ui.autocomplete.defaults.highlight("Peter
<em><Pan></em>", "a"), "Peter <em><P<strong>a</strong>n></em>"
);
+ equals( $.ui.autocomplete.defaults.highlight("Peter
<em>(<Pan>)</em>", "(<P"), "Peter
<em><strong>(<P</strong>an>)</em>" );
});
+