r787 - branches/1.7/tests

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>&lt;Pan&gt;</em>", "Pe"), "<strong>Pe</strong>ter <em>&lt;Pan&gt;</em>"
);
-    equals( jQuery.Autocompleter.defaults.highlight("Peter
<em>&lt;Pan&gt;</em>", "a"), "Peter <em>&lt;P<strong>a</strong>n&gt;</em>"
);
-    equals( jQuery.Autocompleter.defaults.highlight("Peter
<em>(&lt;Pan&gt;)</em>", "(&lt;P"), "Peter
<em><strong>(&lt;P</strong>an&gt;)</em>" );
+    equals(
$.ui.autocomplete.defaults.highlight("Peter", "Pe"), "<strong>Pe</strong>ter"
);
+    equals( $.ui.autocomplete.defaults.highlight("Peter
<em>&lt;Pan&gt;</em>", "Pe"), "<strong>Pe</strong>ter <em>&lt;Pan&gt;</em>"
);
+    equals( $.ui.autocomplete.defaults.highlight("Peter
<em>&lt;Pan&gt;</em>", "a"), "Peter <em>&lt;P<strong>a</strong>n&gt;</em>"
);
+    equals( $.ui.autocomplete.defaults.highlight("Peter
<em>(&lt;Pan&gt;)</em>", "(&lt;P"), "Peter
<em><strong>(&lt;P</strong>an&gt;)</em>" );
});
+