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.
Files changed (136) hide show
  1. data/Apache_Software_License_2.0.txt +202 -0
  2. data/ChangeLog +1 -0
  3. data/ChangeLog.ja +64 -0
  4. data/README +9 -0
  5. data/Rakefile +51 -0
  6. data/example/example01/example.rb +13 -0
  7. data/example/example01/run.rb +20 -0
  8. data/example/example02/example.rb +30 -0
  9. data/example/example02/run.rb +8 -0
  10. data/example/example03/example.rb +8 -0
  11. data/example/example03/run.rb +12 -0
  12. data/example/example04/example.rb +9 -0
  13. data/example/example04/run.rb +15 -0
  14. data/example/example05/example.rb +9 -0
  15. data/example/example05/run.rb +21 -0
  16. data/example/example06/example.rb +9 -0
  17. data/example/example06/run.rb +8 -0
  18. data/example/example07/example.rb +8 -0
  19. data/example/example07/run.rb +15 -0
  20. data/example/example08/example.rb +9 -0
  21. data/example/example08/run.rb +19 -0
  22. data/example/example09/example.rb +7 -0
  23. data/example/example09/run.rb +11 -0
  24. data/example/example10/example.rb +9 -0
  25. data/example/example10/run.rb +10 -0
  26. data/example/example11/example.rb +18 -0
  27. data/example/example11/run.rb +10 -0
  28. data/example/example12/example.rb +9 -0
  29. data/example/example12/run.rb +8 -0
  30. data/example/example13/example.rb +18 -0
  31. data/example/example13/example.sql +4 -0
  32. data/example/example13/run.rb +22 -0
  33. data/example/example13/sample.db +0 -0
  34. data/example/example14/example.db +0 -0
  35. data/example/example14/example.rb +57 -0
  36. data/example/example14/example.sql +50 -0
  37. data/example/example14/run1.rb +23 -0
  38. data/example/example14/run2.rb +28 -0
  39. data/example/example14/run3.rb +25 -0
  40. data/example/example14/run4.rb +23 -0
  41. data/example/example14/run5.rb +35 -0
  42. data/example/example15/example.rb +20 -0
  43. data/example/example15/run.rb +28 -0
  44. data/example/example16/example.rb +15 -0
  45. data/example/example16/run.rb +24 -0
  46. data/example/quickstart/quickstart1/quickstart.rb +10 -0
  47. data/example/quickstart/quickstart2/quickstart.rb +9 -0
  48. data/example/quickstart/quickstart3/quickstart.rb +9 -0
  49. data/example/quickstart/quickstart4/quickstart.rb +14 -0
  50. data/example/quickstart/quickstart5/quickstart.rb +21 -0
  51. data/example/quickstart/quickstart6/quickstart.rb +28 -0
  52. data/example/quickstart/quickstart7/quickstart.rb +18 -0
  53. data/lib/s2container.rb +25 -0
  54. data/lib/seasar/aop/aspect.rb +30 -0
  55. data/lib/seasar/aop/interceptor/trace-interceptor.rb +48 -0
  56. data/lib/seasar/aop/method-invocation.rb +57 -0
  57. data/lib/seasar/aop/pointcut.rb +53 -0
  58. data/lib/seasar/aop/s2aop-factory.rb +125 -0
  59. data/lib/seasar/aop.rb +29 -0
  60. data/lib/seasar/beans/abstract-property-desc.rb +59 -0
  61. data/lib/seasar/beans/attribute-accessor-desc.rb +60 -0
  62. data/lib/seasar/beans/bean-desc-factory.rb +68 -0
  63. data/lib/seasar/beans/bean-desc.rb +232 -0
  64. data/lib/seasar/beans/instance-variable-desc.rb +58 -0
  65. data/lib/seasar/beans.rb +29 -0
  66. data/lib/seasar/container/arg-def.rb +51 -0
  67. data/lib/seasar/container/aspect-def.rb +60 -0
  68. data/lib/seasar/container/aspect-info-def.rb +94 -0
  69. data/lib/seasar/container/assembler/abstract-assembler.rb +68 -0
  70. data/lib/seasar/container/assembler/auto-property-assembler.rb +57 -0
  71. data/lib/seasar/container/assembler/autobinding-auto-def.rb +55 -0
  72. data/lib/seasar/container/assembler/autobinding-def-factory.rb +57 -0
  73. data/lib/seasar/container/assembler/autobinding-none-def.rb +53 -0
  74. data/lib/seasar/container/assembler/manual-constructor-assembler.rb +67 -0
  75. data/lib/seasar/container/assembler/manual-property-assembler.rb +68 -0
  76. data/lib/seasar/container/autobinding-def.rb +36 -0
  77. data/lib/seasar/container/component-def.rb +229 -0
  78. data/lib/seasar/container/component-info-def.rb +117 -0
  79. data/lib/seasar/container/deployer/abstract-component-deployer.rb +47 -0
  80. data/lib/seasar/container/deployer/instance-def-factory.rb +56 -0
  81. data/lib/seasar/container/deployer/instance-outer-def.rb +44 -0
  82. data/lib/seasar/container/deployer/instance-prototype-def.rb +44 -0
  83. data/lib/seasar/container/deployer/instance-singleton-def.rb +42 -0
  84. data/lib/seasar/container/deployer/outer-component-deployer.rb +47 -0
  85. data/lib/seasar/container/deployer/prototype-component-deployer.rb +51 -0
  86. data/lib/seasar/container/deployer/singleton-component-deployer.rb +54 -0
  87. data/lib/seasar/container/exception/component-notfound-runtime-exception.rb +44 -0
  88. data/lib/seasar/container/exception/cyclic-reference-runtime-exception.rb +43 -0
  89. data/lib/seasar/container/exception/illegal-autobinding-def-runtime-exception.rb +43 -0
  90. data/lib/seasar/container/exception/illegal-instance-def-runtime-exception.rb +44 -0
  91. data/lib/seasar/container/exception/toomany-registration-runtime-exception.rb +46 -0
  92. data/lib/seasar/container/instance-def.rb +37 -0
  93. data/lib/seasar/container/outer-component-def.rb +34 -0
  94. data/lib/seasar/container/property-def.rb +43 -0
  95. data/lib/seasar/container/s2application-context.rb +447 -0
  96. data/lib/seasar/container/s2container-component-def.rb +41 -0
  97. data/lib/seasar/container/s2container.rb +308 -0
  98. data/lib/seasar/container/simple-component-def.rb +45 -0
  99. data/lib/seasar/container/toomany-registration-component-def.rb +69 -0
  100. data/lib/seasar/container.rb +143 -0
  101. data/lib/seasar/dbi/dbi-interceptor.rb +97 -0
  102. data/lib/seasar/dbi/paginate.rb +215 -0
  103. data/lib/seasar/dbi.rb +26 -0
  104. data/lib/seasar/exception/notyet-implemented-exception.rb +25 -0
  105. data/lib/seasar/exception/property-notfound-runtime-exception.rb +48 -0
  106. data/lib/seasar/exception/s2runtime-exception.rb +35 -0
  107. data/lib/seasar/exception/unsupported-operation-exception.rb +25 -0
  108. data/lib/seasar/exception.rb +27 -0
  109. data/lib/seasar/log/s2logger.rb +75 -0
  110. data/lib/seasar/log.rb +38 -0
  111. data/lib/seasar/util/class-util.rb +116 -0
  112. data/lib/seasar/util.rb +24 -0
  113. data/setup.rb +1585 -0
  114. data/test/seasar/aop/test_pointcut.rb +25 -0
  115. data/test/seasar/aop/test_s2aop_factory.rb +90 -0
  116. data/test/seasar/beans/test_bean-desc.rb +179 -0
  117. data/test/seasar/container/assembler/test_auto_property_assembler.rb +87 -0
  118. data/test/seasar/container/assembler/test_autobinding_def_factory.rb +22 -0
  119. data/test/seasar/container/assembler/test_manual_property_assembler.rb +59 -0
  120. data/test/seasar/container/assembler/test_manula_constructor_assembler.rb +59 -0
  121. data/test/seasar/container/assembler/test_proc_constructor_assembler.rb +61 -0
  122. data/test/seasar/container/deployer/test_instance_def_factory.rb +24 -0
  123. data/test/seasar/container/deployer/test_prototype-deployer.rb +25 -0
  124. data/test/seasar/container/deployer/test_singleton-component-deployer.rb +24 -0
  125. data/test/seasar/container/s2app_load_sample.rb +6 -0
  126. data/test/seasar/container/test_arg-def.rb +34 -0
  127. data/test/seasar/container/test_aspect-info-def.rb +85 -0
  128. data/test/seasar/container/test_component-def.rb +91 -0
  129. data/test/seasar/container/test_component-info-def.rb +88 -0
  130. data/test/seasar/container/test_s2application-context.rb +290 -0
  131. data/test/seasar/container/test_s2container.rb +268 -0
  132. data/test/seasar/dbi/test_paginate.rb +265 -0
  133. data/test/seasar/test_log.rb +20 -0
  134. data/test/seasar/test_util.rb +46 -0
  135. data/test/test-suite.rb +7 -0
  136. 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
@@ -0,0 +1,7 @@
1
+ $LOAD_PATH.unshift(File::expand_path(File::dirname(__FILE__)) + '/../lib')
2
+
3
+ require 'test/unit'
4
+ require 's2container'
5
+
6
+ Test::Unit::AutoRunner.run(true, File::expand_path(File::dirname(__FILE__)))
7
+