rroonga 1.2.0 → 1.2.1

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 (159) hide show
  1. data/README.textile +71 -0
  2. data/Rakefile +213 -128
  3. data/TODO +0 -0
  4. data/example/bookmark.rb +12 -12
  5. data/ext/groonga/Makefile +233 -0
  6. data/ext/groonga/extconf.rb +1 -1
  7. data/ext/groonga/rb-grn-column.c +5 -5
  8. data/ext/groonga/rb-grn-index-column.c +31 -0
  9. data/ext/groonga/rb-grn-index-cursor.c +106 -0
  10. data/ext/groonga/rb-grn-logger.c +5 -5
  11. data/ext/groonga/rb-grn-object.c +48 -0
  12. data/ext/groonga/rb-grn-patricia-trie.c +1 -1
  13. data/ext/groonga/rb-grn-plugin.c +32 -0
  14. data/ext/groonga/rb-grn-posting.c +51 -0
  15. data/ext/groonga/rb-grn-table-cursor.c +6 -1
  16. data/ext/groonga/rb-grn-table.c +31 -13
  17. data/ext/groonga/rb-grn.h +21 -3
  18. data/ext/groonga/rb-groonga.c +3 -1
  19. data/lib/groonga.rb +1 -0
  20. data/lib/groonga/dumper.rb +25 -5
  21. data/lib/groonga/expression-builder.rb +2 -2
  22. data/lib/groonga/pagination.rb +99 -7
  23. data/lib/groonga/posting.rb +87 -0
  24. data/lib/groonga/record.rb +118 -11
  25. data/lib/groonga/schema.rb +18 -1
  26. data/test/groonga-test-utils.rb +1 -6
  27. data/test/run-test.rb +13 -28
  28. data/test/test-column.rb +4 -0
  29. data/test/test-database-dumper.rb +53 -10
  30. data/test/test-hash.rb +6 -6
  31. data/test/test-index-cursor.rb +93 -0
  32. data/test/test-plugin.rb +6 -0
  33. data/test/test-record.rb +162 -1
  34. data/test/test-schema-type.rb +6 -0
  35. data/test/test-schema.rb +17 -0
  36. data/test/test-table.rb +7 -2
  37. data/test/test-type.rb +9 -1
  38. metadata +135 -245
  39. data/AUTHORS +0 -5
  40. data/NEWS.ja.rdoc +0 -344
  41. data/NEWS.rdoc +0 -346
  42. data/README.ja.rdoc +0 -68
  43. data/README.rdoc +0 -68
  44. data/example/search/config.ru +0 -230
  45. data/example/search/public/css/groonga.css +0 -122
  46. data/ext/.gitignore +0 -2
  47. data/html/bar.svg +0 -153
  48. data/html/developer.html +0 -151
  49. data/html/developer.svg +0 -469
  50. data/html/download.svg +0 -253
  51. data/html/favicon.ico +0 -0
  52. data/html/favicon.svg +0 -591
  53. data/html/footer.html.erb +0 -33
  54. data/html/head.html.erb +0 -4
  55. data/html/header.html.erb +0 -17
  56. data/html/heading-mark.svg +0 -393
  57. data/html/index.html +0 -243
  58. data/html/install.svg +0 -636
  59. data/html/logo.svg +0 -612
  60. data/html/ranguba.css +0 -342
  61. data/html/readme.svg +0 -256
  62. data/html/tutorial.svg +0 -559
  63. data/license/LGPL +0 -504
  64. data/test-unit-notify/Rakefile +0 -47
  65. data/test-unit-notify/lib/test/unit/notify.rb +0 -104
  66. data/test-unit/COPYING +0 -56
  67. data/test-unit/GPL +0 -340
  68. data/test-unit/PSFL +0 -271
  69. data/test-unit/Rakefile +0 -53
  70. data/test-unit/TODO +0 -5
  71. data/test-unit/bin/testrb +0 -5
  72. data/test-unit/html/bar.svg +0 -153
  73. data/test-unit/html/developer.svg +0 -469
  74. data/test-unit/html/favicon.ico +0 -0
  75. data/test-unit/html/favicon.svg +0 -82
  76. data/test-unit/html/heading-mark.svg +0 -393
  77. data/test-unit/html/index.html +0 -247
  78. data/test-unit/html/index.html.ja +0 -270
  79. data/test-unit/html/install.svg +0 -636
  80. data/test-unit/html/logo.svg +0 -483
  81. data/test-unit/html/test-unit.css +0 -339
  82. data/test-unit/html/tutorial.svg +0 -559
  83. data/test-unit/lib/test/unit.rb +0 -328
  84. data/test-unit/lib/test/unit/assertionfailederror.rb +0 -25
  85. data/test-unit/lib/test/unit/assertions.rb +0 -1334
  86. data/test-unit/lib/test/unit/attribute.rb +0 -125
  87. data/test-unit/lib/test/unit/autorunner.rb +0 -363
  88. data/test-unit/lib/test/unit/collector.rb +0 -36
  89. data/test-unit/lib/test/unit/collector/descendant.rb +0 -23
  90. data/test-unit/lib/test/unit/collector/dir.rb +0 -108
  91. data/test-unit/lib/test/unit/collector/load.rb +0 -144
  92. data/test-unit/lib/test/unit/collector/objectspace.rb +0 -34
  93. data/test-unit/lib/test/unit/color-scheme.rb +0 -106
  94. data/test-unit/lib/test/unit/color.rb +0 -96
  95. data/test-unit/lib/test/unit/diff.rb +0 -740
  96. data/test-unit/lib/test/unit/error.rb +0 -130
  97. data/test-unit/lib/test/unit/exceptionhandler.rb +0 -39
  98. data/test-unit/lib/test/unit/failure.rb +0 -136
  99. data/test-unit/lib/test/unit/fixture.rb +0 -176
  100. data/test-unit/lib/test/unit/notification.rb +0 -129
  101. data/test-unit/lib/test/unit/omission.rb +0 -191
  102. data/test-unit/lib/test/unit/pending.rb +0 -150
  103. data/test-unit/lib/test/unit/priority.rb +0 -180
  104. data/test-unit/lib/test/unit/runner/console.rb +0 -52
  105. data/test-unit/lib/test/unit/runner/emacs.rb +0 -8
  106. data/test-unit/lib/test/unit/runner/tap.rb +0 -8
  107. data/test-unit/lib/test/unit/testcase.rb +0 -483
  108. data/test-unit/lib/test/unit/testresult.rb +0 -121
  109. data/test-unit/lib/test/unit/testsuite.rb +0 -110
  110. data/test-unit/lib/test/unit/ui/console/outputlevel.rb +0 -14
  111. data/test-unit/lib/test/unit/ui/console/testrunner.rb +0 -430
  112. data/test-unit/lib/test/unit/ui/emacs/testrunner.rb +0 -63
  113. data/test-unit/lib/test/unit/ui/tap/testrunner.rb +0 -82
  114. data/test-unit/lib/test/unit/ui/testrunner.rb +0 -53
  115. data/test-unit/lib/test/unit/ui/testrunnermediator.rb +0 -77
  116. data/test-unit/lib/test/unit/ui/testrunnerutilities.rb +0 -41
  117. data/test-unit/lib/test/unit/util/backtracefilter.rb +0 -42
  118. data/test-unit/lib/test/unit/util/method-owner-finder.rb +0 -28
  119. data/test-unit/lib/test/unit/util/observable.rb +0 -90
  120. data/test-unit/lib/test/unit/util/output.rb +0 -31
  121. data/test-unit/lib/test/unit/util/procwrapper.rb +0 -48
  122. data/test-unit/lib/test/unit/version.rb +0 -7
  123. data/test-unit/sample/adder.rb +0 -13
  124. data/test-unit/sample/subtracter.rb +0 -12
  125. data/test-unit/sample/test_adder.rb +0 -20
  126. data/test-unit/sample/test_subtracter.rb +0 -20
  127. data/test-unit/sample/test_user.rb +0 -23
  128. data/test-unit/test/collector/test-descendant.rb +0 -133
  129. data/test-unit/test/collector/test-load.rb +0 -442
  130. data/test-unit/test/collector/test_dir.rb +0 -406
  131. data/test-unit/test/collector/test_objectspace.rb +0 -100
  132. data/test-unit/test/run-test.rb +0 -15
  133. data/test-unit/test/test-attribute.rb +0 -86
  134. data/test-unit/test/test-color-scheme.rb +0 -69
  135. data/test-unit/test/test-color.rb +0 -47
  136. data/test-unit/test/test-diff.rb +0 -518
  137. data/test-unit/test/test-emacs-runner.rb +0 -60
  138. data/test-unit/test/test-fixture.rb +0 -287
  139. data/test-unit/test/test-notification.rb +0 -33
  140. data/test-unit/test/test-omission.rb +0 -81
  141. data/test-unit/test/test-pending.rb +0 -70
  142. data/test-unit/test/test-priority.rb +0 -119
  143. data/test-unit/test/test-testcase.rb +0 -544
  144. data/test-unit/test/test_assertions.rb +0 -1197
  145. data/test-unit/test/test_error.rb +0 -26
  146. data/test-unit/test/test_failure.rb +0 -33
  147. data/test-unit/test/test_testresult.rb +0 -113
  148. data/test-unit/test/test_testsuite.rb +0 -129
  149. data/test-unit/test/testunit-test-util.rb +0 -14
  150. data/test-unit/test/ui/test_tap.rb +0 -33
  151. data/test-unit/test/ui/test_testrunmediator.rb +0 -20
  152. data/test-unit/test/util/test-method-owner-finder.rb +0 -38
  153. data/test-unit/test/util/test-output.rb +0 -11
  154. data/test-unit/test/util/test_backtracefilter.rb +0 -41
  155. data/test-unit/test/util/test_observable.rb +0 -102
  156. data/test-unit/test/util/test_procwrapper.rb +0 -36
  157. data/test/.gitignore +0 -1
  158. data/text/expression.rdoc +0 -285
  159. data/text/tutorial.ja.rdoc +0 -433
@@ -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'