cornucopia 0.1.55 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +0 -2
  3. data/.ruby-version +1 -0
  4. data/Gemfile +4 -1
  5. data/Gemfile.lock +297 -0
  6. data/cornucopia.gemspec +13 -12
  7. data/lib/cornucopia/capybara/finder_diagnostics/find_action/found_element.rb +155 -0
  8. data/lib/cornucopia/capybara/finder_diagnostics/find_action.rb +417 -0
  9. data/lib/cornucopia/capybara/finder_diagnostics.rb +9 -551
  10. data/lib/cornucopia/capybara/finder_extensions.rb +34 -26
  11. data/lib/cornucopia/capybara/install_extensions.rb +6 -6
  12. data/lib/cornucopia/capybara/matcher_extensions.rb +110 -47
  13. data/lib/cornucopia/capybara/page_diagnostics/window_iterator.rb +42 -0
  14. data/lib/cornucopia/capybara/page_diagnostics.rb +1 -30
  15. data/lib/cornucopia/capybara/synchronizable.rb +1 -1
  16. data/lib/cornucopia/site_prism/class_extensions.rb +13 -0
  17. data/lib/cornucopia/site_prism/element_extensions.rb +7 -4
  18. data/lib/cornucopia/site_prism/install_extensions.rb +1 -1
  19. data/lib/cornucopia/site_prism/page_application.rb +3 -3
  20. data/lib/cornucopia/site_prism/section_extensions.rb +3 -11
  21. data/lib/cornucopia/util/report_builder.rb +1 -1
  22. data/lib/cornucopia/version.rb +1 -1
  23. data/spec/dummy/app/assets/config/manifest.js +2 -0
  24. data/spec/dummy/config/application.rb +1 -1
  25. data/spec/lib/capybara/finder_diagnostics_spec.rb +11 -13
  26. data/spec/lib/capybara/finder_extensions_spec.rb +19 -11
  27. data/spec/lib/capybara/matcher_extensions_spec.rb +13 -15
  28. data/spec/lib/capybara/page_diagnostics_spec.rb +1 -1
  29. data/spec/lib/site_prism/element_extensions_spec.rb +3 -3
  30. data/spec/lib/util/configured_report_spec.rb +4 -4
  31. data/spec/lib/util/log_capture_spec.rb +5 -5
  32. data/spec/lib/util/report_builder_spec.rb +3 -3
  33. data/spec/lib/util/report_table_spec.rb +5 -5
  34. data/spec/pages/cornucopia_report_pages/cornucopia_report_test_contents_page.rb +1 -1
  35. data/spec/sample_report.rb +6 -6
  36. data/spec/spec_helper.rb +5 -1
  37. metadata +37 -10
@@ -47,7 +47,9 @@ describe Cornucopia::Capybara::FinderExtensions, type: :feature do
47
47
  num_calls = 0
48
48
 
49
49
  allow(contents_frame.page.document).
50
- to receive(:__cornucopia_capybara_orig_all) do |*args|
50
+ to receive(:__cornucopia__call_super?) do |*args|
51
+ next true if args[0] != :all
52
+
51
53
  num_calls += 1
52
54
 
53
55
  if time_count > 0
@@ -55,20 +57,22 @@ describe Cornucopia::Capybara::FinderExtensions, type: :feature do
55
57
  raise Selenium::WebDriver::Error::StaleElementReferenceError.new
56
58
  end
57
59
 
58
- expect(args).to be == ["a"]
59
- found_elements
60
+ expect(args[0]).to be == :all
61
+ expect(args[1..]).to be == ["a"]
62
+
63
+ true
60
64
  end
61
65
 
62
66
  second_found = contents_frame.all("a")
63
67
 
64
68
  allow(contents_frame.page.document).
65
- to receive(:__cornucopia_capybara_orig_all).
69
+ to receive(:__cornucopia__call_super?).
66
70
  and_call_original
67
71
 
68
72
  # I realize that this is almost like testing that the stub worked, which we don't need to test.
69
73
  # However, we are really testing that the results returned by the stub are passed back all the way
70
74
  # Which we do need to test.
71
- expect(second_found).to be == found_elements
75
+ expect(second_found.to_a).to be == found_elements.to_a
72
76
  expect(time_count).to be == 0
73
77
  expect(num_calls).to be == num_retries + 1
74
78
  end
@@ -89,20 +93,22 @@ describe Cornucopia::Capybara::FinderExtensions, type: :feature do
89
93
  and_return(found_elements)
90
94
 
91
95
  allow(contents_frame.page.document).
92
- to receive(:__cornucopia_capybara_orig_all) do |*args|
96
+ to receive(:__cornucopia__call_super?) do |function_name|
97
+ next true if function_name != :all
98
+
93
99
  raise Selenium::WebDriver::Error::StaleElementReferenceError.new
94
100
  end
95
101
 
96
102
  second_found = contents_frame.all("a")
97
103
 
98
104
  allow(contents_frame.page.document).
99
- to receive(:__cornucopia_capybara_orig_all).
105
+ to receive(:__cornucopia__call_super?).
100
106
  and_call_original
101
107
 
102
108
  # I realize that this is almost like testing that the stub worked, which we don't need to test.
103
109
  # However, we are really testing that the results returned by the stub are passed back all the way
104
110
  # Which we do need to test.
105
- expect(second_found).to be == found_elements
111
+ expect(second_found.to_a).to be == found_elements.to_a
106
112
  end
107
113
  end
108
114
 
@@ -121,14 +127,16 @@ describe Cornucopia::Capybara::FinderExtensions, type: :feature do
121
127
  and_return(found_elements)
122
128
 
123
129
  allow(contents_frame.page.document).
124
- to receive(:__cornucopia_capybara_orig_find) do |*args|
130
+ to receive(:__cornucopia__call_super?) do |function_name|
131
+ next true if function_name != :find
132
+
125
133
  raise "This is an error"
126
134
  end
127
135
 
128
136
  second_found = contents_frame.find(".report-block")
129
137
 
130
138
  allow(contents_frame.page.document).
131
- to receive(:__cornucopia_capybara_orig_find).
139
+ to receive(:__cornucopia__call_super?).
132
140
  and_call_original
133
141
 
134
142
  # I realize that this is almost like testing that the stub worked, which we don't need to test.
@@ -332,4 +340,4 @@ describe Cornucopia::Capybara::FinderExtensions, type: :feature do
332
340
  expect(::Capybara.page.find("\#multi-select-box").value_text).to eq sel_value.map { |value| (value + 200).to_s }
333
341
  end
334
342
  end
335
- end
343
+ end
@@ -47,7 +47,9 @@ describe Cornucopia::Capybara::MatcherExtensions, type: :feature do
47
47
  num_calls = 0
48
48
 
49
49
  allow(contents_frame.page.document).
50
- to receive(:__cornucopia_capybara_orig_assert_selector) do |*args|
50
+ to receive(:__cornucopia__call_super?) do |function_name, *args|
51
+ next true if function_name != :assert_selector
52
+
51
53
  num_calls += 1
52
54
 
53
55
  if time_count > 0
@@ -56,14 +58,12 @@ describe Cornucopia::Capybara::MatcherExtensions, type: :feature do
56
58
  end
57
59
 
58
60
  expect(args).to be == ["a"]
59
- found_elements
61
+ true
60
62
  end
61
63
 
62
64
  second_found = contents_frame.assert_selector("a")
63
65
 
64
- allow(contents_frame.page.document).
65
- to receive(:__cornucopia_capybara_orig_assert_selector).
66
- and_call_original
66
+ allow(contents_frame.page.document).to receive(:__cornucopia__call_super?).and_call_original
67
67
 
68
68
  # I realize that this is almost like testing that the stub worked, which we don't need to test.
69
69
  # However, we are really testing that the results returned by the stub are passed back all the way
@@ -89,15 +89,15 @@ describe Cornucopia::Capybara::MatcherExtensions, type: :feature do
89
89
  and_return(found_elements)
90
90
 
91
91
  allow(contents_frame.page.document).
92
- to receive(:__cornucopia_capybara_orig_assert_selector) do |*args|
92
+ to receive(:__cornucopia__call_super?) do |function_name|
93
+ next true if function_name != :assert_selector
94
+
93
95
  raise Selenium::WebDriver::Error::StaleElementReferenceError.new
94
96
  end
95
97
 
96
98
  second_found = contents_frame.assert_selector("a")
97
99
 
98
- allow(contents_frame.page.document).
99
- to receive(:__cornucopia_capybara_orig_assert_selector).
100
- and_call_original
100
+ allow(contents_frame.page.document).to receive(:__cornucopia__call_super?).and_call_original
101
101
 
102
102
  # I realize that this is almost like testing that the stub worked, which we don't need to test.
103
103
  # However, we are really testing that the results returned by the stub are passed back all the way
@@ -120,16 +120,14 @@ describe Cornucopia::Capybara::MatcherExtensions, type: :feature do
120
120
  to receive(:__cornucopia__analyze_selector).
121
121
  and_return(found_elements)
122
122
 
123
- allow(contents_frame.page.document).
124
- to receive(:__cornucopia_capybara_orig_assert_no_selector) do |*args|
123
+ allow(contents_frame.page.document).to receive(:__cornucopia__call_super?) do |function_name|
124
+ next true if function_name != :assert_no_selector
125
125
  raise "This is an error"
126
126
  end
127
127
 
128
128
  second_found = contents_frame.assert_no_selector(".report-block")
129
129
 
130
- allow(contents_frame.page.document).
131
- to receive(:__cornucopia_capybara_orig_assert_no_selector).
132
- and_call_original
130
+ allow(contents_frame.page.document).to receive(:__cornucopia__call_super?).and_call_original
133
131
 
134
132
  # I realize that this is almost like testing that the stub worked, which we don't need to test.
135
133
  # However, we are really testing that the results returned by the stub are passed back all the way
@@ -414,4 +412,4 @@ describe Cornucopia::Capybara::MatcherExtensions, type: :feature do
414
412
  end
415
413
  end
416
414
  end
417
- end
415
+ end
@@ -276,4 +276,4 @@ describe Cornucopia::Capybara::PageDiagnostics, type: :feature do
276
276
  expect(report_text).to match /\>\nhtml_file\n\</
277
277
  end
278
278
  end
279
- end
279
+ end
@@ -13,12 +13,12 @@ describe "SitePrism element_extensions" do
13
13
  [TestSection, TestPage].sample(2).each do |test_class|
14
14
  describe "#{test_class.name}" do
15
15
  let(:pre_name) { Faker::Lorem.word }
16
- let(:element_names) { Faker::Lorem.words(rand(3..10)).map(&:to_sym) }
17
- let(:class_element_names) { element_names + rand(3..10).times.map(Faker::Lorem.words(rand(2..3).join("-"))) }
16
+ let(:element_names) { Faker::Lorem.words(number: rand(3..10)).map(&:to_sym) }
17
+ let(:class_element_names) { element_names + rand(3..10).times.map { Faker::Lorem.words(number: rand(2..3)).join("-") } }
18
18
  let(:increment) { rand(2..10) }
19
19
  let(:start_index) { rand(2..10) }
20
20
  let(:options) do
21
- Faker::Lorem.words(rand(3..10)).reduce({}) do |hash, option_name|
21
+ Faker::Lorem.words(number: rand(3..10)).reduce({}) do |hash, option_name|
22
22
  hash[option_name] = Faker::Lorem.word
23
23
  hash
24
24
  end
@@ -1043,7 +1043,7 @@ describe Cornucopia::Util::ConfiguredReport do
1043
1043
  Cornucopia::Util::ReportTable.new do |report_table|
1044
1044
  simple_report.leaf_options = [{ report_element: [:key_1], report_options: { fake_options: true } }]
1045
1045
 
1046
- expect(report_table).to receive(:write_stats).with(:key_1, "value", fake_options: true)
1046
+ expect(report_table).to receive(:write_stats).with(:key_1, "value", { fake_options: true })
1047
1047
 
1048
1048
  simple_report.export_field_record({ report_element: [:test,
1049
1049
  :hash_variable,
@@ -1060,7 +1060,7 @@ describe Cornucopia::Util::ConfiguredReport do
1060
1060
  Cornucopia::Util::ReportTable.new do |report_table|
1061
1061
  simple_report.leaf_options = [{ report_element: [:key_1], report_options: { fake_options: true } }]
1062
1062
 
1063
- expect(report_table).to receive(:write_stats).with(:key_1, "value", real_options: true)
1063
+ expect(report_table).to receive(:write_stats).with(:key_1, "value", { real_options: true })
1064
1064
 
1065
1065
  simple_report.export_field_record({ report_element: [:test,
1066
1066
  :hash_variable,
@@ -1080,7 +1080,7 @@ describe Cornucopia::Util::ConfiguredReport do
1080
1080
  simple_report.leaf_options = [{ report_element: [:key_1], report_options: { fake_options: true } }]
1081
1081
 
1082
1082
  expect(report_table).
1083
- to receive(:write_stats).with(custom_label, "value", real_options: true, label: custom_label)
1083
+ to receive(:write_stats).with(custom_label, "value", { real_options: true, label: custom_label })
1084
1084
 
1085
1085
  simple_report.export_field_record({ report_element: [:test,
1086
1086
  :hash_variable,
@@ -1118,4 +1118,4 @@ describe Cornucopia::Util::ConfiguredReport do
1118
1118
  end
1119
1119
  end
1120
1120
  end
1121
- end
1121
+ end
@@ -73,7 +73,7 @@ describe Cornucopia::Util::LogCapture do
73
73
 
74
74
  describe "#output_log_file" do
75
75
  it "fetches the last 500 lines of a file" do
76
- lines = Faker::Lorem.sentences(rand(600..1000))
76
+ lines = Faker::Lorem.sentences(number: rand(600..1000))
77
77
  File.open(file_name, "a:UTF-8") do |write_file|
78
78
  write_file.write(lines.join("\n"))
79
79
  end
@@ -87,7 +87,7 @@ describe Cornucopia::Util::LogCapture do
87
87
  end
88
88
 
89
89
  it "fetches the last 500 lines of a file even if it has to fetch multiple times" do
90
- lines = (0..rand(600..1000)).to_a.map { Faker::Lorem.sentences(rand(5..10)).join(" ") }
90
+ lines = (0..rand(600..1000)).to_a.map { Faker::Lorem.sentences(number: rand(5..10)).join(" ") }
91
91
  File.open(file_name, "a:UTF-8") do |write_file|
92
92
  write_file.write(lines.join("\n"))
93
93
  end
@@ -174,7 +174,7 @@ describe Cornucopia::Util::LogCapture do
174
174
  expect(Cornucopia::Util::LogCapture).to receive(:capture_logs).twice.and_call_original
175
175
  Cornucopia::Util::Configuration.add_log_file("sample_log.log")
176
176
 
177
- lines = Faker::Lorem.sentences(rand(600..1000))
177
+ lines = Faker::Lorem.sentences(number: rand(600..1000))
178
178
  File.open(file_name, "a:UTF-8") do |write_file|
179
179
  write_file.write(lines.join("\n"))
180
180
  end
@@ -191,7 +191,7 @@ describe Cornucopia::Util::LogCapture do
191
191
  expect(Cornucopia::Util::LogCapture).to receive(:capture_logs).twice.and_call_original
192
192
  Cornucopia::Util::Configuration.add_log_file("sample_log.log")
193
193
 
194
- lines = Faker::Lorem.sentences(rand(600..1000))
194
+ lines = Faker::Lorem.sentences(number: rand(600..1000))
195
195
  File.open(file_name, "a:UTF-8") do |write_file|
196
196
  write_file.write(lines.join("\n"))
197
197
  end
@@ -212,7 +212,7 @@ describe Cornucopia::Util::LogCapture do
212
212
  FileUtils.cd Rails.root.to_s
213
213
  expect(Object).to receive(:const_defined?).at_least(1).with("Rails").and_return(false)
214
214
 
215
- lines = Faker::Lorem.sentences(rand(600..1000))
215
+ lines = Faker::Lorem.sentences(number: rand(600..1000))
216
216
  File.open(file_name, "a:UTF-8") do |write_file|
217
217
  write_file.write(lines.join("\n"))
218
218
  end
@@ -412,7 +412,7 @@ This is a sample string c:/bizarro/ <span class=\"cornucopia-app-file\">features
412
412
  describe "#build_index_section" do
413
413
  it "creates a list item with an anchor" do
414
414
  a_title = Faker::Lorem.sentence
415
- strings = Faker::Lorem.sentences(5)
415
+ strings = Faker::Lorem.sentences(number: 5)
416
416
  strings.map! { |string| string.gsub(" ", "/") }
417
417
  result_string = Cornucopia::Util::ReportBuilder.build_index_section(a_title, strings)
418
418
 
@@ -929,7 +929,7 @@ This is a sample string c:/bizarro/ <span class=\"cornucopia-app-file\">features
929
929
  it "initializes the report_contents file" do
930
930
  current_report = send(report_settings[:report])
931
931
  expect(current_report).to receive(:initialize_basic_report_files).and_call_original
932
- write_contents = Faker::Lorem.paragraphs(rand(5..8)).join("\n\n")
932
+ write_contents = Faker::Lorem.paragraphs(number: rand(5..8)).join("\n\n")
933
933
 
934
934
  current_report.open_report_contents_file do |writer|
935
935
  writer.write(write_contents)
@@ -946,7 +946,7 @@ This is a sample string c:/bizarro/ <span class=\"cornucopia-app-file\">features
946
946
  it "initializes the report_contents file" do
947
947
  current_report = send(report_settings[:report])
948
948
  expect(current_report).to receive(:initialize_report_test_files).and_call_original
949
- write_contents = Faker::Lorem.paragraphs(rand(5..8)).join("\n\n")
949
+ write_contents = Faker::Lorem.paragraphs(number: rand(5..8)).join("\n\n")
950
950
 
951
951
  current_report.open_report_test_contents_file do |writer|
952
952
  writer.write(write_contents)
@@ -165,7 +165,7 @@ describe Cornucopia::Util::ReportTable do
165
165
  it "nests tables" do
166
166
  nest_label = "".html_safe + Faker::Lorem.sentence
167
167
  second_label = "".html_safe + Faker::Lorem.sentence
168
- second_body = "".html_safe + Faker::Lorem.paragraphs(rand(3..5)).join("\n")
168
+ second_body = "".html_safe + Faker::Lorem.paragraphs(number: rand(3..5)).join("\n")
169
169
 
170
170
  report_table = nil
171
171
  Cornucopia::Util::ReportTable.new(table_prefix: pre_text,
@@ -193,7 +193,7 @@ describe Cornucopia::Util::ReportTable do
193
193
  it "nests tables if they are not empty" do
194
194
  nest_label = "".html_safe + Faker::Lorem.sentence
195
195
  second_label = "".html_safe + Faker::Lorem.sentence
196
- second_body = "".html_safe + Faker::Lorem.paragraphs(rand(3..5)).join("\n")
196
+ second_body = "".html_safe + Faker::Lorem.paragraphs(number: rand(3..5)).join("\n")
197
197
 
198
198
  report_table = nil
199
199
  Cornucopia::Util::ReportTable.new(table_prefix: pre_text,
@@ -222,7 +222,7 @@ describe Cornucopia::Util::ReportTable do
222
222
  it "does not nest tables if they are empty" do
223
223
  nest_label = "".html_safe + Faker::Lorem.sentence
224
224
  second_label = "".html_safe + Faker::Lorem.sentence
225
- second_body = "".html_safe + Faker::Lorem.paragraphs(rand(3..5)).join("\n")
225
+ second_body = "".html_safe + Faker::Lorem.paragraphs(number: rand(3..5)).join("\n")
226
226
 
227
227
  report_table = nil
228
228
  Cornucopia::Util::ReportTable.new(table_prefix: pre_text,
@@ -250,7 +250,7 @@ describe Cornucopia::Util::ReportTable do
250
250
  it "nests tables even if there is an exception" do
251
251
  nest_label = "".html_safe + Faker::Lorem.sentence
252
252
  second_label = "".html_safe + Faker::Lorem.sentence
253
- second_body = "".html_safe + Faker::Lorem.paragraphs(rand(3..5)).join("\n")
253
+ second_body = "".html_safe + Faker::Lorem.paragraphs(number: rand(3..5)).join("\n")
254
254
 
255
255
  report_table = nil
256
256
  expect do
@@ -283,7 +283,7 @@ describe Cornucopia::Util::ReportTable do
283
283
  it "nests tables even if there is an exception multiple levels deep" do
284
284
  nest_label = "".html_safe + Faker::Lorem.sentence
285
285
  second_label = "".html_safe + Faker::Lorem.sentence
286
- second_body = "".html_safe + Faker::Lorem.paragraphs(rand(3..5)).join("\n")
286
+ second_body = "".html_safe + Faker::Lorem.paragraphs(number: rand(3..5)).join("\n")
287
287
 
288
288
  report_table = nil
289
289
  expect do
@@ -76,7 +76,7 @@ module CornucopiaReportPages
76
76
  element :show_hide, "a.cornucopia-additional-details"
77
77
 
78
78
  def details
79
- table = TableSection.new self, send(:find_first, "div.cornucopia-additional-details > .cornucopia-table")
79
+ table = TableSection.new self, send(:all, "div.cornucopia-additional-details > .cornucopia-table").first
80
80
  table.parent_index = 1
81
81
  table.parent_path = "div.cornucopia-additional-details > .cornucopia-table"
82
82
  table.parent_path_owner = self
@@ -9,7 +9,7 @@ def generate_report_file(folder_name)
9
9
  build_report.within_table do |table|
10
10
  build_table(table, 0)
11
11
 
12
- @last_val = Faker::Lorem.words(rand(1..4)).join("_")
12
+ @last_val = Faker::Lorem.words(number: rand(1..4)).join("_")
13
13
  table.write_stats(@last_val, Faker::Lorem.sentence)
14
14
  end
15
15
  end
@@ -27,21 +27,21 @@ def build_table(table, level)
27
27
  when 9
28
28
  if level < 3
29
29
  Cornucopia::Util::ReportTable.new(nested_table: table,
30
- nested_table_label: Faker::Lorem.words(rand(1..4)).join("_")) do |sub_report|
30
+ nested_table_label: Faker::Lorem.words(number: rand(1..4)).join("_")) do |sub_report|
31
31
  build_table(sub_report, level + 1)
32
32
  end
33
33
  else
34
- table.write_stats(Faker::Lorem.words(rand(1..4)).join("_"), Faker::Lorem.sentence)
34
+ table.write_stats(Faker::Lorem.words(number: rand(1..4)).join("_"), Faker::Lorem.sentence)
35
35
  end
36
36
 
37
37
  when 2
38
- table.write_stats(Faker::Lorem.words(rand(1..4)).join("_"), Faker::Lorem.paragraph)
38
+ table.write_stats(Faker::Lorem.words(number: rand(1..4)).join("_"), Faker::Lorem.paragraph)
39
39
 
40
40
  when 3
41
- table.write_stats(Faker::Lorem.words(rand(1..4)).join("_"), Faker::Lorem.paragraphs(rand(5..10)).join("\n\n"))
41
+ table.write_stats(Faker::Lorem.words(number: rand(1..4)).join("_"), Faker::Lorem.paragraphs(number: rand(5..10)).join("\n\n"))
42
42
 
43
43
  else
44
- table.write_stats(Faker::Lorem.words(rand(1..4)).join("_"), Faker::Lorem.sentence)
44
+ table.write_stats(Faker::Lorem.words(number: rand(1..4)).join("_"), Faker::Lorem.sentence)
45
45
  end
46
46
  end
47
47
  end
data/spec/spec_helper.rb CHANGED
@@ -58,7 +58,11 @@ end
58
58
 
59
59
  require ::File.expand_path("../lib/cornucopia/util/configuration", File.dirname(__FILE__))
60
60
 
61
- Capybara.default_driver = :selenium
61
+ Capybara.default_driver = :selenium_chrome
62
+ Capybara.javascript_driver = :selenium_chrome
63
+ # Capybara.default_driver = :selenium_chrome_headless
64
+ # Capybara.javascript_driver = :selenium_chrome_headless
65
+ Capybara.server = :webrick
62
66
 
63
67
  # Cornucopia::Util::Configuration.seed = 1
64
68
  # Cornucopia::Util::Configuration.order_seed = 1
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cornucopia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.55
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - RealNobody
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-17 00:00:00.000000000 Z
11
+ date: 2024-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
+ - - ">"
18
+ - !ruby/object:Gem::Version
19
+ version: '4.0'
17
20
  - - "<"
18
21
  - !ruby/object:Gem::Version
19
- version: '5.0'
22
+ version: '8.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
27
+ - - ">"
28
+ - !ruby/object:Gem::Version
29
+ version: '4.0'
24
30
  - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '5.0'
32
+ version: '8.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: rails
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -206,6 +212,20 @@ dependencies:
206
212
  - - ">="
207
213
  - !ruby/object:Gem::Version
208
214
  version: '0'
215
+ - !ruby/object:Gem::Dependency
216
+ name: webrick
217
+ requirement: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - ">="
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
222
+ type: :development
223
+ prerelease: false
224
+ version_requirements: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: '0'
209
229
  description: A collection of tools I created to simplify and make it easier to see
210
230
  what is happening.
211
231
  email:
@@ -215,21 +235,27 @@ extensions: []
215
235
  extra_rdoc_files: []
216
236
  files:
217
237
  - ".gitignore"
238
+ - ".ruby-version"
218
239
  - Gemfile
240
+ - Gemfile.lock
219
241
  - LICENSE.TXT
220
242
  - README.md
221
243
  - Rakefile
222
244
  - cornucopia.gemspec
223
245
  - lib/cornucopia.rb
224
246
  - lib/cornucopia/capybara/finder_diagnostics.rb
247
+ - lib/cornucopia/capybara/finder_diagnostics/find_action.rb
248
+ - lib/cornucopia/capybara/finder_diagnostics/find_action/found_element.rb
225
249
  - lib/cornucopia/capybara/finder_extensions.rb
226
250
  - lib/cornucopia/capybara/install_extensions.rb
227
251
  - lib/cornucopia/capybara/matcher_extensions.rb
228
252
  - lib/cornucopia/capybara/page_diagnostics.rb
253
+ - lib/cornucopia/capybara/page_diagnostics/window_iterator.rb
229
254
  - lib/cornucopia/capybara/selectable_values.rb
230
255
  - lib/cornucopia/capybara/synchronizable.rb
231
256
  - lib/cornucopia/cucumber_hooks.rb
232
257
  - lib/cornucopia/rspec_hooks.rb
258
+ - lib/cornucopia/site_prism/class_extensions.rb
233
259
  - lib/cornucopia/site_prism/element_extensions.rb
234
260
  - lib/cornucopia/site_prism/install_extensions.rb
235
261
  - lib/cornucopia/site_prism/page_application.rb
@@ -260,6 +286,7 @@ files:
260
286
  - lib/tasks/cornucopia_tasks.rake
261
287
  - spec/dummy/README.rdoc
262
288
  - spec/dummy/Rakefile
289
+ - spec/dummy/app/assets/config/manifest.js
263
290
  - spec/dummy/app/assets/images/.keep
264
291
  - spec/dummy/app/assets/javascripts/application.js
265
292
  - spec/dummy/app/assets/stylesheets/application.css
@@ -331,7 +358,7 @@ homepage: https://github.com/RealNobody/cornucopia
331
358
  licenses:
332
359
  - MIT
333
360
  metadata: {}
334
- post_install_message:
361
+ post_install_message:
335
362
  rdoc_options: []
336
363
  require_paths:
337
364
  - lib
@@ -339,21 +366,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
339
366
  requirements:
340
367
  - - ">="
341
368
  - !ruby/object:Gem::Version
342
- version: '0'
369
+ version: '3'
343
370
  required_rubygems_version: !ruby/object:Gem::Requirement
344
371
  requirements:
345
372
  - - ">="
346
373
  - !ruby/object:Gem::Version
347
374
  version: '0'
348
375
  requirements: []
349
- rubyforge_project:
350
- rubygems_version: 2.5.1
351
- signing_key:
376
+ rubygems_version: 3.2.33
377
+ signing_key:
352
378
  specification_version: 4
353
379
  summary: A collection of tools to simplify testing tasks.
354
380
  test_files:
355
381
  - spec/dummy/README.rdoc
356
382
  - spec/dummy/Rakefile
383
+ - spec/dummy/app/assets/config/manifest.js
357
384
  - spec/dummy/app/assets/images/.keep
358
385
  - spec/dummy/app/assets/javascripts/application.js
359
386
  - spec/dummy/app/assets/stylesheets/application.css