minitest-data 0.1.0 → 0.2.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
- SHA1:
3
- metadata.gz: 3aa8497e63bebeeee58247b979722ec5d4ffb57e
4
- data.tar.gz: ec5e3c901147d8702bbf5c36dcc3d29ce7376f0d
2
+ SHA256:
3
+ metadata.gz: eec628de98b48f266e2290641d865f3e7aea7c3792fe89c3dfeb74420ba08feb
4
+ data.tar.gz: feb381c2618f7e980ea697f4674f694f447a6dc8b7625ad1b0e8aa16d4e69430
5
5
  SHA512:
6
- metadata.gz: d6b002043834be3e252370a4b4ef706562fd3aeaff79f7a02c00c91b0a61a6ecb6784329a8a5a2a958dee665b36d803588ef8b687777604fd6a2c801bca2fd27
7
- data.tar.gz: 25384a9919ed124561d571162ce12772d44e7bbb087f774afe24e0c57d6b0934297b2725d9acb290cb8171bcc991fdeba6f6a0107b8efcc32302eec57942d4e1
6
+ metadata.gz: 46af50910ccd2d93a0ebca974c4e4885e3d86de841957f518d400fb7d049b0c61fbae635849f0819fad77471feb463b74117c7558b4071d6f3f0eebebb34d147
7
+ data.tar.gz: 31af3baa8e4e8ca07effa37c50f72b5ec29e98a6d4153f1e34cc07e3c2ea047de9ebfbdfbede8dcdbcb59af7dd375894e92c58f2b18763d3fbf9a31603b1acf4
@@ -0,0 +1,30 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ pull_request:
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ name: Ruby ${{ matrix.ruby }}
14
+ strategy:
15
+ matrix:
16
+ ruby:
17
+ - '3.0'
18
+ - '3.1'
19
+ - '3.2'
20
+ - '3.3'
21
+
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ - name: Set up Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ bundler-cache: true
29
+ - name: Run the default task
30
+ run: bundle exec rake
@@ -0,0 +1,26 @@
1
+ name: Push gem to RubyGems.org
2
+
3
+ on:
4
+ workflow_dispatch:
5
+
6
+ jobs:
7
+ push:
8
+ runs-on: ubuntu-latest
9
+
10
+ permissions:
11
+ contents: write
12
+ id-token: write
13
+
14
+ steps:
15
+ # Set up
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ submodules: true
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ bundler-cache: true
23
+ ruby-version: ruby
24
+
25
+ # Release
26
+ - uses: rubygems/release-gem@v1
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2017 yuuji.yaginuma
3
+ Copyright (c) 2017 Yuji Yaginuma
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  # Minitest::Data
2
2
 
3
- [![Build Status](https://travis-ci.org/y-yagi/minitest-data.svg?branch=master)](https://travis-ci.org/y-yagi/minitest-data)
4
3
  [![Gem Version](https://badge.fury.io/rb/minitest-data.svg)](http://badge.fury.io/rb/minitest-data)
5
4
 
6
5
  `Minitest::Data` provides Data-Driven-Test functionality to minitest/test.
@@ -39,16 +38,15 @@ end
39
38
  You can also specify block for the `data` method.
40
39
 
41
40
  ```ruby
42
- data do
43
- data_set = {}
44
- data_set["empty string"] = [true, ""]
45
- data_set["plain string"] = [false, "hello"]
46
- data_set
47
- end
48
- def test_empty(data)
49
- expected, target = data
50
- assert_equal(expected, target.empty?)
51
- end
41
+ data do
42
+ data_set = {}
43
+ data_set["empty string"] = [true, ""]
44
+ data_set["plain string"] = [false, "hello"]
45
+ data_set
46
+ end
47
+ def test_empty(data)
48
+ expected, target = data
49
+ assert_equal(expected, target.empty?)
52
50
  end
53
51
  ```
54
52
 
@@ -61,7 +59,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
61
59
 
62
60
  ## Contributing
63
61
 
64
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/minitest-data. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
62
+ Bug reports and pull requests are welcome on GitHub at https://github.com/y-yagi/minitest-data. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
65
63
 
66
64
 
67
65
  ## License
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Data
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
data/lib/minitest/data.rb CHANGED
@@ -62,35 +62,28 @@ module Minitest
62
62
 
63
63
  attr_accessor :data_label, :data_attribute
64
64
 
65
- def location
66
- label_string = ""
67
- label_string = "(#{self.data_label})" if self.data_label
68
- loc = " [#{self.failure.location}]" unless passed? or error?
69
- "#{self.class}##{self.name}#{label_string}#{loc}"
70
- end
71
-
72
65
  def run
73
- with_info_handler do
74
- time_it do
75
- capture_exceptions do
76
- before_setup; setup; after_setup
66
+ time_it do
67
+ capture_exceptions do
68
+ Minitest::Test::SETUP_METHODS.each do |hook|
69
+ self.send hook
70
+ end
77
71
 
78
- if data_attribute
79
- self.send self.name, data_attribute
80
- else
81
- self.send self.name
82
- end
72
+ if data_attribute
73
+ self.send self.name, data_attribute
74
+ else
75
+ self.send self.name
83
76
  end
77
+ end
84
78
 
85
- Minitest::Test::TEARDOWN_METHODS.each do |hook|
86
- capture_exceptions do
87
- self.send hook
88
- end
79
+ Minitest::Test::TEARDOWN_METHODS.each do |hook|
80
+ capture_exceptions do
81
+ self.send hook
89
82
  end
90
83
  end
91
84
  end
92
85
 
93
- self
86
+ Minitest::Result.from self
94
87
  end
95
88
  end
96
89
 
@@ -111,15 +104,43 @@ module Minitest
111
104
  test_klass.data_attribute = value
112
105
 
113
106
  result = test_klass.run
114
- raise "#{klass}#run _must_ return self" unless klass === result
107
+ raise "#{klass}#run _must_ return self" unless Minitest::Result === result
115
108
  result
116
109
  else
117
110
  super(klass, method_name)
118
111
  end
119
112
  end
120
113
  end
114
+
115
+ module Result
116
+ attr_accessor :data_label
117
+
118
+ class << self
119
+ def prepended(klass)
120
+ class << klass
121
+ prepend ClassMethods
122
+ end
123
+ end
124
+ end
125
+
126
+ module ClassMethods
127
+ def from(runnable)
128
+ r = super
129
+ r.data_label = runnable.data_label if defined?(runnable.data_label)
130
+ r
131
+ end
132
+ end
133
+
134
+ def location
135
+ label_string = ""
136
+ label_string = "(#{self.data_label})" if self.data_label
137
+ loc = " [#{self.failure.location.delete_prefix Minitest::Reportable::BASE_DIR}]" unless passed? or error?
138
+ "#{self.class}##{self.name}#{label_string}#{loc}"
139
+ end
140
+ end
121
141
  end
122
142
  end
123
143
 
124
144
  Minitest::Test.prepend(Minitest::Data::Test)
145
+ Minitest::Result.prepend(Minitest::Data::Result)
125
146
  Minitest.prepend(Minitest::Data)
@@ -20,8 +20,10 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
- spec.add_dependency "minitest", "~> 5.0"
24
- spec.add_development_dependency "bundler", "~> 1.14"
25
- spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_dependency "minitest", ">= 5.25.1"
24
+ spec.add_development_dependency "bundler"
25
+ spec.add_development_dependency "rake"
26
26
  spec.add_development_dependency "byebug"
27
+
28
+ spec.metadata["rubygems_mfa_required"] = "true"
27
29
  end
metadata CHANGED
@@ -1,57 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuji Yaginuma
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-28 00:00:00.000000000 Z
11
+ date: 2024-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5.0'
19
+ version: 5.25.1
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '5.0'
26
+ version: 5.25.1
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1.14'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1.14'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: byebug
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -73,8 +73,9 @@ executables: []
73
73
  extensions: []
74
74
  extra_rdoc_files: []
75
75
  files:
76
+ - ".github/workflows/ci.yml"
77
+ - ".github/workflows/gem_push.yml"
76
78
  - ".gitignore"
77
- - ".travis.yml"
78
79
  - CODE_OF_CONDUCT.md
79
80
  - Gemfile
80
81
  - LICENSE.txt
@@ -88,7 +89,8 @@ files:
88
89
  homepage: https://github.com/y-yagi/minitest-data
89
90
  licenses:
90
91
  - MIT
91
- metadata: {}
92
+ metadata:
93
+ rubygems_mfa_required: 'true'
92
94
  post_install_message:
93
95
  rdoc_options: []
94
96
  require_paths:
@@ -104,8 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
106
  - !ruby/object:Gem::Version
105
107
  version: '0'
106
108
  requirements: []
107
- rubyforge_project:
108
- rubygems_version: 2.6.12
109
+ rubygems_version: 3.5.16
109
110
  signing_key:
110
111
  specification_version: 4
111
112
  summary: Provides Data-Driven-Test functionality to minitest/test.
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- sudo: false
2
- language: ruby
3
- rvm:
4
- - 2.4.0
5
- before_install: gem install bundler -v 1.14.6