minitest-markdown 0.2.3 → 1.0.1

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: fabeb5456de7296b1986c66822818a5fec9834e2c23e19b33a4c3c198e262ae6
4
- data.tar.gz: bebbc7f77cd2443e91e58224888e5b69ab2d072b69e49c4cab86557cb0c3eeec
3
+ metadata.gz: 4ce194c19e7860fad853a2c1763a1f0b68cecc43ae7a9ad1c80a2f59e3d435e6
4
+ data.tar.gz: a6bf5cabf787284659443e0048332a4a0b58c3bba5d4bfe0b84a3d88c767bf66
5
5
  SHA512:
6
- metadata.gz: 5b369fab40830b0a31951df1ddb8dc25868471f2766f81fd2c438bba7219921e45ef47e48d9c73b2224655d39a1005efd23e8c0a268481c3f9b0a3d628019ee2
7
- data.tar.gz: 2789d00a505fa70ea7ce6c29352807c066951c4498862f4b1afe6190e568e3b7da31ce63b3a5baf74e51cd24759c183a432121cb1209d883faf672ec08a1dd13
6
+ metadata.gz: 8c5086120dccfc99db477292686152698821d4ad9230ecec50e6a75134b110a161ca3cd3f554ab568b7fe43034ba8f141a182d5f39c8eb0293a621c596f5291a
7
+ data.tar.gz: 8042550f426f11393f50e470af79120dae04f4c9dd25b1d1a3281d30867c23f09d11fe238b7d36cfcca4afa849a2636c07eade899c6b63dc39cf85f43baedbe3
data/.rubocop.yml CHANGED
@@ -5,7 +5,7 @@ plugins:
5
5
  - rubocop-rake
6
6
 
7
7
  AllCops:
8
- TargetRubyVersion: 3.1
8
+ TargetRubyVersion: 3.2
9
9
  NewCops: enable
10
10
  Exclude:
11
11
  - 'vendor/**/*' # GitLab caching..
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [1.0.1] - 2026-05-31
4
+
5
+ - Include Minitest::Hooks in test class. Fixes [#3](https://gitlab.com/matzfan/minitest-markdown/-/work_items/3)
6
+
7
+ ## [1.0.0] - 2026-05-22
8
+
9
+ - Minitest 6
10
+
3
11
  ## [0.2.3] - 2025-05-22
4
12
 
5
13
  - New release to catch up with 'pre' versioning
@@ -11,7 +11,6 @@ module Minitest
11
11
  class TestClass
12
12
  FENCED_BLOCK_REGEXP = /^```ruby\n(.*?)\n```/m
13
13
 
14
- BAD_KLASS = 'TestClass must be instantiated with Minitest::Test or subclass thereof'
15
14
  BAD_PATH = 'Path does not exist, is not readable or is not a Markdown file:'
16
15
  MD = '.md'
17
16
 
@@ -21,7 +20,7 @@ module Minitest
21
20
  attr_reader :klass, :path
22
21
 
23
22
  def initialize(klass, path: nil)
24
- @klass = validate_class klass
23
+ @klass = klass
25
24
  @path = validate_path path
26
25
  @state_methods_defined = []
27
26
  end
@@ -38,12 +37,6 @@ module Minitest
38
37
 
39
38
  private
40
39
 
41
- def validate_class(klass)
42
- raise ArgumentError, BAD_KLASS unless klass.respond_to?(:ancestors) && klass.ancestors.include?(Minitest::Test)
43
-
44
- klass
45
- end
46
-
47
40
  def validate_path(pth)
48
41
  return Markdown.config.readme_path if pth.nil?
49
42
  raise ArgumentError, "#{BAD_PATH} #{pth}" unless File.exist?(pth) && File.file?(pth) && File.extname(pth) == MD
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Minitest
4
4
  module Markdown
5
- VERSION = '0.2.3'
5
+ VERSION = '1.0.1'
6
6
  end
7
7
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'minitest/hooks'
3
4
  require 'minitest/stub_any_instance'
4
5
 
5
6
  require_relative 'stub_chain'
@@ -11,6 +12,7 @@ require_relative 'markdown/test_class'
11
12
  module Minitest
12
13
  # namespace
13
14
  module Markdown
15
+ BAD_KLASS = 'klass keyword takes a subclass of Minitest::Test'
14
16
  ARG_ERR = 'stubs keyword takes a hash. Keys are integers and values are StubChain instances'
15
17
 
16
18
  class << self
@@ -23,9 +25,12 @@ module Minitest
23
25
  end
24
26
 
25
27
  def generate_markdown_tests(klass, path: nil, stubs: {})
28
+ raise ArgumentError, BAD_KLASS unless klass.respond_to?(:ancestors) && klass.ancestors.include?(Test)
26
29
  raise ArgumentError, ARG_ERR unless stubs.is_a? Hash
27
- raise ArgumentError, ARG_ERR unless stubs.keys.all? { |o| o.instance_of? Integer }
28
- raise ArgumentError, ARG_ERR unless stubs.values.all? { |o| o.instance_of? StubChain }
30
+ raise ArgumentError, ARG_ERR unless stubs.keys.all?(Integer)
31
+ raise ArgumentError, ARG_ERR unless stubs.values.all?(StubChain)
32
+
33
+ klass.include Hooks
29
34
 
30
35
  TestClass.new(klass, path: path).define_methods(stubs: stubs)
31
36
  end
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'minitest/mock'
4
+
3
5
  module Minitest
4
6
  # respresentaion of zero or more stub blocks around one or more test assertions
5
7
  class StubChain
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-markdown
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - MatzFan
@@ -35,20 +35,42 @@ dependencies:
35
35
  requirements:
36
36
  - - "~>"
37
37
  - !ruby/object:Gem::Version
38
- version: '5.25'
39
- - - ">="
38
+ version: '6'
39
+ type: :runtime
40
+ prerelease: false
41
+ version_requirements: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - "~>"
44
+ - !ruby/object:Gem::Version
45
+ version: '6'
46
+ - !ruby/object:Gem::Dependency
47
+ name: minitest-hooks
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - "~>"
40
51
  - !ruby/object:Gem::Version
41
- version: 5.25.2
52
+ version: '1.5'
42
53
  type: :runtime
43
54
  prerelease: false
44
55
  version_requirements: !ruby/object:Gem::Requirement
45
56
  requirements:
46
57
  - - "~>"
47
58
  - !ruby/object:Gem::Version
48
- version: '5.25'
49
- - - ">="
59
+ version: '1.5'
60
+ - !ruby/object:Gem::Dependency
61
+ name: minitest-mock
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '5.27'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
50
72
  - !ruby/object:Gem::Version
51
- version: 5.25.2
73
+ version: '5.27'
52
74
  - !ruby/object:Gem::Dependency
53
75
  name: minitest-stub_any_instance
54
76
  requirement: !ruby/object:Gem::Requirement
@@ -97,14 +119,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
97
119
  requirements:
98
120
  - - ">="
99
121
  - !ruby/object:Gem::Version
100
- version: '3.1'
122
+ version: '3.2'
101
123
  required_rubygems_version: !ruby/object:Gem::Requirement
102
124
  requirements:
103
125
  - - ">="
104
126
  - !ruby/object:Gem::Version
105
127
  version: '0'
106
128
  requirements: []
107
- rubygems_version: 3.7.0.dev
129
+ rubygems_version: 4.0.10
108
130
  specification_version: 4
109
131
  summary: Turn your README.md Ruby code blocks into testable code.
110
132
  test_files: []