test-unit 3.4.9 → 3.5.3

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
  SHA256:
3
- metadata.gz: 381321596727dd997b6137fd59dc637ebb74ff6cb0a3f29465116d01c4ceebce
4
- data.tar.gz: b18049275749a55cf6e89eeb74d95b21c5904bd46b9845c64b5564dc6e756946
3
+ metadata.gz: 3a763b935a0a7386519019ce4dc198a3ba9f0dd00f9f44a10cb887d48f2b9d2e
4
+ data.tar.gz: a7b94931289833bc8406c5b07421425110a37ff9a099c43257a83e9b3759a7f0
5
5
  SHA512:
6
- metadata.gz: f384ac4b1a874f19602fd20bd3d1cda9ad0bff3012c9fafaefb35828b038ca9431b739e123d185927334dcbe63a79e377e2f91f9f9b542288a3e619a87e44baf
7
- data.tar.gz: fe8e03f084c69bab668039fc94cdf84f54a6824f724e8528b28dbd21b9b4d1f62e64bf5cb60d64312fc5aded9cc5df20058d64db51b25d5d9fce10cdd89dd902
6
+ metadata.gz: c4cda5342ca0dee7d082e7a61c41a16e532a270848c5944cad33b04fac1cc4b4eaafc3952fba1e8035f2a2f23dd0ef71adf01262210c8f4df860ef155e92cefd
7
+ data.tar.gz: a28acd0a86eaab701fc1bcc4682e17d1ddd2298fa34e2e292fffe488995f257b728fb0aaedb9d9e0511316dd411b9d44a09d59084c91997e190fef55a2b3ce14
data/doc/text/news.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # News
2
2
 
3
+ ## 3.5.3 - 2021-12-20 {#version-3-5-3}
4
+
5
+ ### Improvements
6
+
7
+ * Made how to sub test case generation customizable.
8
+ [GitHub#207][Patch by Akira Matsuda]
9
+
10
+ ### Thanks
11
+
12
+ * Akira Matsuda
13
+
14
+ ## 3.5.2 - 2021-12-10 {#version-3-5-2}
15
+
16
+ ### Improvements
17
+
18
+ * Required `fileutils` lazy.
19
+ [GitHub#206][Patch by David Rodríguez]
20
+
21
+ ### Thanks
22
+
23
+ * David Rodríguez
24
+
25
+ ## 3.5.1 - 2021-11-08 {#version-3-5-1}
26
+
27
+ ### Fixes
28
+
29
+ * Fixed a bug that `keep: true` is ignored when data set is
30
+ generated by block. [Reported by Kenta Murata]
31
+
32
+ ### Thanks
33
+
34
+ * Kenta Murata
35
+
36
+ ## 3.5.0 - 2021-10-18 {#version-3-5-0}
37
+
38
+ ### Fixes
39
+
40
+ * Fixed a bug that `keep: true` is ignored when the last `data`
41
+ doesn't have `keep: true`.
42
+
3
43
  ## 3.4.9 - 2021-10-18 {#version-3-4-9}
4
44
 
5
45
  ### Improvements
@@ -22,17 +22,16 @@ module Test
22
22
  add(data_set)
23
23
  end
24
24
 
25
+ def have_keep?
26
+ each_data_set do |_, options|
27
+ return true if options[:keep]
28
+ end
29
+ false
30
+ end
31
+
25
32
  def keep
26
33
  new_data_sets = self.class.new
27
- all_data_sets = Enumerator.new do |yielder|
28
- block = lambda do |(data_set, options)|
29
- yielder << [data_set, options]
30
- end
31
- @procs.each(&block)
32
- @variables.each(&block)
33
- @value_sets.each(&block)
34
- end
35
- all_data_sets.each do |data_set, options|
34
+ each_data_set do |data_set, options|
36
35
  next if options.nil?
37
36
  next unless options[:keep]
38
37
  new_data_sets.add(data_set, options)
@@ -79,6 +78,12 @@ module Test
79
78
  end
80
79
 
81
80
  private
81
+ def each_data_set(&block)
82
+ @procs.each(&block)
83
+ @variables.each(&block)
84
+ @value_sets.each(&block)
85
+ end
86
+
82
87
  def each_pattern(variables)
83
88
  grouped_variables = variables.group_by do |_, options|
84
89
  options[:group]
@@ -136,7 +136,7 @@ module Test
136
136
  when 1
137
137
  if block_given?
138
138
  data_set = block
139
- options = arguments[1]
139
+ options = arguments[0]
140
140
  else
141
141
  data_set = arguments[0]
142
142
  end
@@ -170,11 +170,11 @@ module Test
170
170
  options ||= {}
171
171
  data_sets = current_attribute(:data)[:value] || DataSets.new
172
172
  data_sets.add(data_set, options)
173
- if options[:keep]
173
+ if options[:keep] or data_sets.have_keep?
174
174
  keep_hook = lambda do |attr|
175
175
  attr.merge(value: attr[:value].keep)
176
176
  end
177
- options = options.merge(keep_hook: keep_hook)
177
+ options = options.merge(keep: true, keep_hook: keep_hook)
178
178
  end
179
179
  attribute(:data, data_sets, options)
180
180
  end
@@ -1,5 +1,3 @@
1
- require "fileutils"
2
-
3
1
  module Test
4
2
  module Unit
5
3
  module Priority
@@ -419,13 +419,7 @@ module Test
419
419
  # case class context.
420
420
  # @return [Test::Unit::TestCase] Created sub test case class.
421
421
  def sub_test_case(name, &block)
422
- parent_test_case = self
423
- sub_test_case = Class.new(self) do
424
- singleton_class = class << self; self; end
425
- singleton_class.__send__(:define_method, :name) do
426
- [parent_test_case.name, name].compact.join("::")
427
- end
428
- end
422
+ sub_test_case = sub_test_case_class(name)
429
423
  sub_test_case.class_eval(&block)
430
424
  sub_test_case
431
425
  end
@@ -514,6 +508,17 @@ module Test
514
508
  target_locations
515
509
  end
516
510
  end
511
+
512
+ # @private
513
+ def sub_test_case_class(name)
514
+ parent_test_case = self
515
+ Class.new(self) do
516
+ singleton_class = class << self; self; end
517
+ singleton_class.__send__(:define_method, :name) do
518
+ [parent_test_case.name, name].compact.join("::")
519
+ end
520
+ end
521
+ end
517
522
  end
518
523
 
519
524
  attr_reader :method_name
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = "3.4.9"
3
+ VERSION = "3.5.3"
4
4
  end
5
5
  end
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.4.9
4
+ version: 3.5.3
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: 2021-10-18 00:00:00.000000000 Z
12
+ date: 2021-12-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: power_assert