activegroonga 1.0.4 → 1.0.5

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 (113) hide show
  1. data/README.textile +55 -0
  2. data/Rakefile +45 -165
  3. data/{license/LGPL → doc/text/lgpl.txt} +0 -0
  4. data/doc/text/news.textile +60 -0
  5. data/doc/text/tutorial.textile +3 -0
  6. data/lib/active_groonga/base.rb +50 -2
  7. data/lib/active_groonga/railtie.rb +6 -5
  8. data/lib/active_groonga/railties/groonga.rake +8 -4
  9. data/lib/active_groonga/result_set.rb +133 -8
  10. data/lib/active_groonga/version.rb +1 -1
  11. data/test/active-groonga-test-utils.rb +6 -0
  12. data/test/run-test.rb +11 -24
  13. data/test/test-base.rb +10 -4
  14. data/test/test-result-set.rb +121 -9
  15. metadata +90 -138
  16. data/AUTHORS +0 -1
  17. data/NEWS.ja.rdoc +0 -46
  18. data/NEWS.rdoc +0 -46
  19. data/README.ja.rdoc +0 -52
  20. data/README.rdoc +0 -52
  21. data/test-unit-notify/Rakefile +0 -47
  22. data/test-unit-notify/lib/test/unit/notify.rb +0 -104
  23. data/test-unit/COPYING +0 -56
  24. data/test-unit/GPL +0 -340
  25. data/test-unit/PSFL +0 -271
  26. data/test-unit/Rakefile +0 -53
  27. data/test-unit/TODO +0 -5
  28. data/test-unit/bin/testrb +0 -5
  29. data/test-unit/html/bar.svg +0 -153
  30. data/test-unit/html/developer.svg +0 -469
  31. data/test-unit/html/favicon.ico +0 -0
  32. data/test-unit/html/favicon.svg +0 -82
  33. data/test-unit/html/heading-mark.svg +0 -393
  34. data/test-unit/html/index.html +0 -247
  35. data/test-unit/html/index.html.ja +0 -270
  36. data/test-unit/html/install.svg +0 -636
  37. data/test-unit/html/logo.svg +0 -483
  38. data/test-unit/html/test-unit.css +0 -339
  39. data/test-unit/html/tutorial.svg +0 -559
  40. data/test-unit/lib/test/unit.rb +0 -328
  41. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  42. data/test-unit/lib/test/unit/assertions.rb +0 -1334
  43. data/test-unit/lib/test/unit/attribute.rb +0 -125
  44. data/test-unit/lib/test/unit/autorunner.rb +0 -363
  45. data/test-unit/lib/test/unit/collector.rb +0 -36
  46. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  47. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  48. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  49. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  50. data/test-unit/lib/test/unit/color-scheme.rb +0 -106
  51. data/test-unit/lib/test/unit/color.rb +0 -96
  52. data/test-unit/lib/test/unit/diff.rb +0 -740
  53. data/test-unit/lib/test/unit/error.rb +0 -130
  54. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  55. data/test-unit/lib/test/unit/failure.rb +0 -136
  56. data/test-unit/lib/test/unit/fixture.rb +0 -176
  57. data/test-unit/lib/test/unit/notification.rb +0 -129
  58. data/test-unit/lib/test/unit/omission.rb +0 -191
  59. data/test-unit/lib/test/unit/pending.rb +0 -150
  60. data/test-unit/lib/test/unit/priority.rb +0 -180
  61. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  62. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  63. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  64. data/test-unit/lib/test/unit/testcase.rb +0 -483
  65. data/test-unit/lib/test/unit/testresult.rb +0 -121
  66. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  67. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  68. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -430
  69. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  70. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -82
  71. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -53
  72. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  73. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  74. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -42
  75. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  76. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  77. data/test-unit/lib/test/unit/util/output.rb +0 -31
  78. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  79. data/test-unit/lib/test/unit/version.rb +0 -7
  80. data/test-unit/sample/adder.rb +0 -13
  81. data/test-unit/sample/subtracter.rb +0 -12
  82. data/test-unit/sample/test_adder.rb +0 -20
  83. data/test-unit/sample/test_subtracter.rb +0 -20
  84. data/test-unit/sample/test_user.rb +0 -23
  85. data/test-unit/test/collector/test-descendant.rb +0 -133
  86. data/test-unit/test/collector/test-load.rb +0 -442
  87. data/test-unit/test/collector/test_dir.rb +0 -406
  88. data/test-unit/test/collector/test_objectspace.rb +0 -100
  89. data/test-unit/test/run-test.rb +0 -15
  90. data/test-unit/test/test-attribute.rb +0 -86
  91. data/test-unit/test/test-color-scheme.rb +0 -69
  92. data/test-unit/test/test-color.rb +0 -47
  93. data/test-unit/test/test-diff.rb +0 -518
  94. data/test-unit/test/test-emacs-runner.rb +0 -60
  95. data/test-unit/test/test-fixture.rb +0 -287
  96. data/test-unit/test/test-notification.rb +0 -33
  97. data/test-unit/test/test-omission.rb +0 -81
  98. data/test-unit/test/test-pending.rb +0 -70
  99. data/test-unit/test/test-priority.rb +0 -119
  100. data/test-unit/test/test-testcase.rb +0 -544
  101. data/test-unit/test/test_assertions.rb +0 -1197
  102. data/test-unit/test/test_error.rb +0 -26
  103. data/test-unit/test/test_failure.rb +0 -33
  104. data/test-unit/test/test_testresult.rb +0 -113
  105. data/test-unit/test/test_testsuite.rb +0 -129
  106. data/test-unit/test/testunit-test-util.rb +0 -14
  107. data/test-unit/test/ui/test_tap.rb +0 -33
  108. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  109. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  110. data/test-unit/test/util/test-output.rb +0 -11
  111. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  112. data/test-unit/test/util/test_observable.rb +0 -102
  113. data/test-unit/test/util/test_procwrapper.rb +0 -36
@@ -1,125 +0,0 @@
1
- module Test
2
- module Unit
3
- module Attribute
4
- class << self
5
- def included(base)
6
- base.extend(BaseClassMethods)
7
- base.extend(ClassMethods)
8
- end
9
- end
10
-
11
- module BaseClassMethods
12
- def attributes_table
13
- {}
14
- end
15
- end
16
-
17
- module ClassMethods
18
- def method_added(name)
19
- super
20
- return unless defined?(@current_attributes)
21
-
22
- attributes = {}
23
- kept_attributes = {}
24
- @current_attributes.each do |attribute_name, attribute|
25
- attributes[attribute_name] = attribute[:value]
26
- kept_attributes[attribute_name] = attribute if attribute[:keep]
27
- end
28
- set_attributes(name, attributes)
29
- @current_attributes = kept_attributes
30
- end
31
-
32
- def attribute(name, value, options={}, *method_names)
33
- unless options.is_a?(Hash)
34
- method_names << options
35
- options = {}
36
- end
37
- @current_attributes ||= {}
38
- if method_names.empty?
39
- @current_attributes[name] = options.merge(:value => value)
40
- else
41
- method_names.each do |method_name|
42
- set_attributes(method_name, {name => value})
43
- end
44
- end
45
- end
46
-
47
- def attributes_table
48
- @attributes_table ||= {}
49
- super.merge(@attributes_table)
50
- end
51
-
52
- def set_attributes(method_name, new_attributes)
53
- return if new_attributes.empty?
54
- method_name = normalize_method_name(method_name)
55
- @attributes_table ||= {}
56
- @attributes_table[method_name] ||= {}
57
- current_attributes = @attributes_table[method_name]
58
- new_attributes.each do |key, value|
59
- key = normalize_attribute_name(key)
60
- observers = attribute_observers(key) || []
61
- observers.each do |observer|
62
- observer.call(self,
63
- key,
64
- (attributes(method_name) || {})[key],
65
- value,
66
- method_name)
67
- end
68
- current_attributes[key] = value
69
- end
70
- end
71
-
72
- def attributes(method_name)
73
- method_name = normalize_method_name(method_name)
74
- attributes = attributes_table[method_name]
75
- ancestors[1..-1].each do |ancestor|
76
- if ancestor.is_a?(Class) and ancestor < Test::Unit::Attribute
77
- parent_attributes = ancestor.attributes(method_name)
78
- if attributes
79
- attributes = (parent_attributes || {}).merge(attributes)
80
- else
81
- attributes = parent_attributes
82
- end
83
- break
84
- end
85
- end
86
- attributes
87
- end
88
-
89
- def get_attribute(method_name, attribute_name)
90
- attribute_name = normalize_attribute_name(attribute_name)
91
- (attributes(method_name) || {})[attribute_name]
92
- end
93
-
94
- @@attribute_observers = {}
95
- def register_attribute_observer(attribute_name, observer=Proc.new)
96
- attribute_name = normalize_attribute_name(attribute_name)
97
- @@attribute_observers[attribute_name] ||= []
98
- @@attribute_observers[attribute_name] << observer
99
- end
100
-
101
- def attribute_observers(attribute_name)
102
- attribute_name = normalize_attribute_name(attribute_name)
103
- @@attribute_observers[attribute_name]
104
- end
105
-
106
- private
107
- def normalize_attribute_name(name)
108
- name.to_s
109
- end
110
-
111
- def normalize_method_name(name)
112
- name.to_s
113
- end
114
- end
115
-
116
- def attributes
117
- self.class.attributes(@method_name) || {}
118
- end
119
-
120
- def [](name)
121
- self.class.get_attribute(@method_name, name)
122
- end
123
- end
124
- end
125
- end
@@ -1,363 +0,0 @@
1
- require 'test/unit/color-scheme'
2
- require 'optparse'
3
-
4
- module Test
5
- module Unit
6
- class AutoRunner
7
- RUNNERS = {}
8
- COLLECTORS = {}
9
- ADDITIONAL_OPTIONS = []
10
-
11
- class << self
12
- def register_runner(id, runner_builder=Proc.new)
13
- RUNNERS[id] = runner_builder
14
- RUNNERS[id.to_s] = runner_builder
15
- end
16
-
17
- def runner(id)
18
- RUNNERS[id.to_s]
19
- end
20
-
21
- @@default_runner = nil
22
- def default_runner
23
- runner(@@default_runner)
24
- end
25
-
26
- def default_runner=(id)
27
- @@default_runner = id
28
- end
29
-
30
- def register_collector(id, collector_builder=Proc.new)
31
- COLLECTORS[id] = collector_builder
32
- COLLECTORS[id.to_s] = collector_builder
33
- end
34
-
35
- def collector(id)
36
- COLLECTORS[id.to_s]
37
- end
38
-
39
- def register_color_scheme(id, scheme)
40
- ColorScheme[id] = scheme
41
- end
42
-
43
- def setup_option(option_builder=Proc.new)
44
- ADDITIONAL_OPTIONS << option_builder
45
- end
46
- end
47
-
48
- def self.run(force_standalone=false, default_dir=nil, argv=ARGV, &block)
49
- r = new(force_standalone || standalone?, &block)
50
- r.base = default_dir
51
- r.process_args(argv)
52
- r.run
53
- end
54
-
55
- def self.standalone?
56
- return false unless("-e" == $0)
57
- ObjectSpace.each_object(Class) do |klass|
58
- return false if(klass < TestCase)
59
- end
60
- true
61
- end
62
-
63
- register_collector(:descendant) do |auto_runner|
64
- require 'test/unit/collector/descendant'
65
- collector = Collector::Descendant.new
66
- collector.filter = auto_runner.filters
67
- collector.collect($0.sub(/\.rb\Z/, ''))
68
- end
69
-
70
- register_collector(:load) do |auto_runner|
71
- require 'test/unit/collector/load'
72
- collector = Collector::Load.new
73
- collector.patterns.concat(auto_runner.pattern) if auto_runner.pattern
74
- collector.excludes.concat(auto_runner.exclude) if auto_runner.exclude
75
- collector.base = auto_runner.base
76
- collector.filter = auto_runner.filters
77
- collector.collect(*auto_runner.to_run)
78
- end
79
-
80
- # deprecated
81
- register_collector(:object_space) do |auto_runner|
82
- require 'test/unit/collector/objectspace'
83
- c = Collector::ObjectSpace.new
84
- c.filter = auto_runner.filters
85
- c.collect($0.sub(/\.rb\Z/, ''))
86
- end
87
-
88
- # deprecated
89
- register_collector(:dir) do |auto_runner|
90
- require 'test/unit/collector/dir'
91
- c = Collector::Dir.new
92
- c.filter = auto_runner.filters
93
- c.pattern.concat(auto_runner.pattern) if auto_runner.pattern
94
- c.exclude.concat(auto_runner.exclude) if auto_runner.exclude
95
- c.base = auto_runner.base
96
- $:.push(auto_runner.base) if auto_runner.base
97
- c.collect(*(auto_runner.to_run.empty? ? ['.'] : auto_runner.to_run))
98
- end
99
-
100
- attr_reader :suite, :runner_options
101
- attr_accessor :filters, :to_run, :pattern, :exclude, :base, :workdir
102
- attr_accessor :color_scheme, :listeners
103
- attr_writer :runner, :collector
104
-
105
- def initialize(standalone)
106
- Unit.run = true
107
- @standalone = standalone
108
- @runner = default_runner
109
- @collector = default_collector
110
- @filters = []
111
- @to_run = []
112
- @color_scheme = ColorScheme.default
113
- @runner_options = {}
114
- @default_arguments = []
115
- @workdir = nil
116
- @listeners = []
117
- config_file = "test-unit.yml"
118
- if File.exist?(config_file)
119
- load_config(config_file)
120
- else
121
- load_global_config
122
- end
123
- yield(self) if block_given?
124
- end
125
-
126
- def process_args(args = ARGV)
127
- begin
128
- args.unshift(*@default_arguments)
129
- options.order!(args) {|arg| @to_run << arg}
130
- rescue OptionParser::ParseError => e
131
- puts e
132
- puts options
133
- exit(false)
134
- end
135
- not @to_run.empty?
136
- end
137
-
138
- def options
139
- @options ||= OptionParser.new do |o|
140
- o.banner = "Test::Unit automatic runner."
141
- o.banner << "\nUsage: #{$0} [options] [-- untouched arguments]"
142
-
143
- o.on
144
- o.on('-r', '--runner=RUNNER', RUNNERS,
145
- "Use the given RUNNER.",
146
- "(" + keyword_display(RUNNERS) + ")") do |r|
147
- @runner = r
148
- end
149
-
150
- if (@standalone)
151
- o.on('-b', '--basedir=DIR', "Base directory of test suites.") do |b|
152
- @base = b
153
- end
154
-
155
- o.on('-w', '--workdir=DIR', "Working directory to run tests.") do |w|
156
- @workdir = w
157
- end
158
-
159
- o.on('-a', '--add=TORUN', Array,
160
- "Add TORUN to the list of things to run;",
161
- "can be a file or a directory.") do |a|
162
- @to_run.concat(a)
163
- end
164
-
165
- @pattern = []
166
- o.on('-p', '--pattern=PATTERN', Regexp,
167
- "Match files to collect against PATTERN.") do |e|
168
- @pattern << e
169
- end
170
-
171
- @exclude = []
172
- o.on('-x', '--exclude=PATTERN', Regexp,
173
- "Ignore files to collect against PATTERN.") do |e|
174
- @exclude << e
175
- end
176
- end
177
-
178
- o.on('-n', '--name=NAME', String,
179
- "Runs tests matching NAME.",
180
- "(patterns may be used).") do |n|
181
- n = (%r{\A/(.*)/\Z} =~ n ? Regexp.new($1) : n)
182
- case n
183
- when Regexp
184
- @filters << proc{|t| n =~ t.method_name ? true : false}
185
- else
186
- @filters << proc{|t| n == t.method_name}
187
- end
188
- end
189
-
190
- o.on('-t', '--testcase=TESTCASE', String,
191
- "Runs tests in TestCases matching TESTCASE.",
192
- "(patterns may be used).") do |n|
193
- n = (%r{\A/(.*)/\Z} =~ n ? Regexp.new($1) : n)
194
- case n
195
- when Regexp
196
- @filters << proc{|t| n =~ t.class.name ? true : false}
197
- else
198
- @filters << proc{|t| n == t.class.name}
199
- end
200
- end
201
-
202
- priority_filter = Proc.new do |test|
203
- if @filters == [priority_filter]
204
- Priority::Checker.new(test).need_to_run?
205
- else
206
- nil
207
- end
208
- end
209
- o.on("--[no-]priority-mode",
210
- "Runs some tests based on their priority.") do |priority_mode|
211
- if priority_mode
212
- Priority.enable
213
- @filters |= [priority_filter]
214
- else
215
- Priority.disable
216
- @filters -= [priority_filter]
217
- end
218
- end
219
-
220
- o.on("--default-priority=PRIORITY",
221
- Priority.available_values,
222
- "Uses PRIORITY as default priority",
223
- "(#{keyword_display(Priority.available_values)})") do |priority|
224
- Priority.default = priority
225
- end
226
-
227
- o.on('-I', "--load-path=DIR[#{File::PATH_SEPARATOR}DIR...]",
228
- "Appends directory list to $LOAD_PATH.") do |dirs|
229
- $LOAD_PATH.concat(dirs.split(File::PATH_SEPARATOR))
230
- end
231
-
232
- color_schemes = ColorScheme.all
233
- o.on("--color-scheme=SCHEME", color_schemes,
234
- "Use SCHEME as color scheme.",
235
- "(#{keyword_display(color_schemes)})") do |scheme|
236
- @color_scheme = scheme
237
- end
238
-
239
- o.on("--config=FILE",
240
- "Use YAML fomat FILE content as configuration file.") do |file|
241
- load_config(file)
242
- end
243
-
244
- o.on("--order=ORDER", TestCase::AVAILABLE_ORDERS,
245
- "Run tests in a test case in ORDER order.",
246
- "(#{keyword_display(TestCase::AVAILABLE_ORDERS)})") do |order|
247
- TestCase.test_order = order
248
- end
249
-
250
- ADDITIONAL_OPTIONS.each do |option_builder|
251
- option_builder.call(self, o)
252
- end
253
-
254
- o.on('--',
255
- "Stop processing options so that the",
256
- "remaining options will be passed to the",
257
- "test."){o.terminate}
258
-
259
- o.on('-h', '--help', 'Display this help.'){puts o; exit}
260
-
261
- o.on_tail
262
- o.on_tail('Deprecated options:')
263
-
264
- o.on_tail('--console', 'Console runner (use --runner).') do
265
- warn("Deprecated option (--console).")
266
- @runner = self.class.runner(:console)
267
- end
268
-
269
- if RUNNERS[:fox]
270
- o.on_tail('--fox', 'Fox runner (use --runner).') do
271
- warn("Deprecated option (--fox).")
272
- @runner = self.class.runner(:fox)
273
- end
274
- end
275
-
276
- o.on_tail
277
- end
278
- end
279
-
280
- def keyword_display(keywords)
281
- keywords = keywords.collect do |keyword, _|
282
- keyword.to_s
283
- end.uniq.sort
284
-
285
- i = 0
286
- keywords.collect do |keyword|
287
- if (i > 0 and keyword[0] == keywords[i - 1][0]) or
288
- ((i < keywords.size - 1) and (keyword[0] == keywords[i + 1][0]))
289
- n = 2
290
- else
291
- n = 1
292
- end
293
- i += 1
294
- keyword.sub(/^(.{#{n}})([A-Za-z]+)(?=\w*$)/, '\\1[\\2]')
295
- end.join(", ")
296
- end
297
-
298
- def run
299
- suite = @collector[self]
300
- return false if suite.nil?
301
- runner = @runner[self]
302
- return false if runner.nil?
303
- @runner_options[:color_scheme] ||= @color_scheme
304
- @runner_options[:listeners] ||= []
305
- @runner_options[:listeners].concat(@listeners)
306
- Dir.chdir(@workdir) if @workdir
307
- runner.run(suite, @runner_options).passed?
308
- end
309
-
310
- def load_config(file)
311
- require 'yaml'
312
- config = YAML.load(File.read(file))
313
- runner_name = config["runner"]
314
- @runner = self.class.runner(runner_name) || @runner
315
- @collector = self.class.collector(config["collector"]) || @collector
316
- (config["color_schemes"] || {}).each do |name, options|
317
- ColorScheme[name] = options
318
- end
319
- runner_options = {}
320
- (config["#{runner_name}_options"] || {}).each do |key, value|
321
- key = key.to_sym
322
- value = ColorScheme[value] if key == :color_scheme
323
- if key == :arguments
324
- @default_arguments.concat(value.split)
325
- else
326
- runner_options[key.to_sym] = value
327
- end
328
- end
329
- @runner_options = @runner_options.merge(runner_options)
330
- end
331
-
332
- private
333
- def default_runner
334
- runner = self.class.default_runner
335
- if ENV["EMACS"] == "t"
336
- runner ||= self.class.runner(:emacs)
337
- else
338
- runner ||= self.class.runner(:console)
339
- end
340
- runner
341
- end
342
-
343
- def default_collector
344
- self.class.collector(@standalone ? :load : :descendant)
345
- end
346
-
347
- def global_config_file
348
- File.expand_path("~/.test-unit.yml")
349
- rescue ArgumentError
350
- nil
351
- end
352
-
353
- def load_global_config
354
- file = global_config_file
355
- load_config(file) if file and File.exist?(file)
356
- end
357
- end
358
- end
359
- end
360
-
361
- require 'test/unit/runner/console'
362
- require 'test/unit/runner/emacs'
363
- require 'test/unit/runner/tap'