]> git.proxmox.com Git - extjs.git/blame - extjs/classic/classic/test/specs/layout/component/field/Trigger.js
add extjs 6.0.1 sources
[extjs.git] / extjs / classic / classic / test / specs / layout / component / field / Trigger.js
CommitLineData
6527f429
DM
1xdescribe("Ext.layout.component.field.Trigger", function(){\r
2 var text, trigger, width, height;\r
3 \r
4 afterEach(function(){\r
5 Ext.destroy(text, trigger);\r
6 text = trigger = width = null;\r
7 });\r
8 \r
9 describe("shrink wrap", function(){\r
10 \r
11 describe("without label", function() {\r
12 \r
13 it("should have the same size as a text field with a single trigger", function(){\r
14 text = new Ext.form.field.Text({\r
15 renderTo: Ext.getBody(),\r
16 shrinkWrap: 3\r
17 });\r
18 trigger = new Ext.form.field.Trigger({\r
19 renderTo: Ext.getBody(),\r
20 shrinkWrap: 3\r
21 });\r
22 width = text.getWidth();\r
23 \r
24 expect(trigger.getWidth()).toBe(width);\r
25 expect(trigger.inputEl.getWidth()).toBe(width - trigger.getTriggerWidth());\r
26 });\r
27 \r
28 it("should have the same size as a text field with a 3 triggers", function(){\r
29 text = new Ext.form.field.Text({\r
30 renderTo: Ext.getBody(),\r
31 shrinkWrap: 3\r
32 });\r
33 trigger = new Ext.form.field.Trigger({\r
34 renderTo: Ext.getBody(),\r
35 shrinkWrap: 3,\r
36 trigger1Cls: 'foo',\r
37 trigger2Cls: 'bar',\r
38 trigger3Cls: 'baz'\r
39 });\r
40 width = text.getWidth();\r
41 \r
42 expect(trigger.getWidth()).toBe(width);\r
43 expect(trigger.inputEl.getWidth()).toBe(width - trigger.getTriggerWidth());\r
44 });\r
45 \r
46 it("should respect an inputWidth", function(){\r
47 trigger = new Ext.form.field.Trigger({\r
48 renderTo: Ext.getBody(),\r
49 shrinkWrap: 3,\r
50 inputWidth: 200\r
51 });\r
52 expect(trigger.getWidth()).toBe(200);\r
53 expect(trigger.inputEl.getWidth()).toBe(200 - trigger.getTriggerWidth());\r
54 });\r
55 });\r
56 \r
57 describe("with label", function(){\r
58 \r
59 describe("labelAlign: 'left'", function() {\r
60 \r
61 it("should take into account labelWidth", function(){\r
62 text = new Ext.form.field.Text({\r
63 renderTo: Ext.getBody(),\r
64 shrinkWrap: 3,\r
65 labelWidth: 150,\r
66 fieldLabel: 'A label'\r
67 });\r
68 trigger = new Ext.form.field.Trigger({\r
69 renderTo: Ext.getBody(),\r
70 shrinkWrap: 3,\r
71 labelWidth: 150,\r
72 fieldLabel: 'A label'\r
73 });\r
74 width = text.getWidth();\r
75 \r
76 expect(trigger.getWidth()).toBe(width);\r
77 expect(trigger.inputEl.getWidth()).toBe(width - trigger.getTriggerWidth() - trigger.labelWidth - trigger.labelPad);\r
78 });\r
79 \r
80 it("should take into account labelPad", function(){\r
81 text = new Ext.form.field.Text({\r
82 renderTo: Ext.getBody(),\r
83 shrinkWrap: 3,\r
84 labelPad: 20,\r
85 fieldLabel: 'A label'\r
86 });\r
87 trigger = new Ext.form.field.Trigger({\r
88 renderTo: Ext.getBody(),\r
89 shrinkWrap: 3,\r
90 labelPad: 20,\r
91 fieldLabel: 'A label'\r
92 });\r
93 width = text.getWidth();\r
94 \r
95 expect(trigger.getWidth()).toBe(width);\r
96 expect(trigger.inputEl.getWidth()).toBe(width - trigger.getTriggerWidth() - trigger.labelWidth - trigger.labelPad);\r
97 });\r
98 });\r
99 \r
100 describe("labelAlign: 'top'", function(){\r
101 it("should take ignore labelWidth", function(){\r
102 text = new Ext.form.field.Text({\r
103 renderTo: Ext.getBody(),\r
104 shrinkWrap: 3,\r
105 labelWidth: 150,\r
106 fieldLabel: 'A label',\r
107 labelAlign: 'top'\r
108 });\r
109 trigger = new Ext.form.field.Trigger({\r
110 renderTo: Ext.getBody(),\r
111 shrinkWrap: 3,\r
112 labelWidth: 150,\r
113 fieldLabel: 'A label',\r
114 labelAlign: 'top'\r
115 });\r
116 width = text.getWidth();\r
117 \r
118 expect(trigger.getWidth()).toBe(width);\r
119 expect(trigger.inputEl.getWidth()).toBe(width - trigger.getTriggerWidth());\r
120 });\r
121 \r
122 it("should take into account labelPad", function(){\r
123 text = new Ext.form.field.Text({\r
124 renderTo: Ext.getBody(),\r
125 shrinkWrap: 3,\r
126 labelPad: 20,\r
127 fieldLabel: 'A label',\r
128 labelAlign: 'top'\r
129 });\r
130 trigger = new Ext.form.field.Trigger({\r
131 renderTo: Ext.getBody(),\r
132 shrinkWrap: 3,\r
133 labelPad: 20,\r
134 fieldLabel: 'A label',\r
135 labelAlign: 'top'\r
136 });\r
137 width = text.getWidth();\r
138 \r
139 expect(trigger.getWidth()).toBe(width);\r
140 expect(trigger.inputEl.getWidth()).toBe(width - trigger.getTriggerWidth());\r
141 });\r
142 });\r
143 });\r
144 \r
145 });\r
146 \r
147 describe("configured", function() {\r
148 describe("height", function() {\r
149 beforeEach(function() {\r
150 text = new Ext.form.field.Text({\r
151 renderTo: Ext.getBody(),\r
152 height: 200\r
153 });\r
154\r
155 trigger = new Ext.form.field.Trigger({\r
156 renderTo: Ext.getBody(),\r
157 height: 200\r
158 });\r
159 \r
160 height = text.getHeight();\r
161 });\r
162 \r
163 it("should have the same height as text field", function() {\r
164 expect(trigger.getHeight()).toBe(height);\r
165 // AND\r
166 expect(trigger.inputEl.getHeight()).toBe(height);\r
167 });\r
168 });\r
169 \r
170 describe("width", function() {\r
171 beforeEach(function() {\r
172 text = new Ext.form.field.Text({\r
173 renderTo: Ext.getBody(),\r
174 width: 300\r
175 });\r
176 \r
177 trigger = new Ext.form.field.Trigger({\r
178 renderTo: Ext.getBody(),\r
179 hideTrigger: true,\r
180 width: 300\r
181 });\r
182 \r
183 width = text.getWidth();\r
184 });\r
185 \r
186 it("should have the same width as text field w/o trigger", function() {\r
187 expect(trigger.getWidth()).toBe(width);\r
188 // AND\r
189 expect(trigger.inputEl.getWidth()).toBe(width);\r
190 });\r
191 \r
192 it("should have the same overall width as text field w/ trigger", function() {\r
193 var outerWidth = trigger.getWidth();\r
194 \r
195 expect(outerWidth).toBe(width);\r
196 \r
197 var inputWidth = trigger.inputEl.getWidth(),\r
198 triggerWidth = 0;\r
199 \r
200 for (var i = 0, l = trigger.triggerEl.elements.length; i < l; i++) {\r
201 var el = trigger.triggerEl.elements[i];\r
202 \r
203 triggerWidth += el.getWidth();\r
204 }\r
205 \r
206 expect(inputWidth + triggerWidth).toBe(width);\r
207 });\r
208 });\r
209 });\r
210});\r