fried-test 0.1.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 92d60aed6837d1a83e7c87143d1a33ca1b213059
4
+ data.tar.gz: c8669b44945b0c231a3074457aa392db9d10ff96
5
+ SHA512:
6
+ metadata.gz: 9934df539343c2882c55e410ca461eacf23b06ad9a9e86c40a69230422814ce7f0e8d69893ef85f213a65818d0f301fa84cf1f14115af293940f42062d39847d
7
+ data.tar.gz: 0a24a5e78899936cf3d8d17e684cfee16ef1276aaf6378aace415555c9624cf9c1d8875bc642b160119c66bc0b59f526d411fc4d0d848386dfb5105fbb49abde
data/.gitignore ADDED
@@ -0,0 +1,12 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ Gemfile.lock
11
+ .envrc
12
+ /binstubs/
data/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ sudo: false
2
+ language: ruby
3
+ rvm:
4
+ - 2.4.2
5
+ before_install: gem install bundler -v 1.16.0
6
+ cache: bundler
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
4
+
5
+ # Specify your gem's dependencies in fried-test.gemspec
6
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2017 Francesco Belladonna
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,91 @@
1
+ # Fried::Test [![Build Status][test-badge]][test-link]
2
+
3
+ This gem provides a small executable named `friest` which is just an
4
+ opinionated wrapper around `minitest/autorun`. You can run `friest` and it
5
+ will run the test suite automatically for any test found in the directory
6
+ `test` with any file ending with `_test.rb`.
7
+
8
+ ## Philosophy
9
+
10
+ This gem is mainly a **philosophy** on how your tests should be written.
11
+ Tests API should be so simple that any Ruby developer can jump in and use it.
12
+
13
+ Here is how your tests should look:
14
+
15
+ ```ruby
16
+ require "test_helper"
17
+
18
+ class HelloWorldTest < Minitest::Spec
19
+ def setup
20
+ @text = "hello, world!"
21
+ end
22
+
23
+ it "uses text 'hello, world!'" do
24
+ assert "hello, world!" == @text
25
+ end
26
+ end
27
+ ```
28
+
29
+ This is pure ruby. We don't use `def` because it feels more magical having
30
+ to prefix methods with `test_`, so `it` might as well do it. In addition,
31
+ pure text is much more descriptive than a method with_underscores_in_name.
32
+
33
+ You are allowed to use only the following assertions:
34
+
35
+ - `assert`
36
+ - `refute`
37
+ - `assert_raises`
38
+
39
+ So that any junior can join your team and write tests immediately.
40
+ You are not allowed to use `describe` (it creates nested classes).
41
+
42
+ If you have to share tests between classes, use:
43
+
44
+ ```ruby
45
+ module MySharedTest
46
+ it "has value equal to 0" do
47
+ assert @value == 0
48
+ end
49
+ end
50
+ ```
51
+
52
+ and just `include MySharedTest` where needed.
53
+
54
+ ## Installation
55
+
56
+ Add this line to your application's Gemfile:
57
+
58
+ ```ruby
59
+ gem 'fried-test'
60
+ ```
61
+
62
+ And then execute:
63
+
64
+ $ bundle
65
+
66
+ Or install it yourself as:
67
+
68
+ $ gem install fried-test
69
+
70
+ Then require **and activate** the gem in your `test_helper.rb`
71
+
72
+ ```ruby
73
+ require "fried-test"
74
+ Fried::Test.activate
75
+ ```
76
+
77
+ The "activation" is optional, it monkey patches `Module` class so that you can
78
+ use module to share tests.
79
+
80
+ ## Development
81
+
82
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
83
+
84
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
85
+
86
+ ## Contributing
87
+
88
+ Bug reports and pull requests are welcome on GitHub at https://github.com/Fire-Dragon-DoL/fried-test.
89
+
90
+ [test-badge]: https://travis-ci.org/Fire-Dragon-DoL/fried-test.svg?branch=master
91
+ [test-link]: https://travis-ci.org/Fire-Dragon-DoL/fried-test
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ task :test do
4
+ lib = File.expand_path("../lib", __FILE__)
5
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
6
+
7
+ require "fried/test"
8
+
9
+ Fried::Test::CLI.()
10
+ end
11
+
12
+ task default: :test
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "fried/test"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/exe/friest ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ lib = File.expand_path("../../lib", __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+
6
+ require "bundler/setup"
7
+ require "fried/test"
8
+
9
+ Fried::Test::CLI.()
@@ -0,0 +1,29 @@
1
+
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "fried/test/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "fried-test"
8
+ spec.version = Fried::Test::VERSION
9
+ spec.authors = ["Fire-Dragon-DoL"]
10
+ spec.email = ["francesco.belladonna@gmail.com"]
11
+
12
+ spec.summary = %q{Minitest helpers and testing philosophy}
13
+ spec.description = %q{Minitest helpers and testing philosophy}
14
+ spec.homepage = "https://github.com/Fire-Dragon-DoL/fried-test"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
17
+ f.match(%r{^(test|spec|features)/})
18
+ end
19
+ spec.bindir = "exe"
20
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
+ spec.require_paths = ["lib"]
22
+
23
+ spec.add_development_dependency "bundler"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "pry-byebug"
26
+
27
+ spec.add_runtime_dependency "minitest"
28
+ spec.add_runtime_dependency "minitest-reporters"
29
+ end
@@ -0,0 +1,33 @@
1
+ require "minitest/spec"
2
+
3
+ module Fried
4
+ module Test
5
+ class Activate
6
+ attr_accessor :target
7
+
8
+ def initialize
9
+ @target = nil
10
+ end
11
+
12
+ def self.build
13
+ new.tap do |instance|
14
+ instance.target = Module
15
+ end
16
+ end
17
+
18
+ # @return [Void]
19
+ def call
20
+ return if target.nil?
21
+
22
+ target.class_eval do
23
+ include Minitest::Spec::DSL
24
+ end
25
+ end
26
+
27
+ def self.call
28
+ instance = build
29
+ instance.()
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,38 @@
1
+ require "fried/test/noop"
2
+ require "fried/test/telemetry"
3
+
4
+ module Fried
5
+ module Test
6
+ class Autorun
7
+ class Substitute
8
+ include ::Fried::Test::Telemetry
9
+
10
+ def call
11
+ record :call
12
+ nil
13
+ end
14
+ end
15
+
16
+ attr_accessor :execute
17
+
18
+ def initialize
19
+ @execute = Noop
20
+ end
21
+
22
+ def self.build
23
+ new.tap do |instance|
24
+ instance.execute = method(:require)
25
+ end
26
+ end
27
+
28
+ def call
29
+ execute.("minitest/autorun")
30
+ end
31
+
32
+ def self.call
33
+ instance = build
34
+ instance.()
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,38 @@
1
+ require "fried/test/load_test_files"
2
+ require "fried/test/load_tests_path"
3
+ require "fried/test/autorun"
4
+
5
+ module Fried
6
+ module Test
7
+ class CLI
8
+ attr_accessor :load_tests_path
9
+ attr_accessor :load_test_files
10
+ attr_accessor :autorun
11
+
12
+ def initialize
13
+ @load_tests_path = LoadTestsPath.new
14
+ @load_test_files = LoadTestFiles.new
15
+ @autorun = Autorun.new
16
+ end
17
+
18
+ def self.build
19
+ new.tap do |instance|
20
+ instance.load_tests_path = LoadTestsPath.build
21
+ instance.load_test_files = LoadTestFiles.build
22
+ instance.autorun = Autorun.build
23
+ end
24
+ end
25
+
26
+ def call
27
+ load_tests_path.()
28
+ load_test_files.()
29
+ autorun.()
30
+ end
31
+
32
+ def self.call
33
+ instance = build
34
+ instance.()
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,46 @@
1
+ require "pathname"
2
+
3
+ module Fried
4
+ module Test
5
+ module Directory
6
+ class CurrentWorkingDirectory
7
+ class Substitute
8
+ private
9
+
10
+ attr_reader :path
11
+
12
+ public
13
+
14
+ def initialize(path = "/dev/null")
15
+ @path = path
16
+ end
17
+
18
+ def call
19
+ Pathname.new(path)
20
+ end
21
+ end
22
+
23
+ attr_accessor :dir
24
+
25
+ def self.build
26
+ new.tap do |instance|
27
+ instance.dir = Dir
28
+ end
29
+ end
30
+
31
+ # @return [Pathname]
32
+ def call
33
+ return Pathname.new("/dev/null") if dir.nil?
34
+
35
+ path_as_text = dir.pwd
36
+ Pathname.new(path_as_text)
37
+ end
38
+
39
+ def self.call
40
+ instance = build
41
+ instance.()
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,51 @@
1
+ require "pathname"
2
+ require "fried/test/telemetry"
3
+
4
+ module Fried
5
+ module Test
6
+ module Directory
7
+ # Behaves like {Dir.glob}
8
+ class GetFilesByPattern
9
+ class Substitute
10
+ include ::Fried::Test::Telemetry
11
+
12
+ private
13
+
14
+ attr_reader :files
15
+
16
+ public
17
+
18
+ def initialize(files = [])
19
+ @files = files
20
+ end
21
+
22
+ def call(pattern, flag = 0)
23
+ record :call, [pattern, flag]
24
+ files.map(&:to_s)
25
+ end
26
+ end
27
+
28
+ attr_accessor :dir
29
+
30
+ def self.build
31
+ new.tap do |instance|
32
+ instance.dir = Dir
33
+ end
34
+ end
35
+
36
+ # @see Dir.glob
37
+ # @return [Array<String>]
38
+ def call(pattern, flags = 0)
39
+ return [] if dir.nil?
40
+
41
+ dir.glob(pattern, flags)
42
+ end
43
+
44
+ def self.call
45
+ instance = build
46
+ instance.()
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,49 @@
1
+ require "pathname"
2
+ require "fried/test/directory/current_working_directory"
3
+
4
+ module Fried
5
+ module Test
6
+ class GetTestDirectory
7
+ class Substitute
8
+ private
9
+
10
+ attr_reader :test_path
11
+
12
+ public
13
+
14
+ def initialize(test_path)
15
+ @test_path = test_path
16
+ end
17
+
18
+ def call
19
+ Pathname.new(test_path)
20
+ end
21
+ end
22
+
23
+ attr_accessor :current_working_directory
24
+
25
+ def initialize
26
+ @current_working_directory = Directory::CurrentWorkingDirectory.new
27
+ end
28
+
29
+ def self.build
30
+ new.tap do |instance|
31
+ cwd = Directory::CurrentWorkingDirectory.build
32
+
33
+ instance.current_working_directory = cwd
34
+ end
35
+ end
36
+
37
+ # @return [Pathname]
38
+ def call
39
+ path = current_working_directory.()
40
+ path.join("./test")
41
+ end
42
+
43
+ def self.call
44
+ instance = build
45
+ instance.()
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,42 @@
1
+ require "pathname"
2
+ require "fried/test/directory/get_files_by_pattern"
3
+ require "fried/test/get_test_directory"
4
+
5
+ module Fried
6
+ module Test
7
+ # Get absolute path to all test files for current working directory
8
+ class GetTestFiles
9
+ GlobPattern = Pathname.new("./**/*_test.rb").freeze
10
+
11
+ attr_accessor :get_files_by_pattern
12
+ attr_accessor :get_test_directory
13
+
14
+ def initialize
15
+ @get_files_by_pattern = Directory::GetFilesByPattern.new
16
+ @get_test_directory = GetTestDirectory.new
17
+ end
18
+
19
+ def self.build
20
+ new.tap do |instance|
21
+ instance.get_files_by_pattern = Directory::GetFilesByPattern.build
22
+ instance.get_test_directory = GetTestDirectory.build
23
+ end
24
+ end
25
+
26
+ # @return [Enumerator<Pathname>]
27
+ def call
28
+ directory = get_test_directory.()
29
+ pattern = directory.join(GlobPattern)
30
+
31
+ files = get_files_by_pattern.(pattern.to_s)
32
+ files.map! { |file| directory.join(file) }
33
+ files.each
34
+ end
35
+
36
+ def self.call
37
+ instance = build
38
+ instance.()
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,40 @@
1
+ require "fried/test/get_test_files"
2
+
3
+ module Fried
4
+ module Test
5
+ # Load test files using {require_relative}
6
+ class LoadTestFiles
7
+ class Substitute
8
+ include ::Fried::Test::Telemetry
9
+
10
+ def call
11
+ record :call
12
+ nil
13
+ end
14
+ end
15
+
16
+ attr_accessor :get_test_files
17
+
18
+ def initialize
19
+ @get_test_files = GetTestFiles.new
20
+ end
21
+
22
+ def self.build
23
+ new.tap do |instance|
24
+ instance.get_test_files = GetTestFiles.build
25
+ end
26
+ end
27
+
28
+ # @return [Void]
29
+ def call
30
+ test_files = get_test_files.()
31
+ test_files.each { |file| require_relative file.to_s }
32
+ end
33
+
34
+ def self.call
35
+ instance = build
36
+ instance.()
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,44 @@
1
+ require "fried/test/get_test_directory"
2
+ require "fried/test/prepend_to_load_path"
3
+
4
+ module Fried
5
+ module Test
6
+ # Puts tests path into {$LOAD_PATH}
7
+ class LoadTestsPath
8
+ class Substitute
9
+ include ::Fried::Test::Telemetry
10
+
11
+ def call
12
+ record :call
13
+ nil
14
+ end
15
+ end
16
+
17
+ attr_accessor :get_test_directory
18
+ attr_accessor :prepend_to_load_path
19
+
20
+ def initialize
21
+ @get_test_directory = GetTestDirectory.new
22
+ @prepend_to_load_path = PrependToLoadPath.new
23
+ end
24
+
25
+ def self.build
26
+ new.tap do |instance|
27
+ instance.get_test_directory = GetTestDirectory.build
28
+ instance.prepend_to_load_path = PrependToLoadPath.build
29
+ end
30
+ end
31
+
32
+ # @param [Void]
33
+ def call
34
+ lib = get_test_directory.()
35
+ prepend_to_load_path.(lib)
36
+ end
37
+
38
+ def self.call
39
+ instance = build
40
+ instance.()
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,5 @@
1
+ module Fried
2
+ module Test
3
+ Noop = ->(*,**) {}.freeze
4
+ end
5
+ end
@@ -0,0 +1,34 @@
1
+ module Fried
2
+ module Test
3
+ # Unshifts the path to {$LOAD_PATH} unless already existing
4
+ class PrependToLoadPath
5
+ attr_accessor :load_path
6
+
7
+ def initialize
8
+ @load_path = []
9
+ end
10
+
11
+ def self.build
12
+ new.tap do |instance|
13
+ instance.load_path = $LOAD_PATH
14
+ end
15
+ end
16
+
17
+ # @param path [String, Pathname]
18
+ # @return [Boolean] {true} if path was added, {false} if already present
19
+ def call(path)
20
+ text_path = path.to_s
21
+
22
+ has_path = load_path.include?(text_path)
23
+ load_path.unshift(text_path) unless has_path
24
+
25
+ !has_path
26
+ end
27
+
28
+ def self.call
29
+ instance = build
30
+ instance.()
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,32 @@
1
+ module Fried
2
+ module Test
3
+ module Telemetry
4
+ Record = Struct.new(:signal, :time, :data)
5
+
6
+ def record(signal, data = nil)
7
+ @__telemetry_records__ ||= []
8
+ time = Time.now.utc
9
+ @__telemetry_records__ << Record.new(signal, time, data)
10
+ end
11
+
12
+ def recorded?(signal)
13
+ @__telemetry_records__.any? do |recorded|
14
+ recorded.signal == signal
15
+ end
16
+ end
17
+
18
+ def recorded_with?(signal, data)
19
+ @__telemetry_records__.any? do |recorded|
20
+ recorded.signal == signal &&
21
+ recorded.data == data
22
+ end
23
+ end
24
+
25
+ def recorded_times?(signal, amount)
26
+ @__telemetry_records__.count do |recorded|
27
+ recorded.signal == signal
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,5 @@
1
+ module Fried
2
+ module Test
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
data/lib/fried/test.rb ADDED
@@ -0,0 +1,13 @@
1
+ require "fried/test/version"
2
+ require "fried/test/cli"
3
+ require "fried/test/activate"
4
+
5
+ module Fried
6
+ module Test
7
+ module_function
8
+
9
+ def activate
10
+ Activate.()
11
+ end
12
+ end
13
+ end
metadata ADDED
@@ -0,0 +1,138 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fried-test
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Fire-Dragon-DoL
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2017-11-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pry-byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest-reporters
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Minitest helpers and testing philosophy
84
+ email:
85
+ - francesco.belladonna@gmail.com
86
+ executables:
87
+ - friest
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - ".gitignore"
92
+ - ".travis.yml"
93
+ - Gemfile
94
+ - LICENSE
95
+ - README.md
96
+ - Rakefile
97
+ - bin/console
98
+ - bin/setup
99
+ - exe/friest
100
+ - fried-test.gemspec
101
+ - lib/fried/test.rb
102
+ - lib/fried/test/activate.rb
103
+ - lib/fried/test/autorun.rb
104
+ - lib/fried/test/cli.rb
105
+ - lib/fried/test/directory/current_working_directory.rb
106
+ - lib/fried/test/directory/get_files_by_pattern.rb
107
+ - lib/fried/test/get_test_directory.rb
108
+ - lib/fried/test/get_test_files.rb
109
+ - lib/fried/test/load_test_files.rb
110
+ - lib/fried/test/load_tests_path.rb
111
+ - lib/fried/test/noop.rb
112
+ - lib/fried/test/prepend_to_load_path.rb
113
+ - lib/fried/test/telemetry.rb
114
+ - lib/fried/test/version.rb
115
+ homepage: https://github.com/Fire-Dragon-DoL/fried-test
116
+ licenses: []
117
+ metadata: {}
118
+ post_install_message:
119
+ rdoc_options: []
120
+ require_paths:
121
+ - lib
122
+ required_ruby_version: !ruby/object:Gem::Requirement
123
+ requirements:
124
+ - - ">="
125
+ - !ruby/object:Gem::Version
126
+ version: '0'
127
+ required_rubygems_version: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ requirements: []
133
+ rubyforge_project:
134
+ rubygems_version: 2.6.14
135
+ signing_key:
136
+ specification_version: 4
137
+ summary: Minitest helpers and testing philosophy
138
+ test_files: []