rroonga 0.9.3-x86-mingw32 → 0.9.4-x86-mingw32

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 (93) hide show
  1. data/NEWS.ja.rdoc +13 -0
  2. data/NEWS.rdoc +13 -0
  3. data/Rakefile +1 -1
  4. data/ext/groonga/extconf.rb +4 -3
  5. data/ext/groonga/rb-grn.h +698 -0
  6. data/html/developer.html +10 -7
  7. data/html/index.html +1 -1
  8. data/lib/1.8/groonga.so +0 -0
  9. data/lib/1.9/groonga.so +0 -0
  10. data/pkg-config.rb +1 -1
  11. data/test/run-test.rb +9 -3
  12. data/vendor/local/bin/libgroonga-0.dll +0 -0
  13. data/vendor/local/include/groonga.h +2285 -0
  14. data/vendor/local/lib/libgroonga.la +41 -0
  15. metadata +37 -85
  16. data/ext/groonga/mkmf.log +0 -99
  17. data/test-unit/Rakefile +0 -40
  18. data/test-unit/TODO +0 -5
  19. data/test-unit/bin/testrb +0 -5
  20. data/test-unit/html/classic.html +0 -15
  21. data/test-unit/html/index.html +0 -25
  22. data/test-unit/html/index.html.ja +0 -27
  23. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  24. data/test-unit/lib/test/unit/assertions.rb +0 -1230
  25. data/test-unit/lib/test/unit/attribute.rb +0 -125
  26. data/test-unit/lib/test/unit/autorunner.rb +0 -360
  27. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  28. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  29. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  30. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  31. data/test-unit/lib/test/unit/collector.rb +0 -36
  32. data/test-unit/lib/test/unit/color-scheme.rb +0 -102
  33. data/test-unit/lib/test/unit/color.rb +0 -96
  34. data/test-unit/lib/test/unit/diff.rb +0 -724
  35. data/test-unit/lib/test/unit/error.rb +0 -130
  36. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  37. data/test-unit/lib/test/unit/failure.rb +0 -136
  38. data/test-unit/lib/test/unit/fixture.rb +0 -176
  39. data/test-unit/lib/test/unit/notification.rb +0 -129
  40. data/test-unit/lib/test/unit/omission.rb +0 -191
  41. data/test-unit/lib/test/unit/pending.rb +0 -150
  42. data/test-unit/lib/test/unit/priority.rb +0 -180
  43. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  44. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  45. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  46. data/test-unit/lib/test/unit/testcase.rb +0 -476
  47. data/test-unit/lib/test/unit/testresult.rb +0 -89
  48. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  49. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  50. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -466
  51. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  52. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -92
  53. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -28
  54. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  55. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  56. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -41
  57. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  58. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  59. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  60. data/test-unit/lib/test/unit/version.rb +0 -7
  61. data/test-unit/lib/test/unit.rb +0 -323
  62. data/test-unit/sample/adder.rb +0 -13
  63. data/test-unit/sample/subtracter.rb +0 -12
  64. data/test-unit/sample/test_adder.rb +0 -20
  65. data/test-unit/sample/test_subtracter.rb +0 -20
  66. data/test-unit/sample/test_user.rb +0 -23
  67. data/test-unit/test/collector/test-descendant.rb +0 -133
  68. data/test-unit/test/collector/test-load.rb +0 -442
  69. data/test-unit/test/collector/test_dir.rb +0 -406
  70. data/test-unit/test/collector/test_objectspace.rb +0 -100
  71. data/test-unit/test/run-test.rb +0 -15
  72. data/test-unit/test/test-attribute.rb +0 -86
  73. data/test-unit/test/test-color-scheme.rb +0 -67
  74. data/test-unit/test/test-color.rb +0 -47
  75. data/test-unit/test/test-diff.rb +0 -518
  76. data/test-unit/test/test-emacs-runner.rb +0 -60
  77. data/test-unit/test/test-fixture.rb +0 -287
  78. data/test-unit/test/test-notification.rb +0 -33
  79. data/test-unit/test/test-omission.rb +0 -81
  80. data/test-unit/test/test-pending.rb +0 -70
  81. data/test-unit/test/test-priority.rb +0 -119
  82. data/test-unit/test/test-testcase.rb +0 -544
  83. data/test-unit/test/test_assertions.rb +0 -1151
  84. data/test-unit/test/test_error.rb +0 -26
  85. data/test-unit/test/test_failure.rb +0 -33
  86. data/test-unit/test/test_testresult.rb +0 -113
  87. data/test-unit/test/test_testsuite.rb +0 -129
  88. data/test-unit/test/testunit-test-util.rb +0 -14
  89. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  90. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  91. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  92. data/test-unit/test/util/test_observable.rb +0 -102
  93. data/test-unit/test/util/test_procwrapper.rb +0 -36
@@ -1,476 +0,0 @@
1
- #--
2
- #
3
- # Author:: Nathaniel Talbott.
4
- # Copyright::
5
- # * Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
6
- # * Copyright (c) 2008-2009 Kouhei Sutou <tt><kou@clear-code.com></tt>
7
- # License:: Ruby license.
8
-
9
- require 'test/unit/attribute'
10
- require 'test/unit/fixture'
11
- require 'test/unit/exceptionhandler'
12
- require 'test/unit/assertions'
13
- require 'test/unit/failure'
14
- require 'test/unit/error'
15
- require 'test/unit/pending'
16
- require 'test/unit/omission'
17
- require 'test/unit/notification'
18
- require 'test/unit/priority'
19
- require 'test/unit/testsuite'
20
- require 'test/unit/assertionfailederror'
21
- require 'test/unit/util/backtracefilter'
22
- require 'test/unit/util/method-owner-finder'
23
-
24
- module Test
25
- module Unit
26
-
27
- # Ties everything together. If you subclass and add your own
28
- # test methods, it takes care of making them into tests and
29
- # wrapping those tests into a suite. It also does the
30
- # nitty-gritty of actually running an individual test and
31
- # collecting its results into a Test::Unit::TestResult object.
32
- #
33
- # You can run two hooks before/after a TestCase run.
34
- #
35
- # Example:
36
- # class TestMyClass < Test::Unit::TestCase
37
- # class << self
38
- # def startup
39
- # ...
40
- # end
41
- #
42
- # def shutdown
43
- # ...
44
- # end
45
- # end
46
- #
47
- # def setup
48
- # ...
49
- # end
50
- #
51
- # def teardown
52
- # ...
53
- # end
54
- #
55
- # def test_my_method1
56
- # ...
57
- # end
58
- #
59
- # def test_my_method2
60
- # ...
61
- # end
62
- # end
63
- #
64
- # Here is a call order:
65
- # * startup
66
- # * setup
67
- # * test_my_method1
68
- # * teardown
69
- # * setup
70
- # * test_my_method2
71
- # * teardown
72
- # * shutdown
73
- class TestCase
74
- include Attribute
75
- include Fixture
76
- include ExceptionHandler
77
- include ErrorHandler
78
- include FailureHandler
79
- include TestCasePendingSupport
80
- include TestCaseOmissionSupport
81
- include TestCaseNotificationSupport
82
- include Priority
83
- include Assertions
84
- include Util::BacktraceFilter
85
-
86
- STARTED = name + "::STARTED" # :nodoc:
87
- FINISHED = name + "::FINISHED" # :nodoc:
88
-
89
- DESCENDANTS = [] # :nodoc:
90
- AVAILABLE_ORDERS = [:alphabetic, :random, :defined] # :nodoc:
91
-
92
- class << self
93
- def inherited(sub_class) # :nodoc:
94
- DESCENDANTS << sub_class
95
- end
96
-
97
- @@added_methods = {}
98
- def method_added(name) # :nodoc:
99
- super
100
- added_methods = (@@added_methods[self] ||= [])
101
- stringified_name = name.to_s
102
- if added_methods.include?(stringified_name)
103
- attribute(:redefined, true, {}, stringified_name)
104
- end
105
- added_methods << stringified_name
106
- end
107
-
108
- # Rolls up all of the test* methods in the fixture into
109
- # one suite, creating a new instance of the fixture for
110
- # each method.
111
- def suite
112
- suite = TestSuite.new(name, self)
113
- collect_test_names.each do |test|
114
- catch(:invalid_test) do
115
- suite << new(test)
116
- end
117
- end
118
- if suite.empty?
119
- catch(:invalid_test) do
120
- suite << new("default_test")
121
- end
122
- end
123
- suite
124
- end
125
-
126
- # Called before every test case runs. Can be used
127
- # to set up fixture information used in test case
128
- # scope.
129
- #
130
- # Here is an example test case:
131
- # class TestMyClass < Test::Unit::TestCase
132
- # class << self
133
- # def startup
134
- # ...
135
- # end
136
- # end
137
- #
138
- # def setup
139
- # ...
140
- # end
141
- #
142
- # def test_my_class1
143
- # ...
144
- # end
145
- #
146
- # def test_my_class2
147
- # ...
148
- # end
149
- # end
150
- #
151
- # Here is a call order:
152
- # * startup
153
- # * setup
154
- # * test_my_class1 (or test_my_class2)
155
- # * setup
156
- # * test_my_class2 (or test_my_class1)
157
- #
158
- # Note that you should not assume test order. Tests
159
- # should be worked in any order.
160
- def startup
161
- end
162
-
163
- # Called after every test case runs. Can be used to tear
164
- # down fixture information used in test case scope.
165
- #
166
- # Here is an example test case:
167
- # class TestMyClass < Test::Unit::TestCase
168
- # class << self
169
- # def shutdown
170
- # ...
171
- # end
172
- # end
173
- #
174
- # def teardown
175
- # ...
176
- # end
177
- #
178
- # def test_my_class1
179
- # ...
180
- # end
181
- #
182
- # def test_my_class2
183
- # ...
184
- # end
185
- # end
186
- #
187
- # Here is a call order:
188
- # * test_my_class1 (or test_my_class2)
189
- # * teardown
190
- # * test_my_class2 (or test_my_class1)
191
- # * teardown
192
- # * shutdown
193
- #
194
- # Note that you should not assume test order. Tests
195
- # should be worked in any order.
196
- def shutdown
197
- end
198
-
199
- @@test_orders = {}
200
-
201
- # Returns the current test order. This returns
202
- # +:alphabetic+ by default.
203
- def test_order
204
- @@test_orders[self] || AVAILABLE_ORDERS.first
205
- end
206
-
207
- # Sets the current test order.
208
- #
209
- # Here are the available _order_:
210
- # [:alphabetic]
211
- # Default. Tests are sorted in alphabetic order.
212
- # [:random]
213
- # Tests are sorted in random order.
214
- # [:defined]
215
- # Tests are sorted in defined order.
216
- def test_order=(order)
217
- @@test_orders[self] = order
218
- end
219
-
220
- # Defines a test in declarative syntax.
221
- #
222
- # The following two test definitions are the same:
223
- #
224
- # description "register user"
225
- # def test_register_user
226
- # ...
227
- # end
228
- #
229
- # test "register user" do
230
- # ...
231
- # end
232
- def test(test_description, &block)
233
- normalized_description = test_description.gsub(/[^a-zA-Z\d_]+/, '_')
234
- method_name = "test_#{normalized_description}".to_sym
235
- define_method(method_name, &block)
236
- description(test_description, method_name)
237
- end
238
-
239
- # Describes a test.
240
- #
241
- # The following example associates "register a
242
- # normal user" description with "test_register"
243
- # test.
244
- #
245
- # description "register a normal user"
246
- # def test_register
247
- # ...
248
- # end
249
- def description(value, target=nil)
250
- attribute(:description, value, {}, target || [])
251
- end
252
-
253
- # :stopdoc:
254
- private
255
- def collect_test_names
256
- method_names = public_instance_methods(true).collect do |name|
257
- name.to_s
258
- end
259
- test_names = method_names.find_all do |method_name|
260
- method_name =~ /^test./
261
- end
262
- send("sort_test_names_in_#{test_order}_order", test_names)
263
- end
264
-
265
- def sort_test_names_in_alphabetic_order(test_names)
266
- test_names.sort
267
- end
268
-
269
- def sort_test_names_in_random_order(test_names)
270
- test_names.sort_by {rand(test_names.size)}
271
- end
272
-
273
- def sort_test_names_in_defined_order(test_names)
274
- added_methods = @@added_methods[self]
275
- test_names.sort do |test1, test2|
276
- test1_defined_order = added_methods.index(test1)
277
- test2_defined_order = added_methods.index(test2)
278
- if test1_defined_order and test2_defined_order
279
- test1_defined_order <=> test2_defined_order
280
- elsif test1_defined_order
281
- 1
282
- elsif test2_defined_order
283
- -1
284
- else
285
- test1 <=> test2
286
- end
287
- end
288
- end
289
- # :startdoc:
290
- end
291
-
292
- attr_reader :method_name
293
-
294
- # Creates a new instance of the fixture for running the
295
- # test represented by test_method_name.
296
- def initialize(test_method_name)
297
- throw :invalid_test unless respond_to?(test_method_name)
298
- test_method = method(test_method_name)
299
- throw :invalid_test if test_method.arity > 0
300
- owner = Util::MethodOwnerFinder.find(self, test_method_name)
301
- if owner.class != Module and self.class != owner
302
- throw :invalid_test
303
- end
304
- @method_name = test_method_name
305
- @test_passed = true
306
- @interrupted = false
307
- end
308
-
309
- # Runs the individual test method represented by this
310
- # instance of the fixture, collecting statistics, failures
311
- # and errors in result.
312
- def run(result)
313
- begin
314
- @_result = result
315
- yield(STARTED, name)
316
- begin
317
- run_setup
318
- run_test
319
- rescue Exception
320
- @interrupted = true
321
- raise unless handle_exception($!)
322
- ensure
323
- begin
324
- run_teardown
325
- rescue Exception
326
- raise unless handle_exception($!)
327
- end
328
- end
329
- result.add_run
330
- yield(FINISHED, name)
331
- ensure
332
- # @_result = nil # For test-spec's after_all :<
333
- end
334
- end
335
-
336
- # Called before every test method runs. Can be used
337
- # to set up fixture information.
338
- #
339
- # You can add additional setup tasks by the following
340
- # code:
341
- # class TestMyClass < Test::Unit::TestCase
342
- # def setup
343
- # ...
344
- # end
345
- #
346
- # setup
347
- # def my_setup1
348
- # ...
349
- # end
350
- #
351
- # setup
352
- # def my_setup2
353
- # ...
354
- # end
355
- #
356
- # def test_my_class
357
- # ...
358
- # end
359
- # end
360
- #
361
- # Here is a call order:
362
- # * setup
363
- # * my_setup1
364
- # * my_setup2
365
- # * test_my_class
366
- def setup
367
- end
368
-
369
- # Called after every test method runs. Can be used to tear
370
- # down fixture information.
371
- #
372
- # You can add additional teardown tasks by the following
373
- # code:
374
- # class TestMyClass < Test::Unit::TestCase
375
- # def teardown
376
- # ...
377
- # end
378
- #
379
- # teardown
380
- # def my_teardown1
381
- # ...
382
- # end
383
- #
384
- # teardown
385
- # def my_teardown2
386
- # ...
387
- # end
388
- #
389
- # def test_my_class
390
- # ...
391
- # end
392
- # end
393
- #
394
- # Here is a call order:
395
- # * test_my_class
396
- # * my_teardown2
397
- # * my_teardown1
398
- # * teardown
399
- def teardown
400
- end
401
-
402
- def default_test
403
- flunk("No tests were specified")
404
- end
405
-
406
- def size
407
- 1
408
- end
409
-
410
- # Returns a human-readable name for the specific test that
411
- # this instance of TestCase represents.
412
- def name
413
- "#{@method_name}(#{self.class.name})"
414
- end
415
-
416
- # Returns a description for the test. A description
417
- # will be associated by Test::Unit::TestCase.test or
418
- # Test::Unit::TestCase.description.
419
- #
420
- # Returns a name for the test for no description test.
421
- def description
422
- self[:description] || name
423
- end
424
-
425
- # Overridden to return #name.
426
- def to_s
427
- name
428
- end
429
-
430
- # It's handy to be able to compare TestCase instances.
431
- def ==(other)
432
- return false unless(other.kind_of?(self.class))
433
- return false unless(@method_name == other.method_name)
434
- self.class == other.class
435
- end
436
-
437
- def interrupted?
438
- @interrupted
439
- end
440
-
441
- private
442
- def current_result
443
- @_result
444
- end
445
-
446
- def run_test
447
- if self.class.get_attribute(@method_name, :redefined)
448
- notify("#{self.class}\##{@method_name} was redefined")
449
- end
450
- __send__(@method_name)
451
- end
452
-
453
- def handle_exception(exception)
454
- self.class.exception_handlers.each do |handler|
455
- return true if send(handler, exception)
456
- end
457
- false
458
- end
459
-
460
- # Returns whether this individual test passed or
461
- # not. Primarily for use in teardown so that artifacts
462
- # can be left behind if the test fails.
463
- def passed?
464
- @test_passed
465
- end
466
-
467
- def problem_occurred
468
- @test_passed = false
469
- end
470
-
471
- def add_assertion
472
- current_result.add_assertion
473
- end
474
- end
475
- end
476
- end
@@ -1,89 +0,0 @@
1
- #--
2
- # Author:: Nathaniel Talbott.
3
- # Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
4
- # License:: Ruby license.
5
-
6
- require 'test/unit/util/observable'
7
- require 'test/unit/failure'
8
- require 'test/unit/error'
9
- require 'test/unit/omission'
10
- require 'test/unit/pending'
11
- require 'test/unit/notification'
12
-
13
- module Test
14
- module Unit
15
- module NullResultContainerInitializer
16
- private
17
- def initialize_containers
18
- end
19
- end
20
-
21
- # Collects Test::Unit::Failure and Test::Unit::Error so that
22
- # they can be displayed to the user. To this end, observers
23
- # can be added to it, allowing the dynamic updating of, say, a
24
- # UI.
25
- class TestResult
26
- include Util::Observable
27
- include NullResultContainerInitializer
28
- include TestResultFailureSupport
29
- include TestResultErrorSupport
30
- include TestResultPendingSupport
31
- include TestResultOmissionSupport
32
- include TestResultNotificationSupport
33
-
34
- CHANGED = "CHANGED"
35
- FAULT = "FAULT"
36
-
37
- attr_reader :run_count, :assertion_count, :faults
38
-
39
- # Constructs a new, empty TestResult.
40
- def initialize
41
- @run_count, @assertion_count = 0, 0
42
- @summary_generators = []
43
- @problem_checkers = []
44
- @faults = []
45
- initialize_containers
46
- end
47
-
48
- # Records a test run.
49
- def add_run
50
- @run_count += 1
51
- notify_changed
52
- end
53
-
54
- # Records an individual assertion.
55
- def add_assertion
56
- @assertion_count += 1
57
- notify_changed
58
- end
59
-
60
- # Returns a string contain the recorded runs, assertions,
61
- # failures and errors in this TestResult.
62
- def summary
63
- ["#{run_count} tests",
64
- "#{assertion_count} assertions",
65
- *@summary_generators.collect {|generator| send(generator)}].join(", ")
66
- end
67
-
68
- def to_s
69
- summary
70
- end
71
-
72
- # Returns whether or not this TestResult represents
73
- # successful completion.
74
- def passed?
75
- @problem_checkers.all? {|checker| not send(checker)}
76
- end
77
-
78
- private
79
- def notify_changed
80
- notify_listeners(CHANGED, self)
81
- end
82
-
83
- def notify_fault(fault)
84
- @faults << fault
85
- notify_listeners(FAULT, fault)
86
- end
87
- end
88
- end
89
- end
@@ -1,110 +0,0 @@
1
- #--
2
- #
3
- # Author:: Nathaniel Talbott.
4
- # Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
5
- # License:: Ruby license.
6
-
7
- require 'test/unit/error'
8
-
9
- module Test
10
- module Unit
11
-
12
- # A collection of tests which can be #run.
13
- #
14
- # Note: It is easy to confuse a TestSuite instance with
15
- # something that has a static suite method; I know because _I_
16
- # have trouble keeping them straight. Think of something that
17
- # has a suite method as simply providing a way to get a
18
- # meaningful TestSuite instance.
19
- class TestSuite
20
- attr_reader :name, :tests
21
-
22
- STARTED = name + "::STARTED"
23
- FINISHED = name + "::FINISHED"
24
-
25
- # Creates a new TestSuite with the given name.
26
- def initialize(name="Unnamed TestSuite", test_case=nil)
27
- @name = name
28
- @tests = []
29
- @test_case = test_case
30
- end
31
-
32
- # Runs the tests and/or suites contained in this
33
- # TestSuite.
34
- def run(result, &progress_block)
35
- yield(STARTED, name)
36
- run_startup(result)
37
- @tests.each do |test|
38
- test.run(result, &progress_block)
39
- end
40
- run_shutdown(result)
41
- yield(FINISHED, name)
42
- end
43
-
44
- # Adds the test to the suite.
45
- def <<(test)
46
- @tests << test
47
- self
48
- end
49
-
50
- def delete(test)
51
- @tests.delete(test)
52
- end
53
-
54
- # Retuns the rolled up number of tests in this suite;
55
- # i.e. if the suite contains other suites, it counts the
56
- # tests within those suites, not the suites themselves.
57
- def size
58
- total_size = 0
59
- @tests.each { |test| total_size += test.size }
60
- total_size
61
- end
62
-
63
- def empty?
64
- tests.empty?
65
- end
66
-
67
- # Overridden to return the name given the suite at
68
- # creation.
69
- def to_s
70
- @name
71
- end
72
-
73
- # It's handy to be able to compare TestSuite instances.
74
- def ==(other)
75
- return false unless(other.kind_of?(self.class))
76
- return false unless(@name == other.name)
77
- @tests == other.tests
78
- end
79
-
80
- private
81
- def run_startup(result)
82
- return if @test_case.nil? or !@test_case.respond_to?(:startup)
83
- begin
84
- @test_case.startup
85
- rescue Exception
86
- raise unless handle_exception($!, result)
87
- end
88
- end
89
-
90
- def run_shutdown(result)
91
- return if @test_case.nil? or !@test_case.respond_to?(:shutdown)
92
- begin
93
- @test_case.shutdown
94
- rescue Exception
95
- raise unless handle_exception($!, result)
96
- end
97
- end
98
-
99
- def handle_exception(exception, result)
100
- case exception
101
- when *ErrorHandler::PASS_THROUGH_EXCEPTIONS
102
- false
103
- else
104
- result.add_error(Error.new(@test_case.name, exception))
105
- true
106
- end
107
- end
108
- end
109
- end
110
- end
@@ -1,14 +0,0 @@
1
- module Test
2
- module Unit
3
- module UI
4
- module Console
5
- module OutputLevel
6
- SILENT = 0
7
- PROGRESS_ONLY = 1
8
- NORMAL = 2
9
- VERBOSE = 3
10
- end
11
- end
12
- end
13
- end
14
- end