test-unit 3.0.6 → 3.0.7

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7a340ad8305720bf34c90d9d88612f087feaec21
4
- data.tar.gz: fadfe8512c5ee8a5b4e52c296da11abdfdd3569d
3
+ metadata.gz: f581555a5f5e042d125194d870c79a4e8fd4c78e
4
+ data.tar.gz: a35bda12604b51db52009764c5439e657c3964a7
5
5
  SHA512:
6
- metadata.gz: a1a2ed9f115b3984ec88efc7f0183fff3050708421c5e6e14335f13d612b0d481d988e512132a1a9204d09e586786b972ce20fb05c12b35af6587b2bbce688ec
7
- data.tar.gz: df04299b2354a4f6e7a75ed42725c8103b2b9b96fc6fa58b1bb388dff1a35e501e9090f5140f74fde3c62dac863b5d093e3d95023e3205da0149fc1a79940fdf
6
+ metadata.gz: 90dd03711e6fe149f451de04c211ec5248a63cb8915a551444920f4b5f0a06f361af028613ac178f05b7f268461d06a3b465b90bf9cd62d51d368aa45deded4c
7
+ data.tar.gz: bfc59126ae597c329b5819a91556ce55710bba21f2a443838f596fe31d4f6366715a2eb533abcbd8c4e7ca016046d9ac04c12d8b53953241a359da7303ddd3e6
@@ -1,5 +1,19 @@
1
1
  # News
2
2
 
3
+ ## 3.0.7 - 2014-11-14 {#version-3-0-7}
4
+
5
+ It's a minor update release.
6
+
7
+ ### Fixes
8
+
9
+ * Fixed a bug that teardown blocks aren't called with sub class to
10
+ parent class order.
11
+ [GitHub#85][Reported by TOMITA Masahiro]
12
+
13
+ ### Thanks
14
+
15
+ * TOMITA Masahiro
16
+
3
17
  ## 3.0.6 - 2014-11-09 {#version-3-0-6}
4
18
 
5
19
  It's a minor update release.
@@ -41,15 +41,25 @@ module Test
41
41
  end
42
42
 
43
43
  def before_callbacks(type)
44
- target_test_cases.inject([]) do |callbacks, ancestor|
45
- callbacks | ancestor.fixture[type].before_callbacks
44
+ prepend_callbacks = []
45
+ append_callbacks = []
46
+ target_test_cases.each do |ancestor|
47
+ prepend_callbacks << ancestor.fixture[type].before_prepend_callbacks
48
+ append_callbacks << ancestor.fixture[type].before_append_callbacks
46
49
  end
50
+
51
+ merge_callbacks(prepend_callbacks, append_callbacks)
47
52
  end
48
53
 
49
54
  def after_callbacks(type)
50
- target_test_cases.inject([]) do |callbacks, ancestor|
51
- callbacks | ancestor.fixture[type].after_callbacks
55
+ prepend_callbacks = []
56
+ append_callbacks = []
57
+ target_test_cases.each do |ancestor|
58
+ prepend_callbacks << ancestor.fixture[type].after_prepend_callbacks
59
+ append_callbacks << ancestor.fixture[type].after_append_callbacks
52
60
  end
61
+
62
+ merge_callbacks(prepend_callbacks, append_callbacks)
53
63
  end
54
64
 
55
65
  private
@@ -65,13 +75,26 @@ module Test
65
75
  end
66
76
  interested_ancestors.reverse
67
77
  end
78
+
79
+ def merge_callbacks(prepend_callbacks, append_callbacks)
80
+ all_callbacks = []
81
+ prepend_callbacks.reverse_each do |callbacks|
82
+ all_callbacks.concat(callbacks)
83
+ end
84
+ append_callbacks.each do |callbacks|
85
+ all_callbacks.concat(callbacks)
86
+ end
87
+ all_callbacks
88
+ end
68
89
  end
69
90
 
70
91
  class HookPoint
71
92
  def initialize(default_options)
72
93
  @default_options = default_options
73
- @before_callbacks = []
74
- @after_callbacks = []
94
+ @before_prepend_callbacks = []
95
+ @before_append_callbacks = []
96
+ @after_prepend_callbacks = []
97
+ @after_append_callbacks = []
75
98
  @unregistered_callbacks = []
76
99
  end
77
100
 
@@ -89,27 +112,27 @@ module Test
89
112
  end
90
113
  before_how = options[:before]
91
114
  after_how = options[:after]
92
- if before_how
93
- @before_callbacks = add_callback(@before_callbacks,
94
- method_name_or_callback,
95
- before_how)
96
- else
97
- @after_callbacks = add_callback(@after_callbacks,
98
- method_name_or_callback,
99
- after_how)
100
- end
115
+ add_callback(method_name_or_callback, before_how, after_how)
101
116
  end
102
117
 
103
118
  def unregister(method_name_or_callback)
104
119
  @unregistered_callbacks << method_name_or_callback
105
120
  end
106
121
 
107
- def before_callbacks
108
- @before_callbacks - @unregistered_callbacks
122
+ def before_prepend_callbacks
123
+ @before_prepend_callbacks - @unregistered_callbacks
124
+ end
125
+
126
+ def before_append_callbacks
127
+ @before_append_callbacks - @unregistered_callbacks
109
128
  end
110
129
 
111
- def after_callbacks
112
- @after_callbacks - @unregistered_callbacks
130
+ def after_prepend_callbacks
131
+ @after_prepend_callbacks - @unregistered_callbacks
132
+ end
133
+
134
+ def after_append_callbacks
135
+ @after_append_callbacks - @unregistered_callbacks
113
136
  end
114
137
 
115
138
  private
@@ -122,12 +145,21 @@ module Test
122
145
  [:prepend, :append].include?(options[key])
123
146
  end
124
147
 
125
- def add_callback(callbacks, method_name_or_callback, how)
126
- case how
148
+ def add_callback(method_name_or_callback, before_how, after_how)
149
+ case before_how
127
150
  when :prepend
128
- [method_name_or_callback] | callbacks
151
+ @before_prepend_callbacks =
152
+ [method_name_or_callback] | @before_prepend_callbacks
129
153
  when :append
130
- callbacks | [method_name_or_callback]
154
+ @before_append_callbacks |= [method_name_or_callback]
155
+ else
156
+ case after_how
157
+ when :prepend
158
+ @after_prepend_callbacks =
159
+ [method_name_or_callback] | @after_prepend_callbacks
160
+ when :append
161
+ @after_append_callbacks |= [method_name_or_callback]
162
+ end
131
163
  end
132
164
  end
133
165
  end
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = '3.0.6'
3
+ VERSION = '3.0.7'
4
4
  end
5
5
  end
@@ -513,6 +513,28 @@ class TestUnitFixture < Test::Unit::TestCase
513
513
  test_case)
514
514
  end
515
515
 
516
+ def test_nested
517
+ called = []
518
+ parent_test_case = Class.new(Test::Unit::TestCase) do
519
+ teardown do
520
+ called << :parent
521
+ end
522
+ end
523
+
524
+ child_test_case = Class.new(parent_test_case) do
525
+ teardown do
526
+ called << :child
527
+ end
528
+
529
+ def test_nothing
530
+ end
531
+ end
532
+
533
+ run_test_nothing(child_test_case)
534
+ assert_equal([:child, :parent],
535
+ called)
536
+ end
537
+
516
538
  private
517
539
  def assert_teardown_customizable(expected, parent, options)
518
540
  test_case = Class.new(parent || Test::Unit::TestCase) do
@@ -607,9 +629,14 @@ class TestUnitFixture < Test::Unit::TestCase
607
629
  end
608
630
 
609
631
  private
610
- def assert_called_fixtures(expected, test_case)
632
+ def run_test_nothing(test_case)
611
633
  test = test_case.new("test_nothing")
612
634
  test.run(Test::Unit::TestResult.new) {}
635
+ test
636
+ end
637
+
638
+ def assert_called_fixtures(expected, test_case)
639
+ test = run_test_nothing(test_case)
613
640
  assert_equal(expected, test.called_ids)
614
641
  end
615
642
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-unit
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.6
4
+ version: 3.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-09 00:00:00.000000000 Z
12
+ date: 2014-11-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: power_assert
@@ -234,44 +234,44 @@ signing_key:
234
234
  specification_version: 4
235
235
  summary: An xUnit family unit testing framework for Ruby.
236
236
  test_files:
237
+ - test/test-test-case.rb
237
238
  - test/test-assertions.rb
238
- - test/test-color.rb
239
239
  - test/test-code-snippet.rb
240
240
  - test/test-test-suite-creator.rb
241
+ - test/test-fault-location-detector.rb
242
+ - test/test-omission.rb
241
243
  - test/test-test-result.rb
244
+ - test/collector/test-descendant.rb
245
+ - test/collector/test_dir.rb
246
+ - test/collector/test-load.rb
247
+ - test/collector/test_objectspace.rb
248
+ - test/test-color.rb
249
+ - test/test-attribute-matcher.rb
242
250
  - test/test-error.rb
243
- - test/test-failure.rb
244
- - test/run-test.rb
251
+ - test/test-diff.rb
245
252
  - test/test-pending.rb
246
- - test/test-color-scheme.rb
247
- - test/test-attribute-matcher.rb
248
- - test/testunit-test-util.rb
249
- - test/test-data.rb
250
- - test/ui/test_testrunmediator.rb
251
- - test/util/test-method-owner-finder.rb
252
- - test/util/test-output.rb
253
- - test/util/test_observable.rb
253
+ - test/test-emacs-runner.rb
254
254
  - test/util/test_backtracefilter.rb
255
255
  - test/util/test_procwrapper.rb
256
- - test/test-omission.rb
257
- - test/test-test-case.rb
258
- - test/test-fixture.rb
256
+ - test/util/test-output.rb
257
+ - test/util/test_observable.rb
258
+ - test/util/test-method-owner-finder.rb
259
+ - test/test-data.rb
260
+ - test/fixtures/no-header.tsv
261
+ - test/fixtures/header-label.csv
259
262
  - test/fixtures/no-header.csv
260
263
  - test/fixtures/header-label.tsv
261
264
  - test/fixtures/plus.csv
262
- - test/fixtures/no-header.tsv
263
- - test/fixtures/header-label.csv
264
265
  - test/fixtures/header.csv
265
266
  - test/fixtures/header.tsv
266
- - test/collector/test-descendant.rb
267
- - test/collector/test_objectspace.rb
268
- - test/collector/test-load.rb
269
- - test/collector/test_dir.rb
270
- - test/test-priority.rb
271
267
  - test/test-test-suite.rb
272
- - test/test-diff.rb
273
- - test/test-emacs-runner.rb
268
+ - test/test-color-scheme.rb
269
+ - test/test-priority.rb
274
270
  - test/test-attribute.rb
275
- - test/test-fault-location-detector.rb
271
+ - test/run-test.rb
272
+ - test/test-fixture.rb
276
273
  - test/test-notification.rb
274
+ - test/test-failure.rb
275
+ - test/testunit-test-util.rb
276
+ - test/ui/test_testrunmediator.rb
277
277
  has_rdoc: