s2container 0.8.0
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/Apache_Software_License_2.0.txt +202 -0
- data/ChangeLog +1 -0
- data/ChangeLog.ja +64 -0
- data/README +9 -0
- data/Rakefile +51 -0
- data/example/example01/example.rb +13 -0
- data/example/example01/run.rb +20 -0
- data/example/example02/example.rb +30 -0
- data/example/example02/run.rb +8 -0
- data/example/example03/example.rb +8 -0
- data/example/example03/run.rb +12 -0
- data/example/example04/example.rb +9 -0
- data/example/example04/run.rb +15 -0
- data/example/example05/example.rb +9 -0
- data/example/example05/run.rb +21 -0
- data/example/example06/example.rb +9 -0
- data/example/example06/run.rb +8 -0
- data/example/example07/example.rb +8 -0
- data/example/example07/run.rb +15 -0
- data/example/example08/example.rb +9 -0
- data/example/example08/run.rb +19 -0
- data/example/example09/example.rb +7 -0
- data/example/example09/run.rb +11 -0
- data/example/example10/example.rb +9 -0
- data/example/example10/run.rb +10 -0
- data/example/example11/example.rb +18 -0
- data/example/example11/run.rb +10 -0
- data/example/example12/example.rb +9 -0
- data/example/example12/run.rb +8 -0
- data/example/example13/example.rb +18 -0
- data/example/example13/example.sql +4 -0
- data/example/example13/run.rb +22 -0
- data/example/example13/sample.db +0 -0
- data/example/example14/example.db +0 -0
- data/example/example14/example.rb +57 -0
- data/example/example14/example.sql +50 -0
- data/example/example14/run1.rb +23 -0
- data/example/example14/run2.rb +28 -0
- data/example/example14/run3.rb +25 -0
- data/example/example14/run4.rb +23 -0
- data/example/example14/run5.rb +35 -0
- data/example/example15/example.rb +20 -0
- data/example/example15/run.rb +28 -0
- data/example/example16/example.rb +15 -0
- data/example/example16/run.rb +24 -0
- data/example/quickstart/quickstart1/quickstart.rb +10 -0
- data/example/quickstart/quickstart2/quickstart.rb +9 -0
- data/example/quickstart/quickstart3/quickstart.rb +9 -0
- data/example/quickstart/quickstart4/quickstart.rb +14 -0
- data/example/quickstart/quickstart5/quickstart.rb +21 -0
- data/example/quickstart/quickstart6/quickstart.rb +28 -0
- data/example/quickstart/quickstart7/quickstart.rb +18 -0
- data/lib/s2container.rb +25 -0
- data/lib/seasar/aop/aspect.rb +30 -0
- data/lib/seasar/aop/interceptor/trace-interceptor.rb +48 -0
- data/lib/seasar/aop/method-invocation.rb +57 -0
- data/lib/seasar/aop/pointcut.rb +53 -0
- data/lib/seasar/aop/s2aop-factory.rb +125 -0
- data/lib/seasar/aop.rb +29 -0
- data/lib/seasar/beans/abstract-property-desc.rb +59 -0
- data/lib/seasar/beans/attribute-accessor-desc.rb +60 -0
- data/lib/seasar/beans/bean-desc-factory.rb +68 -0
- data/lib/seasar/beans/bean-desc.rb +232 -0
- data/lib/seasar/beans/instance-variable-desc.rb +58 -0
- data/lib/seasar/beans.rb +29 -0
- data/lib/seasar/container/arg-def.rb +51 -0
- data/lib/seasar/container/aspect-def.rb +60 -0
- data/lib/seasar/container/aspect-info-def.rb +94 -0
- data/lib/seasar/container/assembler/abstract-assembler.rb +68 -0
- data/lib/seasar/container/assembler/auto-property-assembler.rb +57 -0
- data/lib/seasar/container/assembler/autobinding-auto-def.rb +55 -0
- data/lib/seasar/container/assembler/autobinding-def-factory.rb +57 -0
- data/lib/seasar/container/assembler/autobinding-none-def.rb +53 -0
- data/lib/seasar/container/assembler/manual-constructor-assembler.rb +67 -0
- data/lib/seasar/container/assembler/manual-property-assembler.rb +68 -0
- data/lib/seasar/container/autobinding-def.rb +36 -0
- data/lib/seasar/container/component-def.rb +229 -0
- data/lib/seasar/container/component-info-def.rb +117 -0
- data/lib/seasar/container/deployer/abstract-component-deployer.rb +47 -0
- data/lib/seasar/container/deployer/instance-def-factory.rb +56 -0
- data/lib/seasar/container/deployer/instance-outer-def.rb +44 -0
- data/lib/seasar/container/deployer/instance-prototype-def.rb +44 -0
- data/lib/seasar/container/deployer/instance-singleton-def.rb +42 -0
- data/lib/seasar/container/deployer/outer-component-deployer.rb +47 -0
- data/lib/seasar/container/deployer/prototype-component-deployer.rb +51 -0
- data/lib/seasar/container/deployer/singleton-component-deployer.rb +54 -0
- data/lib/seasar/container/exception/component-notfound-runtime-exception.rb +44 -0
- data/lib/seasar/container/exception/cyclic-reference-runtime-exception.rb +43 -0
- data/lib/seasar/container/exception/illegal-autobinding-def-runtime-exception.rb +43 -0
- data/lib/seasar/container/exception/illegal-instance-def-runtime-exception.rb +44 -0
- data/lib/seasar/container/exception/toomany-registration-runtime-exception.rb +46 -0
- data/lib/seasar/container/instance-def.rb +37 -0
- data/lib/seasar/container/outer-component-def.rb +34 -0
- data/lib/seasar/container/property-def.rb +43 -0
- data/lib/seasar/container/s2application-context.rb +447 -0
- data/lib/seasar/container/s2container-component-def.rb +41 -0
- data/lib/seasar/container/s2container.rb +308 -0
- data/lib/seasar/container/simple-component-def.rb +45 -0
- data/lib/seasar/container/toomany-registration-component-def.rb +69 -0
- data/lib/seasar/container.rb +143 -0
- data/lib/seasar/dbi/dbi-interceptor.rb +97 -0
- data/lib/seasar/dbi/paginate.rb +215 -0
- data/lib/seasar/dbi.rb +26 -0
- data/lib/seasar/exception/notyet-implemented-exception.rb +25 -0
- data/lib/seasar/exception/property-notfound-runtime-exception.rb +48 -0
- data/lib/seasar/exception/s2runtime-exception.rb +35 -0
- data/lib/seasar/exception/unsupported-operation-exception.rb +25 -0
- data/lib/seasar/exception.rb +27 -0
- data/lib/seasar/log/s2logger.rb +75 -0
- data/lib/seasar/log.rb +38 -0
- data/lib/seasar/util/class-util.rb +116 -0
- data/lib/seasar/util.rb +24 -0
- data/setup.rb +1585 -0
- data/test/seasar/aop/test_pointcut.rb +25 -0
- data/test/seasar/aop/test_s2aop_factory.rb +90 -0
- data/test/seasar/beans/test_bean-desc.rb +179 -0
- data/test/seasar/container/assembler/test_auto_property_assembler.rb +87 -0
- data/test/seasar/container/assembler/test_autobinding_def_factory.rb +22 -0
- data/test/seasar/container/assembler/test_manual_property_assembler.rb +59 -0
- data/test/seasar/container/assembler/test_manula_constructor_assembler.rb +59 -0
- data/test/seasar/container/assembler/test_proc_constructor_assembler.rb +61 -0
- data/test/seasar/container/deployer/test_instance_def_factory.rb +24 -0
- data/test/seasar/container/deployer/test_prototype-deployer.rb +25 -0
- data/test/seasar/container/deployer/test_singleton-component-deployer.rb +24 -0
- data/test/seasar/container/s2app_load_sample.rb +6 -0
- data/test/seasar/container/test_arg-def.rb +34 -0
- data/test/seasar/container/test_aspect-info-def.rb +85 -0
- data/test/seasar/container/test_component-def.rb +91 -0
- data/test/seasar/container/test_component-info-def.rb +88 -0
- data/test/seasar/container/test_s2application-context.rb +290 -0
- data/test/seasar/container/test_s2container.rb +268 -0
- data/test/seasar/dbi/test_paginate.rb +265 -0
- data/test/seasar/test_log.rb +20 -0
- data/test/seasar/test_util.rb +46 -0
- data/test/test-suite.rb +7 -0
- metadata +211 -0
@@ -0,0 +1,268 @@
|
|
1
|
+
module Seasar
|
2
|
+
module Container
|
3
|
+
class TC_S2Container < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
end
|
6
|
+
|
7
|
+
def teardown
|
8
|
+
end
|
9
|
+
|
10
|
+
def test_register
|
11
|
+
container = S2Container.new
|
12
|
+
cd = ComponentDef.new(A, 'a')
|
13
|
+
container.register(cd)
|
14
|
+
assert_equal(1,container.get_component_def_size)
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_get_componet
|
18
|
+
container = S2Container.new
|
19
|
+
cd = ComponentDef.new(A, 'a')
|
20
|
+
container.register(cd)
|
21
|
+
assert_equal(A, container.get_component(A).class)
|
22
|
+
assert_equal(A, container.get_component('a').class)
|
23
|
+
assert_equal(container.get_component(A), container.get_component('a'))
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_child_container
|
27
|
+
container = S2Container.new
|
28
|
+
cd = ComponentDef.new(A, 'a')
|
29
|
+
child = S2Container.new
|
30
|
+
child.namespace = 'child'
|
31
|
+
child.register(cd)
|
32
|
+
container.include(child)
|
33
|
+
assert_equal(A, container.get_component(A).class)
|
34
|
+
assert_equal(S2Container, container.get_component('child').class)
|
35
|
+
assert_equal(A, container.get_component('child.a').class)
|
36
|
+
end
|
37
|
+
|
38
|
+
def test_aspect
|
39
|
+
container = S2Container.new
|
40
|
+
container.register(Seasar::Aop::Interceptor::TraceInterceptor)
|
41
|
+
|
42
|
+
cd = ComponentDef.new(A, 'a')
|
43
|
+
aspect_def = Seasar::Container::AspectDef.new(/^foo$/)
|
44
|
+
aspect_def.child_component_def = container.get_component_def(Seasar::Aop::Interceptor::TraceInterceptor)
|
45
|
+
cd.add_aspect_def(aspect_def)
|
46
|
+
container.register(cd)
|
47
|
+
container.get_component(A).foo
|
48
|
+
end
|
49
|
+
|
50
|
+
def test_component_not_found
|
51
|
+
container = S2Container.new
|
52
|
+
begin
|
53
|
+
container.get_component(A)
|
54
|
+
rescue Seasar::Container::Exception::ComponentNotFoundRuntimeException => e
|
55
|
+
puts e.message
|
56
|
+
end
|
57
|
+
|
58
|
+
begin
|
59
|
+
container.get_component("a")
|
60
|
+
rescue Seasar::Container::Exception::ComponentNotFoundRuntimeException => e
|
61
|
+
puts e.message
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def test_too_many_exception
|
66
|
+
container = S2Container.new
|
67
|
+
cd = ComponentDef.new(A, 'a')
|
68
|
+
container.register(cd)
|
69
|
+
cd = ComponentDef.new(A, 'b')
|
70
|
+
container.register(cd)
|
71
|
+
begin
|
72
|
+
container.get_component(A)
|
73
|
+
rescue Seasar::Container::Exception::TooManyRegistrationRuntimeException => e
|
74
|
+
puts e.message
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def test_cyclic_reference
|
79
|
+
container = S2Container.new
|
80
|
+
cd = ComponentDef.new(D)
|
81
|
+
cd.add_arg_def(ArgDef.new(E))
|
82
|
+
container.register(cd)
|
83
|
+
|
84
|
+
cd = ComponentDef.new(E)
|
85
|
+
cd.add_arg_def(ArgDef.new(D))
|
86
|
+
container.register(cd)
|
87
|
+
begin
|
88
|
+
container.get_component(D)
|
89
|
+
rescue => e
|
90
|
+
assert(e.instance_of?(Seasar::Container::Exception::CyclicReferenceRuntimeException))
|
91
|
+
assert_equal("component class is Seasar::Container::TC_S2Container::D", e.message)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_inject
|
96
|
+
container = S2Container.new
|
97
|
+
cd = ComponentDef.new(B, :b)
|
98
|
+
container.register(cd)
|
99
|
+
c = C.new
|
100
|
+
container.inject(c)
|
101
|
+
assert(c.b.is_a?(B))
|
102
|
+
end
|
103
|
+
|
104
|
+
def test_onetime_proc
|
105
|
+
container = S2Container.new
|
106
|
+
cd = ComponentDef.new(F)
|
107
|
+
container.register(cd)
|
108
|
+
name = "abc"
|
109
|
+
f = container.get(F) {
|
110
|
+
f = F.new
|
111
|
+
f.name = name
|
112
|
+
f
|
113
|
+
}
|
114
|
+
assert_equal("abc", f.name)
|
115
|
+
assert_equal("abc", container[F].name)
|
116
|
+
|
117
|
+
container = S2Container.new
|
118
|
+
cd = ComponentDef.new(F)
|
119
|
+
cd.instance_def = Seasar::Container::Deployer::InstanceDefFactory.get_instance_def(:prototype)
|
120
|
+
|
121
|
+
container.register(cd)
|
122
|
+
name = "abc"
|
123
|
+
f = container.get(F) {
|
124
|
+
f = F.new
|
125
|
+
f.name = name
|
126
|
+
f
|
127
|
+
}
|
128
|
+
assert_equal("abc", f.name)
|
129
|
+
assert_equal("xyz", container.get(F).name)
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_di
|
133
|
+
container = S2Container.new
|
134
|
+
cd = ComponentDef.new(Abc)
|
135
|
+
container.register(cd)
|
136
|
+
cd = ComponentDef.new(DeFg)
|
137
|
+
container.register(cd)
|
138
|
+
abc = container[Abc]
|
139
|
+
assert(abc.de_fg.is_a?(DeFg))
|
140
|
+
assert(container.component_def?(:abc))
|
141
|
+
end
|
142
|
+
|
143
|
+
#
|
144
|
+
# a x
|
145
|
+
# b c y
|
146
|
+
# d e f
|
147
|
+
# g
|
148
|
+
#
|
149
|
+
def test_zzznamespace
|
150
|
+
a = S2Container.new
|
151
|
+
a.namespace = 'a'
|
152
|
+
cd = ComponentDef.new(A)
|
153
|
+
a.register(cd)
|
154
|
+
|
155
|
+
b = S2Container.new
|
156
|
+
b.namespace = 'b'
|
157
|
+
cd = ComponentDef.new(B)
|
158
|
+
b.register(cd)
|
159
|
+
|
160
|
+
c = S2Container.new
|
161
|
+
c.namespace = 'c'
|
162
|
+
cd = ComponentDef.new(C)
|
163
|
+
c.register(cd)
|
164
|
+
|
165
|
+
d = S2Container.new
|
166
|
+
d.namespace = 'd'
|
167
|
+
cd = ComponentDef.new(D)
|
168
|
+
d.register(cd)
|
169
|
+
|
170
|
+
e = S2Container.new
|
171
|
+
e.namespace = 'e'
|
172
|
+
cd = ComponentDef.new(E)
|
173
|
+
e.register(cd)
|
174
|
+
|
175
|
+
f = S2Container.new
|
176
|
+
f.namespace = 'f'
|
177
|
+
cd = ComponentDef.new(F)
|
178
|
+
f.register(cd)
|
179
|
+
|
180
|
+
g = S2Container.new
|
181
|
+
g.namespace = 'g'
|
182
|
+
cd = ComponentDef.new(G, 'Gg')
|
183
|
+
g.register(cd)
|
184
|
+
|
185
|
+
x = S2Container.new
|
186
|
+
x.namespace = 'x'
|
187
|
+
cd = ComponentDef.new(X)
|
188
|
+
x.register(cd)
|
189
|
+
|
190
|
+
y = S2Container.new
|
191
|
+
y.namespace = 'y'
|
192
|
+
cd = ComponentDef.new(Y)
|
193
|
+
y.register(cd)
|
194
|
+
|
195
|
+
a.include(b)
|
196
|
+
a.include(c)
|
197
|
+
b.include(d)
|
198
|
+
b.include(e)
|
199
|
+
c.include(e)
|
200
|
+
c.include(f)
|
201
|
+
d.include(g)
|
202
|
+
e.include(g)
|
203
|
+
f.include(g)
|
204
|
+
|
205
|
+
x.include(y)
|
206
|
+
y.include(f)
|
207
|
+
|
208
|
+
assert_equal(a, g.root)
|
209
|
+
assert(g.parents.member?(e))
|
210
|
+
assert_equal(3, g.parents.size)
|
211
|
+
assert(g.has_component_def(A))
|
212
|
+
assert(g.has_component_def(C))
|
213
|
+
|
214
|
+
assert_equal(x, f.root)
|
215
|
+
assert(g.has_component_def(X))
|
216
|
+
assert(!g.has_component_def('qqq'))
|
217
|
+
assert(g.has_component_def('a.b.d.g'))
|
218
|
+
assert(g.has_component_def('a.c.e.g'))
|
219
|
+
assert(g.has_component_def('x.y.f.g'))
|
220
|
+
assert(g.has_component_def('x.y.f.g.Gg'))
|
221
|
+
end
|
222
|
+
|
223
|
+
class A
|
224
|
+
def foo
|
225
|
+
puts "foo called."
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
class B
|
230
|
+
end
|
231
|
+
|
232
|
+
class C
|
233
|
+
def initialize
|
234
|
+
@b = nil
|
235
|
+
end
|
236
|
+
attr_reader :b
|
237
|
+
end
|
238
|
+
|
239
|
+
class D
|
240
|
+
def initialize(e)
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
244
|
+
class E
|
245
|
+
def initialize(d)
|
246
|
+
end
|
247
|
+
end
|
248
|
+
|
249
|
+
class F
|
250
|
+
def initialize()
|
251
|
+
@name = "xyz"
|
252
|
+
end
|
253
|
+
attr_accessor :name
|
254
|
+
end
|
255
|
+
|
256
|
+
class G
|
257
|
+
end
|
258
|
+
|
259
|
+
class Abc
|
260
|
+
attr_accessor :de_fg
|
261
|
+
end
|
262
|
+
class DeFg; end
|
263
|
+
|
264
|
+
class X;end
|
265
|
+
class Y;end
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|
@@ -0,0 +1,265 @@
|
|
1
|
+
require 'seasar/dbi/paginate'
|
2
|
+
|
3
|
+
module Seasar
|
4
|
+
module DBI
|
5
|
+
class TC_Paginate < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_get_total
|
13
|
+
paginate = Seasar::DBI::Paginate.new
|
14
|
+
begin
|
15
|
+
paginate.total
|
16
|
+
assert(false)
|
17
|
+
rescue => e
|
18
|
+
assert_equal("total not set.", e.message)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_get_total_page
|
23
|
+
paginate = Seasar::DBI::Paginate.new
|
24
|
+
paginate.total = 49
|
25
|
+
assert_equal(paginate.get_total_page, 5)
|
26
|
+
paginate.total = 50
|
27
|
+
assert_equal(paginate.get_total_page, 5)
|
28
|
+
paginate.total = 51
|
29
|
+
assert_equal(paginate.get_total_page, 6)
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_set_page
|
33
|
+
paginate = Seasar::DBI::Paginate.new
|
34
|
+
paginate.total = 55
|
35
|
+
begin
|
36
|
+
paginate.page = 8
|
37
|
+
assert(false)
|
38
|
+
rescue => e
|
39
|
+
assert_equal("8 is out of range 1-6", e.message)
|
40
|
+
end
|
41
|
+
|
42
|
+
paginate.page = 5
|
43
|
+
assert_equal(paginate.page, 5)
|
44
|
+
assert_equal(paginate.offset, 40)
|
45
|
+
|
46
|
+
paginate.page = 2
|
47
|
+
assert_equal(paginate.page, 2)
|
48
|
+
assert_equal(paginate.offset, 10)
|
49
|
+
end
|
50
|
+
|
51
|
+
def test_next
|
52
|
+
paginate = Seasar::DBI::Paginate.new
|
53
|
+
paginate.total = 55
|
54
|
+
paginate.next
|
55
|
+
assert_equal(paginate.page, 2)
|
56
|
+
assert_equal(paginate.offset, 10)
|
57
|
+
|
58
|
+
paginate.page = 6
|
59
|
+
paginate.next
|
60
|
+
assert_equal(paginate.page, 6)
|
61
|
+
assert_equal(paginate.offset, 50)
|
62
|
+
end
|
63
|
+
|
64
|
+
def test_next?
|
65
|
+
paginate = Seasar::DBI::Paginate.new
|
66
|
+
paginate.total = 55
|
67
|
+
assert(paginate.next?)
|
68
|
+
|
69
|
+
paginate.page = 6
|
70
|
+
assert(!paginate.next?)
|
71
|
+
end
|
72
|
+
|
73
|
+
def test_prev
|
74
|
+
paginate = Seasar::DBI::Paginate.new
|
75
|
+
paginate.total = 55
|
76
|
+
|
77
|
+
paginate.page = 6
|
78
|
+
paginate.prev
|
79
|
+
assert_equal(paginate.page, 5)
|
80
|
+
assert_equal(paginate.offset, 40)
|
81
|
+
|
82
|
+
paginate.page = 1
|
83
|
+
paginate.prev
|
84
|
+
assert_equal(paginate.page, 1)
|
85
|
+
assert_equal(paginate.offset, 0)
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_prev?
|
89
|
+
paginate = Seasar::DBI::Paginate.new
|
90
|
+
paginate.total = 55
|
91
|
+
|
92
|
+
paginate.page = 6
|
93
|
+
assert(paginate.prev?)
|
94
|
+
|
95
|
+
paginate.page = 1
|
96
|
+
assert(!paginate.prev?)
|
97
|
+
end
|
98
|
+
|
99
|
+
def test_page_list
|
100
|
+
paginate = Seasar::DBI::Paginate.new
|
101
|
+
paginate.window_size = 5
|
102
|
+
paginate.total = 30 # total pages : 3
|
103
|
+
paginate.page = 1
|
104
|
+
assert_equal(paginate.page_range, 1..3)
|
105
|
+
|
106
|
+
paginate.window_size = 5
|
107
|
+
paginate.total = 200 # total pages : 20
|
108
|
+
paginate.page = 1
|
109
|
+
assert_equal(paginate.page_range, 1..5)
|
110
|
+
paginate.page = 2
|
111
|
+
assert_equal(paginate.page_range, 1..5)
|
112
|
+
paginate.page = 3
|
113
|
+
assert_equal(paginate.page_range, 1..5)
|
114
|
+
paginate.page = 4
|
115
|
+
assert_equal(paginate.page_range, 2..6)
|
116
|
+
paginate.page = 5
|
117
|
+
assert_equal(paginate.page_range, 3..7)
|
118
|
+
|
119
|
+
paginate.window_size = 5
|
120
|
+
paginate.total = 200 # total pages : 20
|
121
|
+
paginate.page = 20
|
122
|
+
assert_equal(paginate.page_range, 16..20)
|
123
|
+
paginate.page = 19
|
124
|
+
assert_equal(paginate.page_range, 16..20)
|
125
|
+
paginate.page = 18
|
126
|
+
assert_equal(paginate.page_range, 16..20)
|
127
|
+
paginate.page = 17
|
128
|
+
assert_equal(paginate.page_range, 15..19)
|
129
|
+
paginate.page = 16
|
130
|
+
assert_equal(paginate.page_range, 14..18)
|
131
|
+
|
132
|
+
paginate.window_size = 5
|
133
|
+
paginate.total = 200 # total pages : 20
|
134
|
+
paginate.page = 6
|
135
|
+
assert_equal(paginate.page_range, 4..8)
|
136
|
+
|
137
|
+
paginate.window_size = 5
|
138
|
+
paginate.total = 200 # total pages : 20
|
139
|
+
paginate.page = 14
|
140
|
+
assert_equal(paginate.page_range, 12..16)
|
141
|
+
|
142
|
+
paginate.window_size = 6
|
143
|
+
paginate.total = 200 # total pages : 20
|
144
|
+
paginate.page = 1
|
145
|
+
assert_equal(paginate.page_range, 1..6)
|
146
|
+
paginate.page = 2
|
147
|
+
assert_equal(paginate.page_range, 1..6)
|
148
|
+
paginate.page = 3
|
149
|
+
assert_equal(paginate.page_range, 1..6)
|
150
|
+
paginate.page = 4
|
151
|
+
assert_equal(paginate.page_range, 1..6)
|
152
|
+
paginate.page = 5
|
153
|
+
assert_equal(paginate.page_range, 2..7)
|
154
|
+
|
155
|
+
paginate.window_size = 6
|
156
|
+
paginate.total = 200 # total pages : 20
|
157
|
+
paginate.page = 20
|
158
|
+
assert_equal(paginate.page_range, 15..20)
|
159
|
+
paginate.page = 19
|
160
|
+
assert_equal(paginate.page_range, 15..20)
|
161
|
+
paginate.page = 18
|
162
|
+
assert_equal(paginate.page_range, 15..20)
|
163
|
+
paginate.page = 17
|
164
|
+
assert_equal(paginate.page_range, 14..19)
|
165
|
+
paginate.page = 16
|
166
|
+
assert_equal(paginate.page_range, 13..18)
|
167
|
+
|
168
|
+
paginate.window_size = 6
|
169
|
+
paginate.total = 200 # total pages : 20
|
170
|
+
paginate.page = 6
|
171
|
+
assert_equal(paginate.page_range, 3..8)
|
172
|
+
paginate.page = 7
|
173
|
+
assert_equal(paginate.page_range, 4..9)
|
174
|
+
|
175
|
+
paginate.window_size = 6
|
176
|
+
paginate.total = 200 # total pages : 20
|
177
|
+
paginate.page = 14
|
178
|
+
assert_equal(paginate.page_range, 11..16)
|
179
|
+
paginate.page = 13
|
180
|
+
assert_equal(paginate.page_range, 10..15)
|
181
|
+
|
182
|
+
paginate.window_size = 2
|
183
|
+
paginate.total = 5 # total pages : 1
|
184
|
+
paginate.page = 1
|
185
|
+
assert_equal(paginate.page_range, 1..1);
|
186
|
+
|
187
|
+
paginate.window_size = 2
|
188
|
+
paginate.total = 20 # total pages : 2
|
189
|
+
paginate.page = 1
|
190
|
+
assert_equal(paginate.page_range, 1..2)
|
191
|
+
paginate.page = 2
|
192
|
+
assert_equal(paginate.page_range, 1..2)
|
193
|
+
|
194
|
+
|
195
|
+
paginate.window_size = 2
|
196
|
+
paginate.total = 200 #total pages : 20
|
197
|
+
paginate.page = 1
|
198
|
+
assert_equal(paginate.page_range, 1..2)
|
199
|
+
paginate.page = 2
|
200
|
+
assert_equal(paginate.page_range, 1..2)
|
201
|
+
paginate.page = 3
|
202
|
+
assert_equal(paginate.page_range, 2..3)
|
203
|
+
paginate.page = 4
|
204
|
+
assert_equal(paginate.page_range, 3..4)
|
205
|
+
paginate.page = 5
|
206
|
+
assert_equal(paginate.page_range, 4..5)
|
207
|
+
|
208
|
+
paginate.page = 20
|
209
|
+
assert_equal(paginate.page_range, 19..20)
|
210
|
+
paginate.page = 19
|
211
|
+
assert_equal(paginate.page_range, 18..19)
|
212
|
+
paginate.page = 18
|
213
|
+
assert_equal(paginate.page_range, 17..18)
|
214
|
+
paginate.page = 17
|
215
|
+
assert_equal(paginate.page_range, 16..17)
|
216
|
+
end
|
217
|
+
|
218
|
+
def test_get_data
|
219
|
+
paginate = Seasar::DBI::Paginate.new
|
220
|
+
data = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
|
221
|
+
paginate.limit = 3
|
222
|
+
paginate.data = data
|
223
|
+
assert_equal(paginate.data, ['a', 'b', 'c'])
|
224
|
+
paginate.next
|
225
|
+
assert_equal(paginate.data, ['d', 'e', 'f'])
|
226
|
+
paginate.next
|
227
|
+
assert_equal(paginate.data, ['g'])
|
228
|
+
paginate.next
|
229
|
+
assert_equal(paginate.data, ['g'])
|
230
|
+
paginate.prev
|
231
|
+
assert_equal(paginate.data, ['d', 'e', 'f'])
|
232
|
+
paginate.prev
|
233
|
+
assert_equal(paginate.data, ['a', 'b', 'c'])
|
234
|
+
paginate.prev
|
235
|
+
assert_equal(paginate.data, ['a', 'b', 'c'])
|
236
|
+
end
|
237
|
+
|
238
|
+
def test_move
|
239
|
+
paginate = Seasar::DBI::Paginate.new
|
240
|
+
paginate.total = 50
|
241
|
+
|
242
|
+
paginate.move(:n)
|
243
|
+
assert_equal(2, paginate.page)
|
244
|
+
paginate.move(:next)
|
245
|
+
assert_equal(3, paginate.page)
|
246
|
+
|
247
|
+
paginate.move(:p)
|
248
|
+
assert_equal(2, paginate.page)
|
249
|
+
paginate.move(:prev)
|
250
|
+
assert_equal(1, paginate.page)
|
251
|
+
|
252
|
+
paginate.move(:g, 5)
|
253
|
+
assert_equal(5, paginate.page)
|
254
|
+
paginate.move(:n)
|
255
|
+
assert_equal(5, paginate.page)
|
256
|
+
|
257
|
+
paginate.move(:g, 1)
|
258
|
+
assert_equal(1, paginate.page)
|
259
|
+
paginate.move(:p)
|
260
|
+
assert_equal(1, paginate.page)
|
261
|
+
|
262
|
+
end
|
263
|
+
end
|
264
|
+
end
|
265
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'seasar/log'
|
2
|
+
|
3
|
+
module Seasar
|
4
|
+
module Log
|
5
|
+
class TC_S2Logger < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_logging
|
13
|
+
#logger = s2logger('/tmp/a.log')
|
14
|
+
logger = s2logger
|
15
|
+
logger.level = Logger::DEBUG
|
16
|
+
s2logger.debug(self) {"debug level logging"}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'seasar/util'
|
2
|
+
|
3
|
+
module Seasar
|
4
|
+
module Util
|
5
|
+
class TC_ClassUtil < Test::Unit::TestCase
|
6
|
+
def setup
|
7
|
+
end
|
8
|
+
|
9
|
+
def teardown
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_get_instance_attributes
|
13
|
+
assert_equal([:@a], Seasar::Util::ClassUtil.get_instance_attributes(A.new).keys)
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_ub_name
|
17
|
+
assert_equal(:a, Seasar::Util::ClassUtil.ub_name(A))
|
18
|
+
assert_equal(:abc_def, Seasar::Util::ClassUtil.ub_name(AbcDef))
|
19
|
+
assert_equal(:abcde, Seasar::Util::ClassUtil.ub_name(ABCde))
|
20
|
+
assert_equal(:abcde_fg, Seasar::Util::ClassUtil.ub_name(ABCdeFG))
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_module_name
|
24
|
+
assert_equal('Seasar::Util::TC_ClassUtil', Seasar::Util::ClassUtil.module_name(A))
|
25
|
+
end
|
26
|
+
|
27
|
+
class A
|
28
|
+
def initialize
|
29
|
+
@a = "abc"
|
30
|
+
@_b = "abc"
|
31
|
+
@c_ = "abc"
|
32
|
+
end
|
33
|
+
|
34
|
+
def a; end
|
35
|
+
def _b; end
|
36
|
+
def c_; end
|
37
|
+
def d?; end
|
38
|
+
end
|
39
|
+
|
40
|
+
class AbcDef; end
|
41
|
+
class AbcDef_; end
|
42
|
+
class ABCde; end
|
43
|
+
class ABCdeFG; end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|