magic_test 0.0.4 → 0.0.5
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 +4 -4
- data/.standard.yml +3 -0
- data/Gemfile +1 -1
- data/Gemfile.lock +27 -1
- data/README.md +1 -3
- data/Rakefile +1 -1
- data/app/views/magic_test/_context_menu.html +10 -3
- data/app/views/magic_test/_finders.html +11 -8
- data/app/views/magic_test/_javascript_helpers.html +8 -7
- data/app/views/magic_test/_listeners.html +1 -2
- data/app/views/magic_test/_support.html.erb +0 -4
- data/lib/generators/magic_test/install_generator.rb +12 -24
- data/lib/magic_test.rb +0 -3
- data/lib/magic_test/engine.rb +9 -5
- data/lib/magic_test/railtie.rb +1 -1
- data/lib/magic_test/support.rb +16 -18
- data/lib/magic_test/version.rb +1 -1
- data/lib/tasks/magic_test.rake +1 -1
- data/magic_test.gemspec +11 -10
- metadata +17 -3
- data/lib/generators/magic_test/templates/config/initializers/magic_test.rb +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 75adfb4e31a3cddd41feccf5105643d887e6744e050a3cecd2e3944f48be7ddc
|
4
|
+
data.tar.gz: 5fa8c00d0ba7a14cb1b95033f297af1988abe0c698e3b1e7b32882b0d9c23ef0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2d5cc5f25c5198909f2a2fa3a7564871f79b750589a4a61b75d59f3b1e8e32a26ba515f852b6b22f4f6f67cd86a13bb1998eb2228aaca22b7b20fc4dda0a0cf4
|
7
|
+
data.tar.gz: aa3b684389d75750883ec106f9f67293a00d31eba760c1ea5a6020906c3b4fdaf22cdcae921bf768f966210601fc15eb5a2935c2a4905dc4c1b17c908d23a1a2
|
data/.standard.yml
ADDED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
magic_test (0.0.
|
4
|
+
magic_test (0.0.5)
|
5
5
|
capybara (~> 3.0)
|
6
6
|
pry
|
7
7
|
pry-stack_explorer
|
@@ -71,6 +71,7 @@ GEM
|
|
71
71
|
zeitwerk (~> 2.3)
|
72
72
|
addressable (2.7.0)
|
73
73
|
public_suffix (>= 2.0.2, < 5.0)
|
74
|
+
ast (2.4.2)
|
74
75
|
binding_of_caller (1.0.0)
|
75
76
|
debug_inspector (>= 0.0.1)
|
76
77
|
builder (3.2.4)
|
@@ -109,6 +110,9 @@ GEM
|
|
109
110
|
racc (~> 1.4)
|
110
111
|
nokogiri (1.11.1-x86_64-darwin)
|
111
112
|
racc (~> 1.4)
|
113
|
+
parallel (1.20.1)
|
114
|
+
parser (3.0.0.0)
|
115
|
+
ast (~> 2.4.1)
|
112
116
|
pry (0.14.0)
|
113
117
|
coderay (~> 1.1)
|
114
118
|
method_source (~> 1.0)
|
@@ -146,8 +150,25 @@ GEM
|
|
146
150
|
method_source
|
147
151
|
rake (>= 0.8.7)
|
148
152
|
thor (~> 1.0)
|
153
|
+
rainbow (3.0.0)
|
149
154
|
rake (13.0.3)
|
150
155
|
regexp_parser (2.1.1)
|
156
|
+
rexml (3.2.4)
|
157
|
+
rubocop (1.10.0)
|
158
|
+
parallel (~> 1.10)
|
159
|
+
parser (>= 3.0.0.0)
|
160
|
+
rainbow (>= 2.2.2, < 4.0)
|
161
|
+
regexp_parser (>= 1.8, < 3.0)
|
162
|
+
rexml
|
163
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
164
|
+
ruby-progressbar (~> 1.7)
|
165
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
166
|
+
rubocop-ast (1.4.1)
|
167
|
+
parser (>= 2.7.1.5)
|
168
|
+
rubocop-performance (1.9.2)
|
169
|
+
rubocop (>= 0.90.0, < 2.0)
|
170
|
+
rubocop-ast (>= 0.4.0)
|
171
|
+
ruby-progressbar (1.11.0)
|
151
172
|
sprockets (4.0.2)
|
152
173
|
concurrent-ruby (~> 1.0)
|
153
174
|
rack (> 1, < 3)
|
@@ -155,9 +176,13 @@ GEM
|
|
155
176
|
actionpack (>= 4.0)
|
156
177
|
activesupport (>= 4.0)
|
157
178
|
sprockets (>= 3.0.0)
|
179
|
+
standard (0.13.0)
|
180
|
+
rubocop (= 1.10.0)
|
181
|
+
rubocop-performance (= 1.9.2)
|
158
182
|
thor (1.1.0)
|
159
183
|
tzinfo (2.0.4)
|
160
184
|
concurrent-ruby (~> 1.0)
|
185
|
+
unicode-display_width (2.0.0)
|
161
186
|
websocket-driver (0.7.3)
|
162
187
|
websocket-extensions (>= 0.1.0)
|
163
188
|
websocket-extensions (0.1.5)
|
@@ -174,6 +199,7 @@ DEPENDENCIES
|
|
174
199
|
magic_test!
|
175
200
|
minitest (~> 5.0)
|
176
201
|
rake (~> 13.0)
|
202
|
+
standard
|
177
203
|
|
178
204
|
BUNDLED WITH
|
179
205
|
2.2.0
|
data/README.md
CHANGED
@@ -30,14 +30,12 @@ Then run the following in your shell:
|
|
30
30
|
bundle install
|
31
31
|
```
|
32
32
|
|
33
|
-
Next, run the install generator
|
33
|
+
Next, run the install generator:
|
34
34
|
|
35
35
|
```
|
36
36
|
rails g magic_test:install
|
37
37
|
```
|
38
38
|
|
39
|
-
> If your application doesn't include jQuery, you'll need to let Magic Test know to include it as needed. Just add `no` to the end of the line above or adjust your configuration afterward in `config/initializers/magic_test.rb`. We'll only inject jQuery when Magic Test is actively running. It will never show up on CI.
|
40
|
-
|
41
39
|
With this we will:
|
42
40
|
|
43
41
|
- Create a sample system test at `test/system/basics_test.rb` that invokes Magic Test.
|
data/Rakefile
CHANGED
@@ -1,10 +1,17 @@
|
|
1
1
|
<script>
|
2
|
-
|
3
|
-
|
4
|
-
|
2
|
+
function ready(fn) {
|
3
|
+
if (document.readyState !== 'loading'){
|
4
|
+
fn();
|
5
|
+
} else {
|
6
|
+
document.addEventListener('DOMContentLoaded', fn);
|
7
|
+
}
|
8
|
+
}
|
9
|
+
|
10
|
+
ready(function() {
|
5
11
|
enableKeyboardShortcuts();
|
6
12
|
});
|
7
13
|
|
14
|
+
|
8
15
|
function enableKeyboardShortcuts() {
|
9
16
|
function keydown(event) {
|
10
17
|
if (event.ctrlKey && event.shiftKey && event.key === 'A') {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<script>
|
2
2
|
|
3
3
|
function getPathTo(element) {
|
4
|
-
if (element.tagName
|
4
|
+
if (element.tagName === 'HTML') {
|
5
5
|
return '/HTML[1]';
|
6
6
|
}
|
7
7
|
if (element===document.body) {
|
@@ -20,27 +20,30 @@
|
|
20
20
|
}
|
21
21
|
}
|
22
22
|
|
23
|
-
|
24
|
-
|
25
|
-
return
|
23
|
+
function visibleFilter(target){
|
24
|
+
var computedStyle = window.getComputedStyle(target);
|
25
|
+
return !(computedStyle.display === 'none' || computedStyle.visibility === 'hidden' || target.hidden)
|
26
26
|
}
|
27
27
|
|
28
28
|
|
29
29
|
function finderForElement(element) {
|
30
30
|
// Try to find just using the element tagName
|
31
31
|
var tagName = element.tagName.toLowerCase();
|
32
|
-
if (
|
32
|
+
if (document.querySelectorAll(tagName).length === 1) {
|
33
33
|
return `find('${tagName}')`;
|
34
34
|
}
|
35
35
|
// Try adding in the classes of the element
|
36
36
|
var classList = [].slice.apply(element.classList)
|
37
37
|
var classString = classList.length ? "." + classList.join('.') : "";
|
38
|
-
if (classList.length &&
|
38
|
+
if (classList.length && document.querySelectorAll(tagName + classList).length === 1) {
|
39
39
|
return `find('${tagName}${classString}')`;
|
40
40
|
}
|
41
41
|
// Try adding in the text of the element
|
42
42
|
var text = element.textContent.trim();
|
43
|
-
|
43
|
+
var targets = Array.from(document.querySelectorAll(`${tagName}${classString}`))
|
44
|
+
.filter(visibleFilter)
|
45
|
+
.filter((el) => el.textContent.includes(text))
|
46
|
+
if (text && targets.length === 1) {
|
44
47
|
return `find('${tagName}${classString}', text: '${text}')`;
|
45
48
|
}
|
46
49
|
// use the xpath to the element
|
@@ -48,4 +51,4 @@
|
|
48
51
|
}
|
49
52
|
|
50
53
|
|
51
|
-
</script>
|
54
|
+
</script>
|
@@ -1,29 +1,30 @@
|
|
1
1
|
<script text="text/javascript">
|
2
2
|
|
3
|
-
|
3
|
+
(function() {
|
4
4
|
console.log("🪄 Magic Test activated in the browser!")
|
5
5
|
initializeStorage();
|
6
6
|
initializeMutationObserver();
|
7
|
-
});
|
7
|
+
})();
|
8
8
|
|
9
9
|
function clickFunction(event) {
|
10
|
-
var
|
10
|
+
var element = event.target
|
11
|
+
var tagName = element.tagName
|
11
12
|
var action = ""
|
12
13
|
var target = ""
|
13
14
|
var options = ""
|
14
|
-
if (tagName == "BUTTON" || tagName == "A" || (tagName == "INPUT" &&
|
15
|
+
if (tagName == "BUTTON" || tagName == "A" || (tagName == "INPUT" && element.type == 'submit')) {
|
15
16
|
action = "click_on"
|
16
|
-
|
17
|
+
target = element.value || element.text
|
17
18
|
if (!target) {
|
18
19
|
return;
|
19
20
|
}
|
20
21
|
target = "\'" + target.trim().replace("'", "\\\'") + "\'"
|
21
22
|
} else if (tagName == "INPUT") {
|
22
23
|
let ignoreType = ['text', 'password', 'date', 'email', 'month', 'number', 'search']
|
23
|
-
if (ignoreType.includes(
|
24
|
+
if (ignoreType.includes(element.type)) {
|
24
25
|
return;
|
25
26
|
}
|
26
|
-
var path = getPathTo(
|
27
|
+
var path = getPathTo(element)
|
27
28
|
action = `find(:xpath, '${path}').click`
|
28
29
|
} else {
|
29
30
|
return;
|
@@ -4,6 +4,5 @@
|
|
4
4
|
document.addEventListener('keypress', function(e){keypressFunction(e)});
|
5
5
|
document.addEventListener('mouseover', function(evt){mutationStart(evt)}, true);
|
6
6
|
document.addEventListener('mouseover', function(){mutationEnd()}, false);
|
7
|
-
|
8
|
-
$(document).on('click', '*', function(event){clickFunction(event)});
|
7
|
+
document.addEventListener('click', function(event){clickFunction(event)});
|
9
8
|
</script>
|
@@ -1,8 +1,4 @@
|
|
1
1
|
<% if Rails.env.test? && ENV['MAGIC_TEST'].present? %>
|
2
|
-
<% unless MagicTest.jquery_already_included %>
|
3
|
-
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
|
4
|
-
<% end %>
|
5
|
-
|
6
2
|
<%= render 'magic_test/context_menu' %>
|
7
3
|
<%= render 'magic_test/key_codes' %>
|
8
4
|
<%= render 'magic_test/storage' %>
|
@@ -1,40 +1,28 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "rails/generators"
|
2
|
+
require "magic_test/engine"
|
3
3
|
|
4
4
|
module MagicTest
|
5
5
|
class InstallGenerator < Rails::Generators::Base
|
6
6
|
def self.source_paths
|
7
|
-
[MagicTest::Engine.root, File.expand_path(
|
8
|
-
end
|
9
|
-
|
10
|
-
argument :jquery_already_included, :type => :string, :default => 'yes'
|
11
|
-
|
12
|
-
# Override the attr_accessor generated by 'argument' so that
|
13
|
-
# subscription_owner_model is always returned lowercase.
|
14
|
-
def jquery_already_included
|
15
|
-
@jquery_already_included.strip.downcase.first == 'y'
|
7
|
+
[MagicTest::Engine.root, File.expand_path("../templates", __FILE__)]
|
16
8
|
end
|
17
9
|
|
18
10
|
def install
|
19
11
|
unless defined?(MagicTest)
|
20
12
|
gem_group :test do
|
21
|
-
gem
|
13
|
+
gem "magic_test"
|
22
14
|
end
|
23
15
|
end
|
24
16
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
gsub_file
|
29
|
-
gsub_file
|
30
|
-
gsub_file
|
31
|
-
gsub_file 'test/system/basics_test.rb', 'visit basics_url', 'visit root_url'
|
32
|
-
gsub_file 'test/system/basics_test.rb', 'assert_selector "h1", text: "Basic"', 'magic_test'
|
33
|
-
|
34
|
-
gsub_file 'test/application_system_test_case.rb', 'using: :headless_chrome', "using: (ENV['SHOW_TESTS'] ? :chrome : :headless_chrome)"
|
35
|
-
gsub_file 'test/application_system_test_case.rb', 'using: :headless_firefox', "using: (ENV['SHOW_TESTS'] ? :firefox : :headless_firefox)"
|
36
|
-
|
17
|
+
generate "system_test", "basic"
|
18
|
+
gsub_file "test/system/basics_test.rb", "# ", ""
|
19
|
+
gsub_file "test/system/basics_test.rb", "#", ""
|
20
|
+
gsub_file "test/system/basics_test.rb", "visiting the index", "getting started"
|
21
|
+
gsub_file "test/system/basics_test.rb", "visit basics_url", "visit root_url"
|
22
|
+
gsub_file "test/system/basics_test.rb", 'assert_selector "h1", text: "Basic"', "magic_test"
|
37
23
|
|
24
|
+
gsub_file "test/application_system_test_case.rb", "using: :headless_chrome", "using: (ENV['SHOW_TESTS'] ? :chrome : :headless_chrome)"
|
25
|
+
gsub_file "test/application_system_test_case.rb", "using: :headless_firefox", "using: (ENV['SHOW_TESTS'] ? :firefox : :headless_firefox)"
|
38
26
|
end
|
39
27
|
end
|
40
28
|
end
|
data/lib/magic_test.rb
CHANGED
data/lib/magic_test/engine.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
1
|
+
require "magic_test/support"
|
2
|
+
require "pry"
|
3
|
+
require "pry-stack_explorer"
|
4
4
|
|
5
5
|
module MagicTest
|
6
6
|
class Engine < Rails::Engine
|
7
7
|
config.after_initialize do
|
8
|
-
if ENV[
|
8
|
+
if ENV["MAGIC_TEST"].present?
|
9
9
|
if defined? ActionDispatch::SystemTestCase
|
10
10
|
ActionDispatch::SystemTestCase.include MagicTest::Support
|
11
11
|
end
|
@@ -14,7 +14,11 @@ module MagicTest
|
|
14
14
|
ActionDispatch::IntegrationTest.include MagicTest::Support
|
15
15
|
end
|
16
16
|
|
17
|
-
|
17
|
+
if defined? RSpec
|
18
|
+
RSpec.configure do |config|
|
19
|
+
config.include MagicTest::Support, type: :system
|
20
|
+
end
|
21
|
+
end
|
18
22
|
end
|
19
23
|
end
|
20
24
|
end
|
data/lib/magic_test/railtie.rb
CHANGED
data/lib/magic_test/support.rb
CHANGED
@@ -5,7 +5,7 @@ module MagicTest
|
|
5
5
|
return if selected_text.blank?
|
6
6
|
|
7
7
|
# TODO this feels like it's going to end up burning people who have other support files in `test` or `spec` that don't include `helper` in the name.
|
8
|
-
filepath, line = caller.select { |s| s.include?("/test/") || s.include?("/spec/") }.reject { |s| s.include?("helper") }.first.split(
|
8
|
+
filepath, line = caller.select { |s| s.include?("/test/") || s.include?("/spec/") }.reject { |s| s.include?("helper") }.first.split(":")
|
9
9
|
|
10
10
|
contents = File.open(filepath).read.lines
|
11
11
|
chunks = contents.each_slice(line.to_i - 1 + @test_lines_written).to_a
|
@@ -13,7 +13,7 @@ module MagicTest
|
|
13
13
|
chunks.first << indentation + "assert(page.has_content?('#{selected_text.gsub("'", "\\\\'")}'))" + "\n"
|
14
14
|
@test_lines_written += 1
|
15
15
|
contents = chunks.flatten.join
|
16
|
-
File.open(filepath,
|
16
|
+
File.open(filepath, "w") do |file|
|
17
17
|
file.puts(contents)
|
18
18
|
end
|
19
19
|
end
|
@@ -27,19 +27,19 @@ module MagicTest
|
|
27
27
|
i = 2
|
28
28
|
last = history_lines.last(2).first
|
29
29
|
last_block = [last]
|
30
|
-
if last ==
|
30
|
+
if last == "end" || last.first(4) == "end "
|
31
31
|
i += 1
|
32
32
|
last_block.unshift(history_lines.last(i).first)
|
33
|
-
until !last_block.first.match(/^(\s+)/)&[0]
|
33
|
+
until !last_block.first.match(/^(\s+)/) & [0]
|
34
34
|
i += 1
|
35
35
|
last_block.unshift(history_lines.last(i).first)
|
36
36
|
end
|
37
37
|
end
|
38
|
-
|
38
|
+
last_block
|
39
39
|
end
|
40
40
|
|
41
41
|
def flush
|
42
|
-
filepath, line = caller.select { |s| s.include?("/test/") }.reject { |s| s.include?("helper") }.first.split(
|
42
|
+
filepath, line = caller.select { |s| s.include?("/test/") }.reject { |s| s.include?("helper") }.first.split(":")
|
43
43
|
contents = File.open(filepath).read.lines
|
44
44
|
chunks = contents.each_slice(line.to_i - 1 + @test_lines_written).to_a
|
45
45
|
indentation = chunks[1].first.match(/^(\s*)/)[0]
|
@@ -51,11 +51,11 @@ module MagicTest
|
|
51
51
|
puts "(writing that to `#{filepath}`.)"
|
52
52
|
if output
|
53
53
|
output.each do |last|
|
54
|
-
chunks.first << indentation + "#{last[
|
54
|
+
chunks.first << indentation + "#{last["action"]} #{last["target"]}#{last["options"]}" + "\n"
|
55
55
|
@test_lines_written += 1
|
56
56
|
end
|
57
57
|
contents = chunks.flatten.join
|
58
|
-
File.open(filepath,
|
58
|
+
File.open(filepath, "w") do |file|
|
59
59
|
file.puts(contents)
|
60
60
|
end
|
61
61
|
# clear the testing output now.
|
@@ -63,11 +63,11 @@ module MagicTest
|
|
63
63
|
else
|
64
64
|
puts "`window.testingOutput` was empty in the browser. Something must be wrong on the browser side."
|
65
65
|
end
|
66
|
-
|
66
|
+
true
|
67
67
|
end
|
68
68
|
|
69
69
|
def ok
|
70
|
-
filepath, line = caller.select { |s| s.include?("/test/") }.reject { |s| s.include?("helper") }.first.split(
|
70
|
+
filepath, line = caller.select { |s| s.include?("/test/") }.reject { |s| s.include?("helper") }.first.split(":")
|
71
71
|
puts "(writing that to `#{filepath}`.)"
|
72
72
|
contents = File.open(filepath).read.lines
|
73
73
|
chunks = contents.each_slice(line.to_i - 1 + @test_lines_written).to_a
|
@@ -77,19 +77,17 @@ module MagicTest
|
|
77
77
|
@test_lines_written += 1
|
78
78
|
end
|
79
79
|
contents = chunks.flatten.join
|
80
|
-
File.open(filepath,
|
80
|
+
File.open(filepath, "w") do |file|
|
81
81
|
file.puts(contents)
|
82
82
|
end
|
83
|
-
|
83
|
+
true
|
84
84
|
end
|
85
85
|
|
86
86
|
def empty_cache
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
raise "You need to configure this test (or your test suite) to run in a real browser (Chrome, Firefox, etc.) in order for Magic Test to work. It also needs to run in non-headless mode if `ENV['MAGIC_TEST'].present?`"
|
92
|
-
end
|
87
|
+
page.evaluate_script("sessionStorage.setItem('testingOutput', JSON.stringify([]))")
|
88
|
+
rescue Capybara::NotSupportedByDriverError => _
|
89
|
+
# TODO we need to add more robust instructions for this.
|
90
|
+
raise "You need to configure this test (or your test suite) to run in a real browser (Chrome, Firefox, etc.) in order for Magic Test to work. It also needs to run in non-headless mode if `ENV['MAGIC_TEST'].present?`"
|
93
91
|
end
|
94
92
|
|
95
93
|
def magic_test
|
data/lib/magic_test/version.rb
CHANGED
data/lib/tasks/magic_test.rake
CHANGED
data/magic_test.gemspec
CHANGED
@@ -3,27 +3,28 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require "magic_test/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name
|
7
|
-
spec.version
|
8
|
-
spec.authors
|
9
|
-
spec.email
|
6
|
+
spec.name = "magic_test"
|
7
|
+
spec.version = MagicTest::VERSION
|
8
|
+
spec.authors = ["Andrew Culver", "Adam Pallozzi"]
|
9
|
+
spec.email = ["andrew.culver@gmail.com", "adampallozzi@gmail.com"]
|
10
10
|
|
11
|
-
spec.summary
|
12
|
-
spec.homepage
|
13
|
-
spec.license
|
11
|
+
spec.summary = "Create system tests interactively."
|
12
|
+
spec.homepage = "https://github.com/bullet-train/magic_test"
|
13
|
+
spec.license = "MIT"
|
14
14
|
|
15
15
|
# Specify which files should be added to the gem when it is released.
|
16
16
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
17
|
-
spec.files
|
17
|
+
spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
|
18
18
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
19
|
end
|
20
|
-
spec.bindir
|
21
|
-
spec.executables
|
20
|
+
spec.bindir = "exe"
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", "~> 2.0"
|
25
25
|
spec.add_development_dependency "rake", "~> 13.0"
|
26
26
|
spec.add_development_dependency "minitest", "~> 5.0"
|
27
|
+
spec.add_development_dependency "standard"
|
27
28
|
|
28
29
|
spec.add_dependency "pry"
|
29
30
|
spec.add_dependency "pry-stack_explorer"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magic_test
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Culver
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-03-
|
12
|
+
date: 2021-03-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -53,6 +53,20 @@ dependencies:
|
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '5.0'
|
56
|
+
- !ruby/object:Gem::Dependency
|
57
|
+
name: standard
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
59
|
+
requirements:
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
63
|
+
type: :development
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
56
70
|
- !ruby/object:Gem::Dependency
|
57
71
|
name: pry
|
58
72
|
requirement: !ruby/object:Gem::Requirement
|
@@ -118,6 +132,7 @@ extensions: []
|
|
118
132
|
extra_rdoc_files: []
|
119
133
|
files:
|
120
134
|
- ".gitignore"
|
135
|
+
- ".standard.yml"
|
121
136
|
- ".travis.yml"
|
122
137
|
- CODE_OF_CONDUCT.md
|
123
138
|
- Gemfile
|
@@ -136,7 +151,6 @@ files:
|
|
136
151
|
- bin/console
|
137
152
|
- bin/setup
|
138
153
|
- lib/generators/magic_test/install_generator.rb
|
139
|
-
- lib/generators/magic_test/templates/config/initializers/magic_test.rb
|
140
154
|
- lib/magic_test.rb
|
141
155
|
- lib/magic_test/engine.rb
|
142
156
|
- lib/magic_test/railtie.rb
|