test-unit 3.4.7 → 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c560e1a37cdbf43985f90a72db8f9e58032f6c78a4cab6a0eed1043dcb432b82
4
- data.tar.gz: e8c8c21c52598a8e1db27fea5532893f8ec6c6464f60fb426fbfefd16638326d
3
+ metadata.gz: 50005d103c45190c5162f1ede2abdccd525cd38b95c5263a6ef60f91c80ee8f6
4
+ data.tar.gz: c1a50a396527f98f459c714d4aab23105414327c653eea00a54f0c7e434e12da
5
5
  SHA512:
6
- metadata.gz: 526a4fe5b67806bcb084f147876c4b8202f4065d948b306ad90d0cff5358166bdea6d71aa83fb772ee8a9c02040c7a9b50fe280cde50b6289eacecc11b88e328
7
- data.tar.gz: 20f8d27643640248a29f583c63a00de7937ca6788d5cf6e358c6587387cc3c5fb9d376be519218a3ec0532455524566460871f34783f1a9ec2cc7da0020b8d81
6
+ metadata.gz: 6bd3639e152db1f8bd80e473bdd52c9e4cf9a70f8854e20fc878d8009de555204aec786e635bb7b30f3fb93a9c25be54fba0e19c7d9b15739cbe048c2cd6b71c
7
+ data.tar.gz: 5decca9df417becc6a9c0934f920cf0172d512aba465f6a0463b1e6d4cb6aa715fa45e2e6224868c09fcea04e5dc2ee0cf4846e5a9c7e9c5a923b44cded48ae4
data/doc/text/news.md CHANGED
@@ -1,5 +1,36 @@
1
1
  # News
2
2
 
3
+ ## 3.5.1 - 2021-11-08 {#version-3-5-1}
4
+
5
+ ### Fixes
6
+
7
+ * Fixed a bug that `keep: true` is ignored when data set is
8
+ generated by block. [Reported by Kenta Murata]
9
+
10
+ ### Thanks
11
+
12
+ * Kenta Murata
13
+
14
+ ## 3.5.0 - 2021-10-18 {#version-3-5-0}
15
+
16
+ ### Fixes
17
+
18
+ * Fixed a bug that `keep: true` is ignored when the last `data`
19
+ doesn't have `keep: true`.
20
+
21
+ ## 3.4.9 - 2021-10-18 {#version-3-4-9}
22
+
23
+ ### Improvements
24
+
25
+ * Added support for labeling each variable values by using `Hash`.
26
+
27
+ ## 3.4.8 - 2021-10-11 {#version-3-4-8}
28
+
29
+ ### Improvements
30
+
31
+ * Added support for omitting Ractor tests on Ruby 2.7 or earlier
32
+ automatically.
33
+
3
34
  ## 3.4.7 - 2021-09-14 {#version-3-4-7}
4
35
 
5
36
  ### Fixes
@@ -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]
@@ -88,9 +93,9 @@ module Test
88
93
  label = String.new
89
94
  label << "group: #{group.inspect}" unless group.nil?
90
95
  data = {}
91
- cell.each do |variable, pattern|
96
+ cell.each do |variable, pattern, pattern_label|
92
97
  label << ", " unless label.empty?
93
- label << "#{variable}: #{pattern.inspect}"
98
+ label << "#{variable}: #{pattern_label}"
94
99
  data[variable] = pattern
95
100
  end
96
101
  yield(label, data)
@@ -105,8 +110,14 @@ module Test
105
110
  variable
106
111
  end
107
112
  all_patterns = sorted_variables.collect do |(variable, patterns), _|
108
- patterns.collect do |pattern|
109
- [variable, pattern]
113
+ if patterns.is_a?(Hash)
114
+ patterns.collect do |pattern_label, pattern|
115
+ [variable, pattern, pattern_label]
116
+ end
117
+ else
118
+ patterns.collect do |pattern|
119
+ [variable, pattern, pattern.inspect]
120
+ end
110
121
  end
111
122
  end
112
123
  all_patterns[0].product(*all_patterns[1..-1], &block)
@@ -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
@@ -851,6 +851,9 @@ module Test
851
851
  notify("<#{signature}> was redefined",
852
852
  :backtrace => redefined_info[:backtrace])
853
853
  end
854
+ if self[:ractor] and not defined?(::Ractor)
855
+ omit("<#{signature}> requires Ractor")
856
+ end
854
857
  if @internal_data.have_test_data?
855
858
  test_method = method(@method_name)
856
859
  arity = test_method.arity
@@ -1,5 +1,5 @@
1
1
  module Test
2
2
  module Unit
3
- VERSION = "3.4.7"
3
+ VERSION = "3.5.1"
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.7
4
+ version: 3.5.1
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-09-14 00:00:00.000000000 Z
12
+ date: 2021-11-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: power_assert