source: main/trunk/greenstone3/web/interfaces/oran/js/jquery-ui-1.8rc1/tests/unit/autocomplete/autocomplete_events.js@ 24245

Last change on this file since 24245 was 24245, checked in by sjb48, 13 years ago

Oran code for supporting format changes to document.

  • Property svn:executable set to *
File size: 2.7 KB
Line 
1/*
2 * autocomplete_events.js
3 */
4(function($) {
5
6module("autocomplete: events");
7
8var data = ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "pearl"];
9
10test("all events", function() {
11 expect(11);
12 var ac = $("#autocomplete").autocomplete({
13 delay: 0,
14 source: data,
15 search: function(event) {
16 same(event.type, "autocompletesearch");
17 },
18 open: function(event) {
19 same(event.type, "autocompleteopen");
20 },
21 focus: function(event, ui) {
22 same(event.type, "autocompletefocus");
23 same(ui.item, {label:"java", value:"java"});
24 },
25 close: function(event) {
26 same(event.type, "autocompleteclose");
27 same( $(".ui-menu").length, 1 );
28 },
29 select: function(event, ui) {
30 same(event.type, "autocompleteselect");
31 same(ui.item, {label:"java", value:"java"});
32 },
33 change: function(event) {
34 same(event.type, "autocompletechange");
35 same( $(".ui-menu").length, 0 );
36 }
37 });
38 stop();
39 ac.val("ja").keydown();
40 setTimeout(function() {
41 same( $(".ui-menu").length, 1 );
42 ac.simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
43 ac.simulate("keydown", { keyCode: $.ui.keyCode.ENTER });
44 start();
45 }, 50);
46});
47
48test("cancel search", function() {
49 expect(6);
50 var first = true;
51 var ac = $("#autocomplete").autocomplete({
52 delay: 0,
53 source: data,
54 search: function() {
55 if (first) {
56 same( ac.val(), "ja" );
57 first = false;
58 return false;
59 }
60 same( ac.val(), "java" );
61 },
62 open: function() {
63 ok(true);
64 }
65 });
66 stop();
67 ac.val("ja").keydown();
68 setTimeout(function() {
69 same( $(".ui-menu").length, 0 );
70 ac.val("java").keydown();
71 setTimeout(function() {
72 same( $(".ui-menu").length, 1 );
73 same( $(".ui-menu .ui-menu-item").length, 2 );
74 start();
75 }, 50);
76 }, 50);
77});
78
79test("cancel focus", function() {
80 expect(1);
81 var customVal = 'custom value';
82 var ac = $("#autocomplete").autocomplete({
83 delay: 0,
84 source: data,
85 focus: function(event, ui) {
86 $(this).val(customVal);
87 return false;
88 }
89 });
90 stop();
91 ac.val("ja").keydown();
92 setTimeout(function() {
93 ac.simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
94 same( ac.val(), customVal );
95 start();
96 }, 50);
97});
98
99test("cancel select", function() {
100 expect(1);
101 var customVal = 'custom value';
102 var ac = $("#autocomplete").autocomplete({
103 delay: 0,
104 source: data,
105 select: function(event, ui) {
106 $(this).val(customVal);
107 return false;
108 }
109 });
110 stop();
111 ac.val("ja").keydown();
112 setTimeout(function() {
113 ac.simulate("keydown", { keyCode: $.ui.keyCode.DOWN });
114 ac.simulate("keydown", { keyCode: $.ui.keyCode.ENTER });
115 same( ac.val(), customVal );
116 start();
117 }, 50);
118});
119
120})(jQuery);
Note: See TracBrowser for help on using the repository browser.