flextures 4.2.6 → 4.2.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,111 +1,111 @@
1
- $:.push( File.join(File.dirname(File.expand_path(__FILE__)), '../') )
2
-
3
- require 'test_helper'
4
-
5
- describe :Hook do
6
- describe Flextures::Loader do
7
- describe ".parse_flextures_options" do
8
- describe "set one table" do
9
- before do
10
- @list = Flextures::Loader.parse_flextures_options({},:users)
11
- end
12
-
13
- it "return table is Array" do
14
- assert_equal true, @list.is_a?(Array)
15
- end
16
-
17
- it "return table is only one" do
18
- assert_equal 1, @list.size
19
- end
20
-
21
- it "return data is content Hash data" do
22
- assert_equal true, @list.first.is_a?(Hash)
23
- end
24
-
25
- it "return data is contain loading table infomation" do
26
- h = { table: :users, file: "users", loader: :fun }
27
- assert_equal h, @list.first
28
- end
29
- end
30
-
31
- describe "if set file name option" do
32
- before do
33
- @list = Flextures::Loader.parse_flextures_options( {}, :users => :users_another3 )
34
- end
35
-
36
- it "returned data size is only one" do
37
- assert_equal 1, @list.size
38
- end
39
-
40
- it " 'file' option is changed setted file name" do
41
- assert_equal :users_another3, @list.first[:file]
42
- end
43
-
44
- it "returned data include data" do
45
- h = { table: :users, file: :users_another3, loader: :fun }
46
- assert_equal h, @list.first
47
- end
48
- end
49
-
50
- describe "if set 'cache' option" do
51
- before do
52
- @list = Flextures::Loader.parse_flextures_options( { cache: true }, :users )
53
- end
54
-
55
- it "setted cache option" do
56
- assert_equal true, @list.first[:cache]
57
- end
58
- end
59
-
60
- describe " if set 'dir' option " do
61
- before do
62
- @list = Flextures::Loader.parse_flextures_options( { dir: "a/b/c" }, :users )
63
- end
64
-
65
- it "setted cache option" do
66
- assert_equal "a/b/c", @list.first[:dir]
67
- end
68
- end
69
-
70
- describe " if set 'controller' option " do
71
- before do
72
- @list = Flextures::Loader.parse_flextures_options( {}, { controller: "top" }, :users )
73
- end
74
-
75
- it "setted cache option" do
76
- assert_equal "controllers/top", @list.first[:dir]
77
- end
78
- end
79
-
80
- describe " if set 'controller' and 'action' option " do
81
- before do
82
- @list = Flextures::Loader.parse_flextures_options( {}, { controller: "top", action:"index" }, :users )
83
- end
84
-
85
- it "setted cache option" do
86
- assert_equal "controllers/top/index", @list.first[:dir]
87
- end
88
- end
89
-
90
- describe " if set 'model' option " do
91
- before do
92
- @list = Flextures::Loader.parse_flextures_options( {}, { model: "users" }, :users )
93
- end
94
-
95
- it "setted cache option" do
96
- assert_equal "models/users", @list.first[:dir]
97
- end
98
- end
99
-
100
- describe " if set 'model' and 'method' option " do
101
- before do
102
- @list = Flextures::Loader.parse_flextures_options( {}, { model: "users", method:"login" }, :users )
103
- end
104
-
105
- it "setted cache option" do
106
- assert_equal "models/users/login", @list.first[:dir]
107
- end
108
- end
109
- end
110
- end
111
- end
1
+ $:.push( File.join(File.dirname(File.expand_path(__FILE__)), '../') )
2
+
3
+ require 'test_helper'
4
+
5
+ describe :Hook do
6
+ describe Flextures::Loader do
7
+ describe ".parse_flextures_options" do
8
+ describe "set one table" do
9
+ before do
10
+ @list = Flextures::Loader.parse_flextures_options({},:users)
11
+ end
12
+
13
+ it "return table is Array" do
14
+ assert_equal true, @list.is_a?(Array)
15
+ end
16
+
17
+ it "return table is only one" do
18
+ assert_equal 1, @list.size
19
+ end
20
+
21
+ it "return data is content Hash data" do
22
+ assert_equal true, @list.first.is_a?(Hash)
23
+ end
24
+
25
+ it "return data is contain loading table infomation" do
26
+ h = { table: :users, file: "users", loader: :fun }
27
+ assert_equal h, @list.first
28
+ end
29
+ end
30
+
31
+ describe "if set file name option" do
32
+ before do
33
+ @list = Flextures::Loader.parse_flextures_options( {}, :users => :users_another3 )
34
+ end
35
+
36
+ it "returned data size is only one" do
37
+ assert_equal 1, @list.size
38
+ end
39
+
40
+ it " 'file' option is changed setted file name" do
41
+ assert_equal :users_another3, @list.first[:file]
42
+ end
43
+
44
+ it "returned data include data" do
45
+ h = { table: :users, file: :users_another3, loader: :fun }
46
+ assert_equal h, @list.first
47
+ end
48
+ end
49
+
50
+ describe "if set 'cache' option" do
51
+ before do
52
+ @list = Flextures::Loader.parse_flextures_options( { cache: true }, :users )
53
+ end
54
+
55
+ it "setted cache option" do
56
+ assert_equal true, @list.first[:cache]
57
+ end
58
+ end
59
+
60
+ describe " if set 'dir' option " do
61
+ before do
62
+ @list = Flextures::Loader.parse_flextures_options( { dir: "a/b/c" }, :users )
63
+ end
64
+
65
+ it "setted cache option" do
66
+ assert_equal "a/b/c", @list.first[:dir]
67
+ end
68
+ end
69
+
70
+ describe " if set 'controller' option " do
71
+ before do
72
+ @list = Flextures::Loader.parse_flextures_options( {}, { controller: "top" }, :users )
73
+ end
74
+
75
+ it "setted cache option" do
76
+ assert_equal "controllers/top", @list.first[:dir]
77
+ end
78
+ end
79
+
80
+ describe " if set 'controller' and 'action' option " do
81
+ before do
82
+ @list = Flextures::Loader.parse_flextures_options( {}, { controller: "top", action:"index" }, :users )
83
+ end
84
+
85
+ it "setted cache option" do
86
+ assert_equal "controllers/top/index", @list.first[:dir]
87
+ end
88
+ end
89
+
90
+ describe " if set 'model' option " do
91
+ before do
92
+ @list = Flextures::Loader.parse_flextures_options( {}, { model: "users" }, :users )
93
+ end
94
+
95
+ it "setted cache option" do
96
+ assert_equal "models/users", @list.first[:dir]
97
+ end
98
+ end
99
+
100
+ describe " if set 'model' and 'method' option " do
101
+ before do
102
+ @list = Flextures::Loader.parse_flextures_options( {}, { model: "users", method:"login" }, :users )
103
+ end
104
+
105
+ it "setted cache option" do
106
+ assert_equal "models/users/login", @list.first[:dir]
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -1,313 +1,313 @@
1
- $:.push( File.join(File.dirname(File.expand_path(__FILE__)), '../') )
2
- require 'test_helper'
3
-
4
- describe Flextures::Loader do
5
- describe "TRANSLATER" do
6
- describe :binary do
7
- it "'nil' value not changed" do
8
- assert_equal nil, Flextures::Loader::TRANSLATER[:binary].call(nil)
9
- end
10
- end
11
-
12
- describe :boolean do
13
- it "'nil' value not changed" do
14
- assert_equal nil, Flextures::Loader::TRANSLATER[:boolean].call(nil)
15
- end
16
-
17
- it "true value not changed" do
18
- assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call(true)
19
- end
20
-
21
- it "false value not changed" do
22
- assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call(false)
23
- end
24
-
25
- it "0 is change to 'false'" do
26
- assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call(0)
27
- end
28
-
29
- it "1 is change to 'true'" do
30
- assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call(1)
31
- end
32
-
33
- it "-1 is change to 'true'" do
34
- assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call(-1)
35
- end
36
-
37
- it "'0' is change to 'false'" do
38
- assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call('0')
39
- end
40
-
41
- it "'1' is change to 'true'" do
42
- assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call('1')
43
- end
44
-
45
- it "'true' value not changed" do
46
- assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call('true')
47
- end
48
-
49
- it "'false' value not changed" do
50
- assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call('false')
51
- end
52
-
53
- it "'non-falsy string data' is change to 'true'" do
54
- assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call("Hello")
55
- end
56
-
57
- it "'empty string' is change to 'true'" do
58
- assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call("")
59
- end
60
- end
61
-
62
- describe :date do
63
- it "正常値の文字列" do
64
- assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:date].call("2011/11/21").strftime("%Y/%m/%d")
65
- end
66
-
67
- it "Timeオブジェクト" do
68
- now = Time.now
69
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
70
- end
71
-
72
- it "DateTimeオブジェクト" do
73
- now = DateTime.now
74
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
75
- end
76
-
77
- it "日付っぽい数字" do
78
- now = "20111121"
79
- assert_equal true, Flextures::Loader::TRANSLATER[:date].call(now).is_a?(Date)
80
- end
81
-
82
- it "nil" do
83
- assert_equal nil, Flextures::Loader::TRANSLATER[:date].call(nil)
84
- end
85
-
86
- it "空文字" do
87
- assert_equal nil, Flextures::Loader::TRANSLATER[:date].call("")
88
- end
89
- end
90
-
91
- describe :datetime do
92
- it "正常値の文字列" do
93
- assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:date].call("2011/11/21").strftime("%Y/%m/%d")
94
- end
95
-
96
- it "Timeオブジェクト" do
97
- now = Time.now
98
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
99
- end
100
-
101
- it "DateTimeオブジェクト" do
102
- now = DateTime.now
103
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
104
- end
105
-
106
- it "日付っぽい数字" do
107
- now = "20111121"
108
- assert_equal true, Flextures::Loader::TRANSLATER[:date].call(now).is_a?(Date)
109
- end
110
-
111
- it "nil" do
112
- assert_equal nil, Flextures::Loader::TRANSLATER[:date].call(nil)
113
- end
114
-
115
- it "空文字" do
116
- assert_equal nil, Flextures::Loader::TRANSLATER[:date].call("")
117
- end
118
- end
119
-
120
- describe :decimal do
121
- it "null" do
122
- assert_equal nil, Flextures::Loader::TRANSLATER[:decimal].call(nil)
123
- end
124
- end
125
-
126
- describe :float do
127
- it "null" do
128
- assert_equal nil, Flextures::Loader::TRANSLATER[:float].call(nil)
129
- end
130
- end
131
-
132
- describe :integer do
133
- it "null" do
134
- assert_equal nil, Flextures::Loader::TRANSLATER[:integer].call(nil)
135
- end
136
- end
137
-
138
- describe :string do
139
- it "null" do
140
- assert_equal nil, Flextures::Loader::TRANSLATER[:string].call(nil)
141
- end
142
-
143
- it "空文字" do
144
- assert_equal "", Flextures::Loader::TRANSLATER[:string].call("")
145
- end
146
-
147
- it "タブ混じり" do
148
- s="\taaaaa"
149
- assert_equal s, Flextures::Loader::TRANSLATER[:string].call(s)
150
- end
151
-
152
- it "改行混じり" do
153
- s="aa\naaa"
154
- assert_equal s, Flextures::Loader::TRANSLATER[:string].call(s)
155
- end
156
-
157
- it "スペース混じり" do
158
- s="aa aaa"
159
- assert_equal s, Flextures::Loader::TRANSLATER[:string].call(s)
160
- end
161
- # "@#%{}|[]&:`'>?~"
162
- end
163
-
164
- describe :text do
165
- it "null" do
166
- assert_equal nil, Flextures::Loader::TRANSLATER[:text].call(nil)
167
- end
168
-
169
- it "空文字" do
170
- assert_equal "", Flextures::Loader::TRANSLATER[:text].call("")
171
- end
172
- end
173
-
174
- describe :time do
175
- it "正常値の文字列" do
176
- assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:time].call("2011/11/21").strftime("%Y/%m/%d")
177
- end
178
-
179
- it "Timeオブジェクト" do
180
- now = Time.now
181
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:time].call(now).strftime("%Y/%m/%d")
182
- end
183
-
184
- it "DateTimeオブジェクト" do
185
- now = DateTime.now
186
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:time].call(now).strftime("%Y/%m/%d")
187
- end
188
-
189
- it "日付っぽい数字はDateTime型" do
190
- now = "20111121"
191
- assert_equal true, Flextures::Loader::TRANSLATER[:time].call(now).is_a?(DateTime)
192
- end
193
-
194
- it "nilはnilのまま" do
195
- assert_equal nil, Flextures::Loader::TRANSLATER[:time].call(nil)
196
- end
197
-
198
- it "空文字はnil" do
199
- assert_equal nil, Flextures::Loader::TRANSLATER[:time].call("")
200
- end
201
- end
202
-
203
- describe :timestamp do
204
- it "正常値の文字列はDateTimeに変換" do
205
- assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:timestamp].call("2011/11/21").strftime("%Y/%m/%d")
206
- end
207
-
208
- it "Timeオブジェクト" do
209
- now = Time.now
210
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:timestamp].call(now).strftime("%Y/%m/%d")
211
- end
212
-
213
- it "DateTimeオブジェクトはDateTime" do
214
- now = DateTime.now
215
- assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:timestamp].call(now).strftime("%Y/%m/%d")
216
- end
217
-
218
- it "日付っぽい数字はDateTime" do
219
- now = "20111121"
220
- assert_equal true, Flextures::Loader::TRANSLATER[:timestamp].call(now).is_a?(DateTime)
221
- end
222
-
223
- it "nilからnil" do
224
- assert_equal nil, Flextures::Loader::TRANSLATER[:timestamp].call(nil)
225
- end
226
-
227
- it "空文字はnil" do
228
- assert_equal nil, Flextures::Loader::TRANSLATER[:timestamp].call("")
229
- end
230
- end
231
- describe ".stair_list" do
232
- describe " stair is 'false' " do
233
- describe "argument is null" do
234
- before do
235
- @list = Flextures::Loader::stair_list nil, false
236
- end
237
-
238
- it " return array include only empty string" do
239
- assert_equal @list, [""]
240
- end
241
- end
242
- describe "argument is empty string" do
243
- before do
244
- @list = Flextures::Loader::stair_list "", false
245
- end
246
-
247
- it " return array include only empty string" do
248
- assert_equal @list, [""]
249
- end
250
- end
251
-
252
- describe "include '/' mark" do
253
- before do
254
- @list = Flextures::Loader::stair_list "a/b/c", false
255
- end
256
-
257
- it " return directory list" do
258
- assert_equal @list, ["a/b/c"]
259
- end
260
- end
261
- end
262
-
263
- describe " stair is 'true' " do
264
- describe "argument is null" do
265
- before do
266
- @list = Flextures::Loader::stair_list nil, true
267
- end
268
-
269
- it " return array include only empty string" do
270
- assert_equal @list, [""]
271
- end
272
- end
273
-
274
- describe "include '/' mark" do
275
- before do
276
- @list = Flextures::Loader::stair_list "a/b/c", true
277
- end
278
-
279
- it " return directory list" do
280
- assert_equal @list, ["a/b/c","a/b","a",""]
281
- end
282
- end
283
- end
284
-
285
- describe ".loading_order" do
286
- describe "simple test" do
287
- before do
288
- @proc = Flextures::Loader.loading_order
289
- end
290
-
291
- it "not sort" do
292
- assert_equal ["a","b","c"].sort(&@proc), ["a","b","c"]
293
- end
294
- end
295
-
296
- describe "set orderd table name" do
297
- before do
298
- Flextures::Configuration.table_load_order=["b"]
299
- @proc = Flextures::Loader.loading_order
300
- end
301
-
302
- it "first table name is setted table" do
303
- assert_equal ["a","b","c"].sort(&@proc), ["b","a","c"]
304
- end
305
-
306
- after do
307
- Flextures::Configuration.table_load_order=[]
308
- end
309
- end
310
- end
311
- end
312
- end
313
- end
1
+ $:.push( File.join(File.dirname(File.expand_path(__FILE__)), '../') )
2
+ require 'test_helper'
3
+
4
+ describe Flextures::Loader do
5
+ describe "TRANSLATER" do
6
+ describe :binary do
7
+ it "'nil' value not changed" do
8
+ assert_equal nil, Flextures::Loader::TRANSLATER[:binary].call(nil)
9
+ end
10
+ end
11
+
12
+ describe :boolean do
13
+ it "'nil' value not changed" do
14
+ assert_equal nil, Flextures::Loader::TRANSLATER[:boolean].call(nil)
15
+ end
16
+
17
+ it "true value not changed" do
18
+ assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call(true)
19
+ end
20
+
21
+ it "false value not changed" do
22
+ assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call(false)
23
+ end
24
+
25
+ it "0 is change to 'false'" do
26
+ assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call(0)
27
+ end
28
+
29
+ it "1 is change to 'true'" do
30
+ assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call(1)
31
+ end
32
+
33
+ it "-1 is change to 'true'" do
34
+ assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call(-1)
35
+ end
36
+
37
+ it "'0' is change to 'false'" do
38
+ assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call('0')
39
+ end
40
+
41
+ it "'1' is change to 'true'" do
42
+ assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call('1')
43
+ end
44
+
45
+ it "'true' value not changed" do
46
+ assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call('true')
47
+ end
48
+
49
+ it "'false' value not changed" do
50
+ assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call('false')
51
+ end
52
+
53
+ it "'non-falsy string data' is change to 'true'" do
54
+ assert_equal true, Flextures::Loader::TRANSLATER[:boolean].call("Hello")
55
+ end
56
+
57
+ it "'empty string' is change to 'true'" do
58
+ assert_equal false, Flextures::Loader::TRANSLATER[:boolean].call("")
59
+ end
60
+ end
61
+
62
+ describe :date do
63
+ it "正常値の文字列" do
64
+ assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:date].call("2011/11/21").strftime("%Y/%m/%d")
65
+ end
66
+
67
+ it "Timeオブジェクト" do
68
+ now = Time.now
69
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
70
+ end
71
+
72
+ it "DateTimeオブジェクト" do
73
+ now = DateTime.now
74
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
75
+ end
76
+
77
+ it "日付っぽい数字" do
78
+ now = "20111121"
79
+ assert_equal true, Flextures::Loader::TRANSLATER[:date].call(now).is_a?(Date)
80
+ end
81
+
82
+ it "nil" do
83
+ assert_equal nil, Flextures::Loader::TRANSLATER[:date].call(nil)
84
+ end
85
+
86
+ it "空文字" do
87
+ assert_equal nil, Flextures::Loader::TRANSLATER[:date].call("")
88
+ end
89
+ end
90
+
91
+ describe :datetime do
92
+ it "正常値の文字列" do
93
+ assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:date].call("2011/11/21").strftime("%Y/%m/%d")
94
+ end
95
+
96
+ it "Timeオブジェクト" do
97
+ now = Time.now
98
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
99
+ end
100
+
101
+ it "DateTimeオブジェクト" do
102
+ now = DateTime.now
103
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:date].call(now).strftime("%Y/%m/%d")
104
+ end
105
+
106
+ it "日付っぽい数字" do
107
+ now = "20111121"
108
+ assert_equal true, Flextures::Loader::TRANSLATER[:date].call(now).is_a?(Date)
109
+ end
110
+
111
+ it "nil" do
112
+ assert_equal nil, Flextures::Loader::TRANSLATER[:date].call(nil)
113
+ end
114
+
115
+ it "空文字" do
116
+ assert_equal nil, Flextures::Loader::TRANSLATER[:date].call("")
117
+ end
118
+ end
119
+
120
+ describe :decimal do
121
+ it "null" do
122
+ assert_equal nil, Flextures::Loader::TRANSLATER[:decimal].call(nil)
123
+ end
124
+ end
125
+
126
+ describe :float do
127
+ it "null" do
128
+ assert_equal nil, Flextures::Loader::TRANSLATER[:float].call(nil)
129
+ end
130
+ end
131
+
132
+ describe :integer do
133
+ it "null" do
134
+ assert_equal nil, Flextures::Loader::TRANSLATER[:integer].call(nil)
135
+ end
136
+ end
137
+
138
+ describe :string do
139
+ it "null" do
140
+ assert_equal nil, Flextures::Loader::TRANSLATER[:string].call(nil)
141
+ end
142
+
143
+ it "空文字" do
144
+ assert_equal "", Flextures::Loader::TRANSLATER[:string].call("")
145
+ end
146
+
147
+ it "タブ混じり" do
148
+ s="\taaaaa"
149
+ assert_equal s, Flextures::Loader::TRANSLATER[:string].call(s)
150
+ end
151
+
152
+ it "改行混じり" do
153
+ s="aa\naaa"
154
+ assert_equal s, Flextures::Loader::TRANSLATER[:string].call(s)
155
+ end
156
+
157
+ it "スペース混じり" do
158
+ s="aa aaa"
159
+ assert_equal s, Flextures::Loader::TRANSLATER[:string].call(s)
160
+ end
161
+ # "@#%{}|[]&:`'>?~"
162
+ end
163
+
164
+ describe :text do
165
+ it "null" do
166
+ assert_equal nil, Flextures::Loader::TRANSLATER[:text].call(nil)
167
+ end
168
+
169
+ it "空文字" do
170
+ assert_equal "", Flextures::Loader::TRANSLATER[:text].call("")
171
+ end
172
+ end
173
+
174
+ describe :time do
175
+ it "正常値の文字列" do
176
+ assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:time].call("2011/11/21").strftime("%Y/%m/%d")
177
+ end
178
+
179
+ it "Timeオブジェクト" do
180
+ now = Time.now
181
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:time].call(now).strftime("%Y/%m/%d")
182
+ end
183
+
184
+ it "DateTimeオブジェクト" do
185
+ now = DateTime.now
186
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:time].call(now).strftime("%Y/%m/%d")
187
+ end
188
+
189
+ it "日付っぽい数字はDateTime型" do
190
+ now = "20111121"
191
+ assert_equal true, Flextures::Loader::TRANSLATER[:time].call(now).is_a?(DateTime)
192
+ end
193
+
194
+ it "nilはnilのまま" do
195
+ assert_equal nil, Flextures::Loader::TRANSLATER[:time].call(nil)
196
+ end
197
+
198
+ it "空文字はnil" do
199
+ assert_equal nil, Flextures::Loader::TRANSLATER[:time].call("")
200
+ end
201
+ end
202
+
203
+ describe :timestamp do
204
+ it "正常値の文字列はDateTimeに変換" do
205
+ assert_equal "2011/11/21", Flextures::Loader::TRANSLATER[:timestamp].call("2011/11/21").strftime("%Y/%m/%d")
206
+ end
207
+
208
+ it "Timeオブジェクト" do
209
+ now = Time.now
210
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:timestamp].call(now).strftime("%Y/%m/%d")
211
+ end
212
+
213
+ it "DateTimeオブジェクトはDateTime" do
214
+ now = DateTime.now
215
+ assert_equal now.strftime("%Y/%m/%d"), Flextures::Loader::TRANSLATER[:timestamp].call(now).strftime("%Y/%m/%d")
216
+ end
217
+
218
+ it "日付っぽい数字はDateTime" do
219
+ now = "20111121"
220
+ assert_equal true, Flextures::Loader::TRANSLATER[:timestamp].call(now).is_a?(DateTime)
221
+ end
222
+
223
+ it "nilからnil" do
224
+ assert_equal nil, Flextures::Loader::TRANSLATER[:timestamp].call(nil)
225
+ end
226
+
227
+ it "空文字はnil" do
228
+ assert_equal nil, Flextures::Loader::TRANSLATER[:timestamp].call("")
229
+ end
230
+ end
231
+ describe ".stair_list" do
232
+ describe " stair is 'false' " do
233
+ describe "argument is null" do
234
+ before do
235
+ @list = Flextures::Loader::stair_list nil, false
236
+ end
237
+
238
+ it " return array include only empty string" do
239
+ assert_equal @list, [""]
240
+ end
241
+ end
242
+ describe "argument is empty string" do
243
+ before do
244
+ @list = Flextures::Loader::stair_list "", false
245
+ end
246
+
247
+ it " return array include only empty string" do
248
+ assert_equal @list, [""]
249
+ end
250
+ end
251
+
252
+ describe "include '/' mark" do
253
+ before do
254
+ @list = Flextures::Loader::stair_list "a/b/c", false
255
+ end
256
+
257
+ it " return directory list" do
258
+ assert_equal @list, ["a/b/c"]
259
+ end
260
+ end
261
+ end
262
+
263
+ describe " stair is 'true' " do
264
+ describe "argument is null" do
265
+ before do
266
+ @list = Flextures::Loader::stair_list nil, true
267
+ end
268
+
269
+ it " return array include only empty string" do
270
+ assert_equal @list, [""]
271
+ end
272
+ end
273
+
274
+ describe "include '/' mark" do
275
+ before do
276
+ @list = Flextures::Loader::stair_list "a/b/c", true
277
+ end
278
+
279
+ it " return directory list" do
280
+ assert_equal @list, ["a/b/c","a/b","a",""]
281
+ end
282
+ end
283
+ end
284
+
285
+ describe ".loading_order" do
286
+ describe "simple test" do
287
+ before do
288
+ @proc = Flextures::Loader.loading_order
289
+ end
290
+
291
+ it "not sort" do
292
+ assert_equal ["a","b","c"].sort(&@proc), ["a","b","c"]
293
+ end
294
+ end
295
+
296
+ describe "set orderd table name" do
297
+ before do
298
+ Flextures::Configuration.table_load_order=["b"]
299
+ @proc = Flextures::Loader.loading_order
300
+ end
301
+
302
+ it "first table name is setted table" do
303
+ assert_equal ["a","b","c"].sort(&@proc), ["b","a","c"]
304
+ end
305
+
306
+ after do
307
+ Flextures::Configuration.table_load_order=[]
308
+ end
309
+ end
310
+ end
311
+ end
312
+ end
313
+ end