test-unit 3.4.9 → 3.5.0

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: 5d7f5b0dc45031fefcdfb3041dfdc747c92eeaecd992cca117e151e4cac580d2
4
+ data.tar.gz: b3473fdb9cea9212e89b5c35cfe6ecee43f2c4efd1c69b5ed7bc9c1d97278b23
5
5
  SHA512:
6
- metadata.gz: f384ac4b1a874f19602fd20bd3d1cda9ad0bff3012c9fafaefb35828b038ca9431b739e123d185927334dcbe63a79e377e2f91f9f9b542288a3e619a87e44baf
7
- data.tar.gz: fe8e03f084c69bab668039fc94cdf84f54a6824f724e8528b28dbd21b9b4d1f62e64bf5cb60d64312fc5aded9cc5df20058d64db51b25d5d9fce10cdd89dd902
6
+ metadata.gz: 6ff80ac0c8e57c424769c1bc393bee079525b6e589e9b81e9aca09915336d63d285e0a26278b6f904c68d87f59c0e6f23231226132440a45dc4b4d05e341401a
7
+ data.tar.gz: d801dfe17d358768d30711e53c8d27530f9aa46623d44829d839e8c3129351bd3d6ac5fd594fb9a726d21f7657773fd6dcd94c77cf964392a23fda1056245dc3
data/doc/text/news.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # News
2
2
 
3
+ ## 3.5.0 - 2021-10-18 {#version-3-5-0}
4
+
5
+ ### Fixes
6
+
7
+ * Fixed a bug that `keep: true` is ignored when the last `data`
8
+ doesn't have `keep: true`.
9
+
3
10
  ## 3.4.9 - 2021-10-18 {#version-3-4-9}
4
11
 
5
12
  ### 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]
@@ -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,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = "3.4.9"
3
+ VERSION = "3.5.0"
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.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou