diff options
Diffstat (limited to 'tests/unit/autocomplete/autocomplete_options.js')
-rw-r--r-- | tests/unit/autocomplete/autocomplete_options.js | 348 |
1 files changed, 174 insertions, 174 deletions
diff --git a/tests/unit/autocomplete/autocomplete_options.js b/tests/unit/autocomplete/autocomplete_options.js index 1b6857b22..5a3a7d732 100644 --- a/tests/unit/autocomplete/autocomplete_options.js +++ b/tests/unit/autocomplete/autocomplete_options.js @@ -1,174 +1,174 @@ -/*
- * autocomplete_options.js
- */
-(function($) {
-
-module("autocomplete: options");
-
-
-/* disabled until autocomplete actually has built-in support for caching
-// returns at most 4 items
-function source(request) {
- ok(true, "handling a request");
- switch(request.term) {
- case "cha":
- return ["Common Pochard", "Common Chiffchaff", "Common Chaffinch", "Iberian Chiffchaff"]
- case "chaf":
- case "chaff":
- return ["Common Chiffchaff", "Common Chaffinch", "Iberian Chiffchaff"]
- case "chaffi":
- return ["Common Chaffinch"]
- case "schi":
- return ["schifpre"]
- }
-}
-
-function search(input) {
- var autocomplete = input.data("autocomplete");
- autocomplete.search("cha");
- autocomplete.close();
- autocomplete.search("chaf");
- autocomplete.close();
- autocomplete.search("chaff");
- autocomplete.close();
- autocomplete.search("chaffi");
- autocomplete.close();
- autocomplete.search("schi");
-}
-
-test("cache: default", function() {
- expect(2);
- search($("#autocomplete").autocomplete({
- source: source
- }));
-});
-
-test("cache: {limit:4}", function() {
- expect(3);
- search($("#autocomplete").autocomplete({
- cache: {
- limit: 4
- },
- source: source
- }));
-});
-
-test("cache: false", function() {
- expect(5);
- search($("#autocomplete").autocomplete({
- cache: false,
- source: source
- }));
-});
-*/
-
-var data = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "pearl"];
-
-test("delay", function() {
- var ac = $("#autocomplete").autocomplete({
- source: data,
- delay: 50
- });
- ac.val("ja").keydown();
-
- same( $(".ui-menu").length, 0 );
-
- // wait half a second for the default delay to open the menu
- stop();
- setTimeout(function() {
- same( $(".ui-menu").length, 1 );
- ac.autocomplete("destroy");
- start();
- }, 100);
-});
-
-test("minLength", function() {
- var ac = $("#autocomplete").autocomplete({
- source: data
- });
- ac.autocomplete("search", "");
- same( $(".ui-menu").length, 0, "blank not enough for minLength: 1" );
-
- ac.autocomplete("option", "minLength", 0);
- ac.autocomplete("search", "");
- same( $(".ui-menu").length, 1, "blank enough for minLength: 0" );
- ac.autocomplete("destroy");
-});
-
-test("source, local string array", function() {
- var ac = $("#autocomplete").autocomplete({
- source: data
- });
- ac.val("ja").autocomplete("search");
- same( $(".ui-menu .ui-menu-item").text(), "javajavascript" );
- ac.autocomplete("destroy");
-});
-
-function source_test(source, async) {
- var ac = $("#autocomplete").autocomplete({
- source: source
- });
- ac.val("ja").autocomplete("search");
- function result(){
- same( $(".ui-menu .ui-menu-item").text(), "javajavascript" );
- ac.autocomplete("destroy");
- async && start();
- }
- if (async) {
- stop();
- setTimeout(result, 100);
- } else {
- result();
- }
-}
-
-test("source, local object array, only label property", function() {
- source_test([
- {label:"java"},
- {label:"php"},
- {label:"coldfusion"},
- {label:"javascript"}
- ]);
-});
-
-test("source, local object array, only value property", function() {
- source_test([
- {value:"java"},
- {value:"php"},
- {value:"coldfusion"},
- {value:"javascript"}
- ]);
-});
-
-test("source, url string with remote json string array", function() {
- source_test("remote_string_array.txt", true);
-});
-
-test("source, url string with remote json object array, only value properties", function() {
- source_test("remote_object_array_values.txt", true);
-});
-
-test("source, url string with remote json object array, only label properties", function() {
- source_test("remote_object_array_labels.txt", true);
-});
-
-test("source, custom", function() {
- source_test(function(request, response) {
- same( request.term, "ja" );
- response(["java", "javascript"]);
- });
-});
-
-test("source, update after init", function() {
- var ac = $("#autocomplete").autocomplete({
- source: ["java", "javascript", "haskell"]
- });
- ac.val("ja").autocomplete("search");
- same( $(".ui-menu .ui-menu-item").text(), "javajavascript" );
- ac.autocomplete("option", "source", ["php", "asp"]);
- ac.val("ph").autocomplete("search");
- same( $(".ui-menu .ui-menu-item").text(), "php" );
- ac.autocomplete("destroy");
-});
-
-})(jQuery);
+/* + * autocomplete_options.js + */ +(function($) { + +module("autocomplete: options"); + + +/* disabled until autocomplete actually has built-in support for caching +// returns at most 4 items +function source(request) { + ok(true, "handling a request"); + switch(request.term) { + case "cha": + return ["Common Pochard", "Common Chiffchaff", "Common Chaffinch", "Iberian Chiffchaff"] + case "chaf": + case "chaff": + return ["Common Chiffchaff", "Common Chaffinch", "Iberian Chiffchaff"] + case "chaffi": + return ["Common Chaffinch"] + case "schi": + return ["schifpre"] + } +} + +function search(input) { + var autocomplete = input.data("autocomplete"); + autocomplete.search("cha"); + autocomplete.close(); + autocomplete.search("chaf"); + autocomplete.close(); + autocomplete.search("chaff"); + autocomplete.close(); + autocomplete.search("chaffi"); + autocomplete.close(); + autocomplete.search("schi"); +} + +test("cache: default", function() { + expect(2); + search($("#autocomplete").autocomplete({ + source: source + })); +}); + +test("cache: {limit:4}", function() { + expect(3); + search($("#autocomplete").autocomplete({ + cache: { + limit: 4 + }, + source: source + })); +}); + +test("cache: false", function() { + expect(5); + search($("#autocomplete").autocomplete({ + cache: false, + source: source + })); +}); +*/ + +var data = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "pearl"]; + +test("delay", function() { + var ac = $("#autocomplete").autocomplete({ + source: data, + delay: 50 + }); + ac.val("ja").keydown(); + + same( $(".ui-menu").length, 0 ); + + // wait half a second for the default delay to open the menu + stop(); + setTimeout(function() { + same( $(".ui-menu").length, 1 ); + ac.autocomplete("destroy"); + start(); + }, 100); +}); + +test("minLength", function() { + var ac = $("#autocomplete").autocomplete({ + source: data + }); + ac.autocomplete("search", ""); + same( $(".ui-menu").length, 0, "blank not enough for minLength: 1" ); + + ac.autocomplete("option", "minLength", 0); + ac.autocomplete("search", ""); + same( $(".ui-menu").length, 1, "blank enough for minLength: 0" ); + ac.autocomplete("destroy"); +}); + +test("source, local string array", function() { + var ac = $("#autocomplete").autocomplete({ + source: data + }); + ac.val("ja").autocomplete("search"); + same( $(".ui-menu .ui-menu-item").text(), "javajavascript" ); + ac.autocomplete("destroy"); +}); + +function source_test(source, async) { + var ac = $("#autocomplete").autocomplete({ + source: source + }); + ac.val("ja").autocomplete("search"); + function result(){ + same( $(".ui-menu .ui-menu-item").text(), "javajavascript" ); + ac.autocomplete("destroy"); + async && start(); + } + if (async) { + stop(); + setTimeout(result, 100); + } else { + result(); + } +} + +test("source, local object array, only label property", function() { + source_test([ + {label:"java"}, + {label:"php"}, + {label:"coldfusion"}, + {label:"javascript"} + ]); +}); + +test("source, local object array, only value property", function() { + source_test([ + {value:"java"}, + {value:"php"}, + {value:"coldfusion"}, + {value:"javascript"} + ]); +}); + +test("source, url string with remote json string array", function() { + source_test("remote_string_array.txt", true); +}); + +test("source, url string with remote json object array, only value properties", function() { + source_test("remote_object_array_values.txt", true); +}); + +test("source, url string with remote json object array, only label properties", function() { + source_test("remote_object_array_labels.txt", true); +}); + +test("source, custom", function() { + source_test(function(request, response) { + same( request.term, "ja" ); + response(["java", "javascript"]); + }); +}); + +test("source, update after init", function() { + var ac = $("#autocomplete").autocomplete({ + source: ["java", "javascript", "haskell"] + }); + ac.val("ja").autocomplete("search"); + same( $(".ui-menu .ui-menu-item").text(), "javajavascript" ); + ac.autocomplete("option", "source", ["php", "asp"]); + ac.val("ph").autocomplete("search"); + same( $(".ui-menu .ui-menu-item").text(), "php" ); + ac.autocomplete("destroy"); +}); + +})(jQuery); |