source: Dev/trunk/src/client/dojox/mobile/tests/test_ComboBox.html

Last change on this file was 483, checked in by hendrikvanantwerpen, 11 years ago

Added Dojo 1.9.3 release.

File size: 7.5 KB
Line 
1<!DOCTYPE html>
2<html>
3<head>
4        <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
5        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
6        <title>mobile ComboBox tests</title>
7
8        <style type="text/css">
9                @import "../themes/iphone/TextBox.css";
10                @import "../themes/iphone/ComboBox.css";
11        </style>
12
13        <script type="text/javascript" src="../../../dojo/dojo.js"
14                data-dojo-config="parseOnLoad: true, isDebug: true"></script>
15
16        <script type="text/javascript">
17                dojo.require("doh.runner");
18                dojo.require("dojox.mobile");                   // This is a mobile app.
19                dojo.require("dojox.mobile.parser");    // This mobile app supports running on desktop browsers
20                dojo.require("dojox.mobile.compat");    // This mobile app uses declarative programming with fast mobile parser
21                dojo.require("dijit.form.DataList");
22                dojo.require("dojox.mobile.ComboBox");
23
24                dojo.ready(function(){
25
26                        doh.register("attributes", [
27                                {
28                                        name: "mobile",
29                                        runTest: function(){
30                                                var widget = dijit.byId('mobile_attributes');
31                                                doh.is("", widget.textbox.value, "mobile original value");
32                                                doh.is("", widget.get('value'), "mobile original get('value')");
33                                                doh.is(Infinity, widget.get('pageSize'), "mobile original get('pageSize')");
34                                                widget.set('pageSize', 9);
35                                                widget.set('value', "test");
36                                                doh.is("test", widget.textbox.value, "mobile value");
37                                                doh.is("test", widget.get('value'), "mobile get('value')");
38                                                doh.is(9, widget.get('pageSize'), "mobile get('pageSize')");
39                                        }
40                                }
41                        ]);
42
43                        var d, focusHandle, blurHandle, widget, nop = function(){ return false; };
44                        doh.register("events", [
45                                {
46                                        name: "mobile",
47                                        timeout: 2000,
48                                        runTest: function(){
49                                                d = new doh.Deferred();
50                                                widget = dijit.byId('mobile_events');
51
52                                                function onFocus(){
53                                                        widget.disconnect(focusHandle);
54                                                        focusHandle = null;
55                                                        widget.set('displayedValue', "Focus");
56                                                        blurHandle = widget.connect(widget.textbox, 'onblur', onBlur);
57                                                        dojo.byId('blurry').focus();
58                                                }
59                                                function onBlur(){
60                                                        widget.disconnect(blurHandle);
61                                                        blurHandle = null;
62                                                        widget.set('onChange', onChange);
63                                                        widget.set('displayedValue', widget.get('displayedValue')+"Blur");
64                                                }
65                                                function onChange(){
66                                                        widget.set('onChange', nop);
67                                                        d.getTestCallback(function(){
68                                                                doh.is("FocusBlur", widget.textbox.value);
69                                                        })();
70                                                }
71                                                doh.is(nop.toString(), widget.get('onChange').toString(), "get('onChange')");
72                                                focusHandle = widget.connect(widget, 'openDropDown', onFocus);
73                                                setTimeout(dojo.hitch(widget, "focus"), 0);
74
75                                                return d;
76                                        },
77                                        tearDown: function(){
78                                                d.cancel();
79                                                if(blurHandle){ widget.disconnect(blurHandle); }
80                                                if(focusHandle){ widget.disconnect(focusHandle); }
81                                                widget.closeDropDown();
82                                        }
83                                }
84                        ]);
85
86                        doh.register("programmatic", [
87                                {
88                                        name: "mobile",
89                                        timeout: 4000,
90                                        runTest: function(){
91                                                widget = new dojox.mobile.ComboBox({id:"mobile_programmatic", list:"states", value:"Alabama" });
92                                                widget.placeAt("mobile_programmatic_container", "first");
93                                                focusHandle = widget.connect(widget, 'openDropDown',
94                                                        function(){
95                                                                d.getTestCallback(function(){
96                                                                        widget.disconnect(focusHandle);
97                                                                        focusHandle = null;
98                                                                        var pos = dojo.position(widget.domNode, true);
99                                                                        doh.t(pos.w > 0 && pos.h > 0 && pos.x > 0 && pos.y > 0, 'mobile position');
100                                                                        doh.is("Alabama", widget.textbox.value, 'mobile textbox value');
101                                                                        doh.is("Alabama", widget.get('value'), 'mobile widget value');
102                                                                })();
103                                                        }
104                                                );
105                                                d = new doh.Deferred();
106                                                setTimeout(dojo.hitch(widget, "focus"), 0);
107
108                                                return d;
109                                        },
110                                        tearDown: function(){
111                                                d.cancel();
112                                                if(focusHandle){ widget.disconnect(focusHandle); }
113                                                widget.closeDropDown();
114                                        }
115                                }
116                        ]);
117
118                        doh.register("log", function(){
119                                dojo.byId('failures').innerHTML = doh._failureCount;
120                                dojo.byId('errors').innerHTML = doh._errorCount;
121                        });
122
123                        doh.run();
124                });
125        </script>
126</head>
127<body style="visibility:hidden;">
128        <h1 class="testTitle">mobile ComboBox non-robot tests</h1>
129        <datalist id="states">
130        <select data-dojo-type="dijit.form.DataList" data-dojo-props='id:"states"' >
131                <option value="AL">Alabama</option>
132                <option value="AK">Alaska</option>
133                <option value="AS">American Samoa</option>
134                <option value="AZ">Arizona</option>
135                <option value="AR">Arkansas</option>
136                <option value="AE">Armed Forces Europe</option>
137                <option value="AP">Armed Forces Pacific</option>
138                <option value="AA">Armed Forces the Americas</option>
139                <option value="CA">California</option>
140                <option value="CO">Colorado</option>
141                <option value="CT">Connecticut</option>
142                <option value="DE">Delaware</option>
143                <option value="DC">District of Columbia</option>
144                <option value="FM">Federated States of Micronesia</option>
145                <option value="FL">Florida</option>
146                <option value="GA">Georgia</option>
147                <option value="GU">Guam</option>
148                <option value="HI">Hawaii</option>
149                <option value="ID">Idaho</option>
150                <option value="IL">Illinois</option>
151                <option value="IN">Indiana</option>
152                <option value="IA">Iowa</option>
153                <option value="KS">Kansas</option>
154                <option value="KY">Kentucky</option>
155                <option value="LA">Louisiana</option>
156                <option value="ME">Maine</option>
157                <option value="MH">Marshall Islands</option>
158                <option value="MD">Maryland</option>
159                <option value="MA">Massachusetts</option>
160                <option value="MI">Michigan</option>
161                <option value="MN">Minnesota</option>
162                <option value="MS">Mississippi</option>
163                <option value="MO">Missouri</option>
164                <option value="MT">Montana</option>
165                <option value="NE">Nebraska</option>
166                <option value="NV">Nevada</option>
167                <option value="NH">New Hampshire</option>
168                <option value="NJ">New Jersey</option>
169                <option value="NM">New Mexico</option>
170                <option value="NY">New York</option>
171                <option value="NC">North Carolina</option>
172                <option value="ND">North Dakota</option>
173                <option value="MP">Northern Mariana Islands</option>
174                <option value="OH">Ohio</option>
175                <option value="OK">Oklahoma</option>
176                <option value="OR">Oregon</option>
177                <option value="PA">Pennsylvania</option>
178                <option value="PR">Puerto Rico</option>
179                <option value="RI">Rhode Island</option>
180                <option value="SC">South Carolina</option>
181                <option value="SD">South Dakota</option>
182                <option value="TN">Tennessee</option>
183                <option value="TX">Texas</option>
184                <option value="UT">Utah</option>
185                <option value="VT">Vermont</option>
186                <option value="VI">Virgin Islands, U.S.</option>
187                <option value="VA">Virginia</option>
188                <option value="WA">Washington</option>
189                <option value="WV">West Virginia</option>
190                <option value="WI">Wisconsin</option>
191                <option value="WY">Wyoming</option>
192        </select>
193        </datalist>
194        <table id="table" cellspacing="20">
195                <tr>
196                        <td class="layout">attributes</td>
197                        <td class="layout"><input id="mobile_attributes" data-dojo-type="dojox.mobile.ComboBox" data-dojo-props='value:"", list:"states"'></td>
198                </tr>
199                <tr>
200                        <td class="layout">events</td>
201                        <td class="layout"><input id="mobile_events" data-dojo-type="dojox.mobile.ComboBox" data-dojo-props='value:"", list:"states", onChange:function(){ return false; }'></td>
202                </tr>
203                <tr>
204                        <td class="layout">programmatic</td>
205                        <td class="layout" id="mobile_programmatic_container"></td>
206                </tr>
207        </table>
208        <input tyle="checkbox" id="blurry" style="opacity:0;border:0px none;"/>
209        <br>Errors:&nbsp;<span id="errors">?</span>
210        <br>Failures:&nbsp;<span id="failures">?</span>
211</body>
212</html>
Note: See TracBrowser for help on using the repository browser.