jquids 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -0
- data/.rspec +2 -0
- data/MIT-LICENSE +20 -0
- data/README.md +213 -0
- data/Rakefile +44 -0
- data/init.rb +1 -0
- data/jquids.gemspec +17 -0
- data/lib/jquids.rb +9 -0
- data/lib/jquids/constants/formats.rb +74 -0
- data/lib/jquids/constants/jq_versions.rb +3 -0
- data/lib/jquids/constants/styles.rb +29 -0
- data/lib/jquids/constants/timepicker_tags.rb +3 -0
- data/lib/jquids/constants/ui_versions.rb +3 -0
- data/lib/jquids/constants/version.rb +3 -0
- data/lib/jquids/errors/not_a_known_format.rb +8 -0
- data/lib/jquids/errors/not_a_known_style.rb +2 -0
- data/lib/jquids/form_helpers.rb +70 -0
- data/lib/jquids/includes_helper.rb +146 -0
- data/lib/jquids/jquids.rb +126 -0
- data/spec/jquids/form_helpers_spec.rb +343 -0
- data/spec/jquids/includes_helper_spec.rb +649 -0
- data/spec/jquids/jquids_spec.rb +441 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +23 -0
- metadata +90 -0
@@ -0,0 +1,649 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
require 'open-uri'
|
3
|
+
|
4
|
+
describe Jquids::IncludesHelper do
|
5
|
+
|
6
|
+
include ActionView::Helpers::TagHelper
|
7
|
+
include ActionView::Helpers::AssetTagHelper
|
8
|
+
include Jquids::IncludesHelper
|
9
|
+
|
10
|
+
before(:each) do
|
11
|
+
Jquids.instance_variable_set :@jquids_format, nil
|
12
|
+
end
|
13
|
+
|
14
|
+
describe "The jq_ui_default_stylesheet function" do
|
15
|
+
|
16
|
+
describe "with no args" do
|
17
|
+
|
18
|
+
it "should return 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/base/jquery-ui.css'" do
|
19
|
+
jq_ui_stylesheet.should == "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/base/jquery-ui.css"
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "with a args (:unknown_style) that doesn't exist" do
|
25
|
+
|
26
|
+
it "should raise a Jquids::NoStyleFoundError" do
|
27
|
+
expect{ jq_ui_stylesheet :unknown_style }.to raise_error(Jquids::NotAKnownStyle, "Jquids: Unrecognized style specification: unknown_style")
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
Jquids::STYLES.each do |style|
|
33
|
+
|
34
|
+
describe "with args of #{style[0]}" do
|
35
|
+
|
36
|
+
it "should return 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/#{style[1]}/jquery-ui.css'" do
|
37
|
+
jq_ui_stylesheet(style[0]).should == "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/#{style[1]}/jquery-ui.css"
|
38
|
+
end
|
39
|
+
|
40
|
+
#it "should curl and return the jQuery css header comment" do
|
41
|
+
#f = open("http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/#{style[1]}/jquery-ui.css")
|
42
|
+
#f.first.should == "/*\n"
|
43
|
+
#f.first.should == " * jQuery UI CSS Framework 1.8.13\n"
|
44
|
+
#f.first.should == " *\n"
|
45
|
+
#f.first.should == " * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)\n"
|
46
|
+
#f.first.should == " * Dual licensed under the MIT or GPL Version 2 licenses.\n"
|
47
|
+
#f.first.should == " * http://jquery.org/license\n"
|
48
|
+
#f.first.should == " *\n"
|
49
|
+
#f.first.should == " * http://docs.jquery.com/UI/Theming/API\n"
|
50
|
+
#f.first.should == " */\n"
|
51
|
+
#end
|
52
|
+
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "The jq_ui_javascripts function" do
|
60
|
+
|
61
|
+
describe "where jq" do
|
62
|
+
|
63
|
+
describe "equals latest version" do
|
64
|
+
|
65
|
+
it "does include 'https://ajax.googleapis.com/ajax/libs/jquery/'" do
|
66
|
+
jq_ui_javascripts(Jquids::JQVersions.last, Jquids::UIVersions.last, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\//}.should_not == []
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
70
|
+
|
71
|
+
describe "equals :none" do
|
72
|
+
|
73
|
+
it "doesn't include 'https://ajax.googleapis.com/ajax/libs/jquery/'" do
|
74
|
+
jq_ui_javascripts(:none, Jquids::UIVersions.last, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\//}.should == []
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "equals nil" do
|
80
|
+
|
81
|
+
it "doesn't include 'https://ajax.googleapis.com/ajax/libs/jquery/'" do
|
82
|
+
jq_ui_javascripts(nil, Jquids::UIVersions.last, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\//}.should == []
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
describe "equals false" do
|
88
|
+
|
89
|
+
it "doesn't include 'https://ajax.googleapis.com/ajax/libs/jquery/'" do
|
90
|
+
jq_ui_javascripts(false, Jquids::UIVersions.last, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\//}.should == []
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
Jquids::JQVersions.each do |v|
|
96
|
+
|
97
|
+
describe "equals '#{v}'" do
|
98
|
+
|
99
|
+
it "includes 'https://ajax.googleapis.com/ajax/libs/jquery/#{v}/jquery.min.js'" do
|
100
|
+
jq_ui_javascripts(v, Jquids::UIVersions.last, Jquids::TimepickerTags.last).should include("https://ajax.googleapis.com/ajax/libs/jquery/#{v}/jquery.min.js")
|
101
|
+
end
|
102
|
+
|
103
|
+
end
|
104
|
+
|
105
|
+
end
|
106
|
+
|
107
|
+
describe "equals '9001'" do
|
108
|
+
|
109
|
+
it "includes 'https://ajax.googleapis.com/ajax/libs/jquery/#{Jquids::JQVersions.last}/jquery.min.js'" do
|
110
|
+
jq_ui_javascripts('9001', Jquids::UIVersions.last, Jquids::TimepickerTags.last).should include("https://ajax.googleapis.com/ajax/libs/jquery/#{Jquids::JQVersions.last}/jquery.min.js")
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
describe "where ui" do
|
118
|
+
|
119
|
+
describe "equals :none" do
|
120
|
+
|
121
|
+
it "does include 'https://ajax.googleapis.com/ajax/libs/jqueryui/'" do
|
122
|
+
jq_ui_javascripts(Jquids::JQVersions.last, Jquids::UIVersions.last, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jqueryui\//}.should_not == []
|
123
|
+
end
|
124
|
+
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "equals :none" do
|
128
|
+
|
129
|
+
it "doesn't include 'https://ajax.googleapis.com/ajax/libs/jqueryui/'" do
|
130
|
+
jq_ui_javascripts(Jquids::JQVersions.last, :none, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jqueryui\//}.should == []
|
131
|
+
end
|
132
|
+
|
133
|
+
end
|
134
|
+
|
135
|
+
describe "equals nil" do
|
136
|
+
|
137
|
+
it "doesn't include 'https://ajax.googleapis.com/ajax/libs/jqueryui/'" do
|
138
|
+
jq_ui_javascripts(Jquids::JQVersions.last, nil, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jqueryui\//}.should == []
|
139
|
+
end
|
140
|
+
|
141
|
+
end
|
142
|
+
|
143
|
+
describe "equals false" do
|
144
|
+
|
145
|
+
it "doesn't include 'https://ajax.googleapis.com/ajax/libs/jqueryui/'" do
|
146
|
+
jq_ui_javascripts(Jquids::JQVersions.last, false, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/ajax.googleapis.com\/ajax\/libs\/jqueryui\//}.should == []
|
147
|
+
end
|
148
|
+
|
149
|
+
end
|
150
|
+
|
151
|
+
Jquids::UIVersions.each do |v|
|
152
|
+
describe "equals '#{v}'" do
|
153
|
+
|
154
|
+
it "includes 'https://ajax.googleapis.com/ajax/libs/jqueryui/#{v}/jquery-ui.min.js'" do
|
155
|
+
jq_ui_javascripts(Jquids::UIVersions.last, v, Jquids::TimepickerTags.last).should include("https://ajax.googleapis.com/ajax/libs/jqueryui/#{v}/jquery-ui.min.js")
|
156
|
+
end
|
157
|
+
|
158
|
+
end
|
159
|
+
|
160
|
+
end
|
161
|
+
|
162
|
+
describe "equals '9001'" do
|
163
|
+
|
164
|
+
it "includes 'https://ajax.googleapis.com/ajax/libs/jqueryui/#{Jquids::UIVersions.last}/jquery-ui.min.js'" do
|
165
|
+
jq_ui_javascripts(Jquids::UIVersions.last, 9001, Jquids::TimepickerTags.last).should include("https://ajax.googleapis.com/ajax/libs/jqueryui/#{Jquids::UIVersions.last}/jquery-ui.min.js")
|
166
|
+
end
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
end
|
171
|
+
|
172
|
+
describe "where timepicker" do
|
173
|
+
|
174
|
+
describe "equals the latest version" do
|
175
|
+
|
176
|
+
it "does includes 'https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/'" do
|
177
|
+
jq_ui_javascripts(Jquids::UIVersions.last, Jquids::UIVersions.last, Jquids::TimepickerTags.last).select {|x| x =~ /https:\/\/raw.github.com\/trentrichardson\/jQuery-Timepicker-Addon\//}.should_not == []
|
178
|
+
end
|
179
|
+
|
180
|
+
end
|
181
|
+
|
182
|
+
describe "equals :none" do
|
183
|
+
|
184
|
+
it "doesn't includes 'https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/'" do
|
185
|
+
jq_ui_javascripts(Jquids::UIVersions.last, Jquids::UIVersions.last, :none).select {|x| x =~ /https:\/\/raw.github.com\/trentrichardson\/jQuery-Timepicker-Addon\//}.should == []
|
186
|
+
end
|
187
|
+
|
188
|
+
end
|
189
|
+
|
190
|
+
describe "equals false" do
|
191
|
+
|
192
|
+
it "doesn't includes 'https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/'" do
|
193
|
+
jq_ui_javascripts(Jquids::UIVersions.last, Jquids::UIVersions.last, false).select {|x| x =~ /https:\/\/raw.github.com\/trentrichardson\/jQuery-Timepicker-Addon\//}.should == []
|
194
|
+
end
|
195
|
+
|
196
|
+
end
|
197
|
+
|
198
|
+
describe "equals nil" do
|
199
|
+
|
200
|
+
it "doesn't includes 'https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/'" do
|
201
|
+
jq_ui_javascripts(Jquids::UIVersions.last, Jquids::UIVersions.last, nil).select {|x| x =~ /https:\/\/raw.github.com\/trentrichardson\/jQuery-Timepicker-Addon\//}.should == []
|
202
|
+
end
|
203
|
+
|
204
|
+
end
|
205
|
+
|
206
|
+
Jquids::TimepickerTags.each do |v|
|
207
|
+
describe "equals '#{v}'" do
|
208
|
+
|
209
|
+
it "includes 'https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/#{v}/jquery-ui-timepicker-addon.js'" do
|
210
|
+
jq_ui_javascripts(Jquids::UIVersions.last, Jquids::UIVersions.last, v).should include("https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/#{v}/jquery-ui-timepicker-addon.js")
|
211
|
+
end
|
212
|
+
|
213
|
+
end
|
214
|
+
|
215
|
+
end
|
216
|
+
|
217
|
+
describe "equals '9001'" do
|
218
|
+
|
219
|
+
it "includes 'https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/#{Jquids::TimepickerTags.last}/jquery-ui-timepicker-addon.js'" do
|
220
|
+
jq_ui_javascripts(Jquids::UIVersions.last, Jquids::UIVersions.last, 9001).should include("https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/#{Jquids::TimepickerTags.last}/jquery-ui-timepicker-addon.js")
|
221
|
+
end
|
222
|
+
|
223
|
+
end
|
224
|
+
|
225
|
+
end
|
226
|
+
|
227
|
+
end
|
228
|
+
|
229
|
+
describe "The jquids_includes function" do
|
230
|
+
|
231
|
+
it "has a javascript tag for jQuery" do
|
232
|
+
jquids_includes.should include("<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js\" type=\"text/javascript\"></script>")
|
233
|
+
end
|
234
|
+
|
235
|
+
it "has a javascript tag for jQuery UI" do
|
236
|
+
jquids_includes.should include("<script src=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js\" type=\"text/javascript\"></script>")
|
237
|
+
end
|
238
|
+
|
239
|
+
it "has the options parsing script" do
|
240
|
+
jquids_includes.should include('$(document).ready(function(){$(".jquids_dp").each(function(){var s=$(this).attr("data-jquipicker");$(this).attr("data-jquipicker")?$(this).datepicker(JSON.parse(s)):$(this).datepicker()});$(".jquids_tp").each(function(){var s=$(this).attr("data-jquipicker");$(this).attr("data-jquipicker")?$(this).timepicker(JSON.parse(s)):$(this).timepicker()});$(".jquids_dtp").each(function(){var s=$(this).attr("data-jquipicker");$(this).attr("data-jquipicker")?$(this).datetimepicker(JSON.parse(s)):$(this).datetimepicker()})});</script>')
|
241
|
+
end
|
242
|
+
|
243
|
+
it "has the datepicker.setDefaults javascript function" do
|
244
|
+
jquids_includes.should include("<script type=\"text/javascript\">$.datepicker.setDefaults({")
|
245
|
+
end
|
246
|
+
|
247
|
+
it "does not have the timepicker.setDefaults javascript function" do
|
248
|
+
jquids_includes.should_not include("$.timepicker.setDefaults({")
|
249
|
+
end
|
250
|
+
|
251
|
+
it "does not have the timepicker css" do
|
252
|
+
jquids_includes().should_not include('<style type="text/css">.ui-timepicker-div .ui-widget-header{margin-bottom:8px;}.ui-timepicker-div dl{text-align:left;}.ui-timepicker-div dl dt{height:25px;}.ui-timepicker-div dl dd{margin:-25px 0 10px 65px;}.ui-timepicker-div td{font-size:90%;}</style>')
|
253
|
+
end
|
254
|
+
|
255
|
+
describe "without datepicker_options" do
|
256
|
+
|
257
|
+
it "has changeMonth set to true" do
|
258
|
+
jquids_includes.should include('"changeMonth":true')
|
259
|
+
end
|
260
|
+
|
261
|
+
it "has changeYear set to true" do
|
262
|
+
jquids_includes.should include('"changeYear":true')
|
263
|
+
end
|
264
|
+
|
265
|
+
it "has showOtherMonths set to true" do
|
266
|
+
jquids_includes.should include('"showOtherMonths":true')
|
267
|
+
end
|
268
|
+
|
269
|
+
it "has selectOtherMonths set to true" do
|
270
|
+
jquids_includes.should include('"selectOtherMonths":true')
|
271
|
+
end
|
272
|
+
|
273
|
+
it "has dateFormat set to ':natural'" do
|
274
|
+
jquids_includes.should include('"dateFormat":"MM dd, yy"')
|
275
|
+
end
|
276
|
+
|
277
|
+
end
|
278
|
+
|
279
|
+
describe "without timepicker_options" do
|
280
|
+
|
281
|
+
it "does not have timeFormat set to ':natural'" do
|
282
|
+
jquids_includes.should_not include('"timeFormat":"hh:mm TT"')
|
283
|
+
end
|
284
|
+
|
285
|
+
it "does not have ampm set to true" do
|
286
|
+
jquids_includes.should_not include('"ampm":true')
|
287
|
+
end
|
288
|
+
|
289
|
+
end
|
290
|
+
|
291
|
+
describe "without timepicker_options but :TRTimepicker => v0.9.5" do
|
292
|
+
|
293
|
+
it "returns timeFormat set to ':natural'" do
|
294
|
+
jquids_includes(:TRTimepicker => "v0.9.5").should include('"timeFormat":"hh:mm TT"')
|
295
|
+
end
|
296
|
+
|
297
|
+
it "returns ampm set to true" do
|
298
|
+
jquids_includes(:TRTimepicker => "v0.9.5").should include('"ampm":true')
|
299
|
+
end
|
300
|
+
|
301
|
+
it "returns the timepicker css" do
|
302
|
+
jquids_includes(:TRTimepicker => "v0.9.5").should include('<style type="text/css">.ui-timepicker-div .ui-widget-header{margin-bottom:8px;}.ui-timepicker-div dl{text-align:left;}.ui-timepicker-div dl dt{height:25px;}.ui-timepicker-div dl dd{margin:-25px 0 10px 65px;}.ui-timepicker-div td{font-size:90%;}</style>')
|
303
|
+
end
|
304
|
+
|
305
|
+
end
|
306
|
+
|
307
|
+
describe "without datepicker_options or timepicker_options and the format is set to finnish" do
|
308
|
+
|
309
|
+
before(:each) do
|
310
|
+
Jquids.format = :finnish
|
311
|
+
end
|
312
|
+
|
313
|
+
it "has changeMonth set to true" do
|
314
|
+
jquids_includes.should include('"changeMonth":true')
|
315
|
+
end
|
316
|
+
|
317
|
+
it "has changeYear set to true" do
|
318
|
+
jquids_includes.should include('"changeYear":true')
|
319
|
+
end
|
320
|
+
|
321
|
+
it "has showOtherMonths set to true" do
|
322
|
+
jquids_includes.should include('"showOtherMonths":true')
|
323
|
+
end
|
324
|
+
|
325
|
+
it "has selectOtherMonths set to true" do
|
326
|
+
jquids_includes.should include('"selectOtherMonths":true')
|
327
|
+
end
|
328
|
+
|
329
|
+
it "has dateFormat set to ':finnish'" do
|
330
|
+
jquids_includes.should include('"dateFormat":"dd.mm.yy"')
|
331
|
+
end
|
332
|
+
|
333
|
+
describe "with :TRTimepicker => 'v0.9.7'" do
|
334
|
+
|
335
|
+
it "has timeFormat set to ':finish'" do
|
336
|
+
jquids_includes(:TRTimepicker => "v0.9.5").should include('"timeFormat":"hh:mm"')
|
337
|
+
end
|
338
|
+
|
339
|
+
it "has ampm set to true" do
|
340
|
+
jquids_includes(:TRTimepicker => "v0.9.5").should include('"ampm":false')
|
341
|
+
end
|
342
|
+
|
343
|
+
it "returns the timepicker css" do
|
344
|
+
jquids_includes(:TRTimepicker => "v0.9.5").should include('<style type="text/css">.ui-timepicker-div .ui-widget-header{margin-bottom:8px;}.ui-timepicker-div dl{text-align:left;}.ui-timepicker-div dl dt{height:25px;}.ui-timepicker-div dl dd{margin:-25px 0 10px 65px;}.ui-timepicker-div td{font-size:90%;}</style>')
|
345
|
+
end
|
346
|
+
|
347
|
+
end
|
348
|
+
|
349
|
+
end
|
350
|
+
|
351
|
+
describe "without datepicker_options and the format is set to finnish using the function itself" do
|
352
|
+
|
353
|
+
before(:each) do
|
354
|
+
@output = jquids_includes(:format => :finnish)
|
355
|
+
end
|
356
|
+
|
357
|
+
it "has changeMonth set to true" do
|
358
|
+
@output.should include('"changeMonth":true')
|
359
|
+
end
|
360
|
+
|
361
|
+
it "has changeYear set to true" do
|
362
|
+
@output.should include('"changeYear":true')
|
363
|
+
end
|
364
|
+
|
365
|
+
it "has showOtherMonths set to true" do
|
366
|
+
@output.should include('"showOtherMonths":true')
|
367
|
+
end
|
368
|
+
|
369
|
+
it "has selectOtherMonths set to true" do
|
370
|
+
@output.should include('"selectOtherMonths":true')
|
371
|
+
end
|
372
|
+
|
373
|
+
it "has dateFormat set to ':finnish'" do
|
374
|
+
@output.should include('"dateFormat":"dd.mm.yy"')
|
375
|
+
end
|
376
|
+
|
377
|
+
describe "with :TRTimepicker => 'v0.9.7'" do
|
378
|
+
|
379
|
+
before(:each) do
|
380
|
+
@output = jquids_includes(:format => :finnish, :TRTimepicker => "v0.9.5")
|
381
|
+
end
|
382
|
+
|
383
|
+
it "has timeFormat set to ':finish'" do
|
384
|
+
@output.should include('"timeFormat":"hh:mm"')
|
385
|
+
end
|
386
|
+
|
387
|
+
it "has ampm set to true" do
|
388
|
+
@output.should include('"ampm":false')
|
389
|
+
end
|
390
|
+
|
391
|
+
end
|
392
|
+
|
393
|
+
end
|
394
|
+
|
395
|
+
describe "with datepicker_options" do
|
396
|
+
|
397
|
+
describe "of {:datepicker_options => {:autoSize => true}}" do
|
398
|
+
|
399
|
+
it "has changeMonth set to true" do
|
400
|
+
jquids_includes(:datepicker_options => {:autoSize => true}).should include('"changeMonth":true')
|
401
|
+
end
|
402
|
+
|
403
|
+
it "has changeYear set to true" do
|
404
|
+
jquids_includes(:datepicker_options => {:autoSize => true}).should include('"changeYear":true')
|
405
|
+
end
|
406
|
+
|
407
|
+
it "has showOtherMonths set to true" do
|
408
|
+
jquids_includes(:datepicker_options => {:autoSize => true}).should include('"showOtherMonths":true')
|
409
|
+
end
|
410
|
+
|
411
|
+
it "has selectOtherMonths set to true" do
|
412
|
+
jquids_includes(:datepicker_options => {:autoSize => true}).should include('"selectOtherMonths":true')
|
413
|
+
end
|
414
|
+
|
415
|
+
it "has autoSize set to true" do
|
416
|
+
jquids_includes(:datepicker_options => {:autoSize => true}).should include('"autoSize":true')
|
417
|
+
end
|
418
|
+
|
419
|
+
it "has dateFormat set to ':natural'" do
|
420
|
+
jquids_includes(:datepicker_options => {:autoSize => true}).should include('"dateFormat":"MM dd, yy"')
|
421
|
+
end
|
422
|
+
|
423
|
+
end
|
424
|
+
|
425
|
+
describe "overwriting the defaults" do
|
426
|
+
|
427
|
+
before(:each) do
|
428
|
+
@options = {:datepicker_options => {:changeMonth => false,
|
429
|
+
:changeYear => false,
|
430
|
+
:showOtherMonths => false,
|
431
|
+
:selectOtherMonths => false}}
|
432
|
+
end
|
433
|
+
|
434
|
+
it "has changeMonth set to false" do
|
435
|
+
jquids_includes(@options).should include('"changeMonth":false')
|
436
|
+
end
|
437
|
+
|
438
|
+
it "has changeYear set to false" do
|
439
|
+
jquids_includes(@options).should include('"changeYear":false')
|
440
|
+
end
|
441
|
+
|
442
|
+
it "has showOtherMonths set to false" do
|
443
|
+
jquids_includes(@options).should include('"showOtherMonths":false')
|
444
|
+
end
|
445
|
+
|
446
|
+
it "has selectOtherMonths set to false" do
|
447
|
+
jquids_includes(@options).should include('"selectOtherMonths":false')
|
448
|
+
end
|
449
|
+
|
450
|
+
it "has dateFormat set to ':natural'" do
|
451
|
+
jquids_includes(@options).should include('"dateFormat":"MM dd, yy"')
|
452
|
+
end
|
453
|
+
|
454
|
+
end
|
455
|
+
|
456
|
+
end
|
457
|
+
|
458
|
+
describe "with CalendarDateSelect style options" do
|
459
|
+
|
460
|
+
describe "of :year_range => 2000..2020" do
|
461
|
+
|
462
|
+
it "has changeMonth set to true" do
|
463
|
+
jquids_includes(:year_range => 2000..2020).should include('"changeMonth":true')
|
464
|
+
end
|
465
|
+
|
466
|
+
it "has changeYear set to true" do
|
467
|
+
jquids_includes(:year_range => 2000..2020).should include('"changeYear":true')
|
468
|
+
end
|
469
|
+
|
470
|
+
it "has showOtherMonths set to true" do
|
471
|
+
jquids_includes(:year_range => 2000..2020).should include('"showOtherMonths":true')
|
472
|
+
end
|
473
|
+
|
474
|
+
it "has selectOtherMonths set to true" do
|
475
|
+
jquids_includes(:year_range => 2000..2020).should include('"selectOtherMonths":true')
|
476
|
+
end
|
477
|
+
|
478
|
+
it "has autoSize set to true" do
|
479
|
+
jquids_includes(:year_range => 2000..2020).should include('"yearRange":"2000:2020"')
|
480
|
+
end
|
481
|
+
|
482
|
+
it "has dateFormat set to ':natural'" do
|
483
|
+
jquids_includes(:year_range => 2000..2020).should include('"dateFormat":"MM dd, yy"')
|
484
|
+
end
|
485
|
+
|
486
|
+
end
|
487
|
+
|
488
|
+
end
|
489
|
+
|
490
|
+
describe "with no args" do
|
491
|
+
|
492
|
+
it "has the :base stylesheet link tag" do
|
493
|
+
jquids_includes.should include("<link href=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/base/jquery-ui.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />")
|
494
|
+
end
|
495
|
+
|
496
|
+
end
|
497
|
+
|
498
|
+
Jquids::JQVersions.each do |v|
|
499
|
+
describe "with args of {:jQuery => '#{v}'}" do
|
500
|
+
|
501
|
+
it "has no jQuery javascript link tag" do
|
502
|
+
jquids_includes(:jQuery => v).should include("<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/#{v}/jquery.min.js\" type=\"text/javascript\"></script>")
|
503
|
+
end
|
504
|
+
|
505
|
+
end
|
506
|
+
end
|
507
|
+
|
508
|
+
|
509
|
+
describe "with args of {:jQuery => :none}" do
|
510
|
+
|
511
|
+
it "has no jQuery javascript link tag" do
|
512
|
+
jquids_includes(:jQuery => :none).should_not include("<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/")
|
513
|
+
end
|
514
|
+
|
515
|
+
end
|
516
|
+
|
517
|
+
describe "with args of {:jQuery => nil}" do
|
518
|
+
|
519
|
+
it "has no jQuery javascript link tag" do
|
520
|
+
jquids_includes(:jQuery => nil).should_not include("<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/")
|
521
|
+
end
|
522
|
+
|
523
|
+
end
|
524
|
+
|
525
|
+
describe "with args of {:jQuery => false}" do
|
526
|
+
|
527
|
+
it "has no jQuery javascript link tag" do
|
528
|
+
jquids_includes(:jQuery => false).should_not include("<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/")
|
529
|
+
end
|
530
|
+
|
531
|
+
end
|
532
|
+
|
533
|
+
Jquids::UIVersions.each do |v|
|
534
|
+
describe "with args of {:jQueryUI => '#{v}'}" do
|
535
|
+
|
536
|
+
it "has jQuery UI javascript link tag with a version of '#{v}'" do
|
537
|
+
jquids_includes(:jQueryUI => v).should include("<script src=\"https://ajax.googleapis.com/ajax/libs/jqueryui/#{v}/jquery-ui.min.js\" type=\"text/javascript\"></script>")
|
538
|
+
end
|
539
|
+
|
540
|
+
end
|
541
|
+
end
|
542
|
+
|
543
|
+
describe "with args of {:jQueryUI => :none}" do
|
544
|
+
|
545
|
+
it "has no jQuery UI javascript link tag" do
|
546
|
+
jquids_includes(:jQueryUI => :none).should_not include("<script src=\"https://ajax.googleapis.com/ajax/libs/jqueryui/")
|
547
|
+
end
|
548
|
+
|
549
|
+
end
|
550
|
+
|
551
|
+
describe "with args of {:jQueryUI => nil}" do
|
552
|
+
|
553
|
+
it "has no jQuery UI javascript link tag" do
|
554
|
+
jquids_includes(:jQueryUI => nil).should_not include("<script src=\"https://ajax.googleapis.com/ajax/libs/jqueryui/")
|
555
|
+
end
|
556
|
+
|
557
|
+
end
|
558
|
+
|
559
|
+
describe "with args of {:jQueryUI => false}" do
|
560
|
+
|
561
|
+
it "has no jQuery UI javascript link tag" do
|
562
|
+
jquids_includes(:jQueryUI => false).should_not include("<script src=\"https://ajax.googleapis.com/ajax/libs/jqueryui/")
|
563
|
+
end
|
564
|
+
|
565
|
+
end
|
566
|
+
|
567
|
+
Jquids::STYLES.each do |style|
|
568
|
+
|
569
|
+
describe "with args of {:style => #{style[0]}}" do
|
570
|
+
|
571
|
+
it "has the #{style[0]} stylesheet link tag" do
|
572
|
+
jquids_includes(:style => style[0]).should include("<link href=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/#{style[1]}/jquery-ui.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />")
|
573
|
+
end
|
574
|
+
|
575
|
+
end
|
576
|
+
|
577
|
+
end
|
578
|
+
|
579
|
+
describe "with args of {:style => :none}" do
|
580
|
+
|
581
|
+
it "has no stylesheet" do
|
582
|
+
jquids_includes(:style => :none).should_not include("<link href=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/")
|
583
|
+
end
|
584
|
+
|
585
|
+
end
|
586
|
+
|
587
|
+
describe "with args of {:style => nil}" do
|
588
|
+
|
589
|
+
it "has no stylesheet" do
|
590
|
+
jquids_includes(:style => nil).should_not include("<link href=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/")
|
591
|
+
end
|
592
|
+
|
593
|
+
end
|
594
|
+
|
595
|
+
describe "with args of {:style => false}" do
|
596
|
+
|
597
|
+
it "has no stylesheet" do
|
598
|
+
jquids_includes(:style => false).should_not include("<link href=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/themes/")
|
599
|
+
end
|
600
|
+
|
601
|
+
end
|
602
|
+
|
603
|
+
Jquids::TimepickerTags.each do |v|
|
604
|
+
|
605
|
+
describe "with args of {:TRTimepicker => #{v}}" do
|
606
|
+
|
607
|
+
it "has the #{v} Trent Richardson Timepicker javascript link tag" do
|
608
|
+
jquids_includes(:TRTimepicker => v).should include("<script src=\"https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/#{v}/jquery-ui-timepicker-addon.js\" type=\"text/javascript\"></script>")
|
609
|
+
end
|
610
|
+
|
611
|
+
end
|
612
|
+
|
613
|
+
end
|
614
|
+
|
615
|
+
describe "with no :TRTimepicker key" do
|
616
|
+
|
617
|
+
it "doesn't return a Trent Richardson Timepicker javascript link tag" do
|
618
|
+
jquids_includes().should_not include("<script src=\"https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/")
|
619
|
+
end
|
620
|
+
|
621
|
+
end
|
622
|
+
|
623
|
+
describe "with args of {:TRTimepicker => :none}" do
|
624
|
+
|
625
|
+
it "doesn't return a Trent Richardson Timepicker javascript link tag" do
|
626
|
+
jquids_includes(:TRTimepicker => :none).should_not include("<script src=\"https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/")
|
627
|
+
end
|
628
|
+
|
629
|
+
end
|
630
|
+
|
631
|
+
describe "with args of {:TRTimepicker => false}" do
|
632
|
+
|
633
|
+
it "doesn't return a Trent Richardson Timepicker javascript link tag" do
|
634
|
+
jquids_includes(:TRTimepicker => false).should_not include("<script src=\"https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/")
|
635
|
+
end
|
636
|
+
|
637
|
+
end
|
638
|
+
|
639
|
+
describe "with args of {:TRTimepicker => nil}" do
|
640
|
+
|
641
|
+
it "doesn't return a Trent Richardson Timepicker javascript link tag" do
|
642
|
+
jquids_includes(:TRTimepicker => nil).should_not include("<script src=\"https://raw.github.com/trentrichardson/jQuery-Timepicker-Addon/")
|
643
|
+
end
|
644
|
+
|
645
|
+
end
|
646
|
+
|
647
|
+
end
|
648
|
+
|
649
|
+
end
|