r829 - in branches: 1.7/tests experimental/tests
Author: paul.bakaus
Date: Thu Oct 23 06:45:37 2008
New Revision: 829
Added:
branches/experimental/tests/autocomplete.html
branches/experimental/tests/autocomplete.js
Removed:
branches/1.7/tests/autocomplete.html
branches/1.7/tests/autocomplete.js
Modified:
branches/experimental/tests/ (props changed)
Log:
autocomplete: moved autocomplete from 1.7 to experimental
Added: branches/experimental/tests/autocomplete.html
==============================================================================
--- (empty file)
+++ branches/experimental/tests/autocomplete.html Thu Oct 23 06:45:37 2008
@@ -0,0 +1,29 @@
+<!doctype html>
+<html lang="en">
+<head>
+
+ <link rel="stylesheet" href="qunit/testsuite.css" type="text/css"
media="screen">
+
+ <script type="text/javascript"
src="../../../trunk/jquery-1.2.6.js"></script>
+ <script type="text/javascript"
src="../../../trunk/ui/ui.core.js"></script>
+ <script type="text/javascript" src="../ui.autocomplete.js"></script>
+
+ <script type="text/javascript" src="qunit/testrunner.js"></script>
+ <script type="text/javascript" src="simulate/jquery.simulate.js"></script>
+
+ <script type="text/javascript" src="autocomplete.js"></script>
+
+</head>
+
+<body>
+<h1>jQuery - Autocomplete Test Suite</h1>
+<div id="main" style="display: none">
+
+ <input type="text" name="autocomplete" value="" id="autocomplete">
+
+</div>
+
+<ol id="tests"></ol>
+</body>
+
+</html>
Added: branches/experimental/tests/autocomplete.js
==============================================================================
--- (empty file)
+++ branches/experimental/tests/autocomplete.js Thu Oct 23 06:45:37 2008
@@ -0,0 +1,116 @@
+test("init", function() {
+ expect(6);
+
+ el = $("#autocomplete").autocomplete();
+ ok(true, '.autocomplete() called on element');
+
+ $([]).autocomplete();
+ ok(true, '.autocomplete() called on empty collection');
+
+ $("<input/>").autocomplete();
+ ok(true, '.autocomplete() called on disconnected DOMElement');
+
+ $("<input/>").autocomplete().autocomplete("foo");
+ ok(true, 'arbitrary method called after init');
+
+ $("<input/>").autocomplete().data("foo.autocomplete");
+ ok(true, 'arbitrary option getter after init');
+
+ $("<input/>").autocomplete().data("foo.autocomplete", "bar");
+ ok(true, 'arbitrary option setter after init');
+});
+
+test("destroy", function() {
+ expect(6);
+
+ $("#autocomplete").autocomplete().autocomplete("destroy");
+ ok(true, '.autocomplete("destroy") called on element');
+
+ $([]).autocomplete().autocomplete("destroy");
+ ok(true, '.autocomplete("destroy") called on empty collection');
+
+ $("<input/>").autocomplete().autocomplete("destroy");
+ ok(true, '.autocomplete("destroy") called on disconnected DOMElement');
+
+ $("<input/>").autocomplete().autocomplete("destroy").autocomplete("foo");
+ ok(true, 'arbitrary method called after destroy');
+
+
$("<input/>").autocomplete().autocomplete("destroy").data("foo.autocomplete");
+ ok(true, 'arbitrary option getter after destroy');
+
+
$("<input/>").autocomplete().autocomplete("destroy").data("foo.autocomplete", "bar");
+ 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(
$.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>" );
+});
+