cornucopia 0.1.56 → 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.
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 +31 -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,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cornucopia
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.56
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: 2019-12-04 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
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.0'
22
+ version: '8.0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '4.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.0'
32
+ version: '8.0'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: rails
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -212,6 +212,20 @@ dependencies:
212
212
  - - ">="
213
213
  - !ruby/object:Gem::Version
214
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'
215
229
  description: A collection of tools I created to simplify and make it easier to see
216
230
  what is happening.
217
231
  email:
@@ -221,21 +235,27 @@ extensions: []
221
235
  extra_rdoc_files: []
222
236
  files:
223
237
  - ".gitignore"
238
+ - ".ruby-version"
224
239
  - Gemfile
240
+ - Gemfile.lock
225
241
  - LICENSE.TXT
226
242
  - README.md
227
243
  - Rakefile
228
244
  - cornucopia.gemspec
229
245
  - lib/cornucopia.rb
230
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
231
249
  - lib/cornucopia/capybara/finder_extensions.rb
232
250
  - lib/cornucopia/capybara/install_extensions.rb
233
251
  - lib/cornucopia/capybara/matcher_extensions.rb
234
252
  - lib/cornucopia/capybara/page_diagnostics.rb
253
+ - lib/cornucopia/capybara/page_diagnostics/window_iterator.rb
235
254
  - lib/cornucopia/capybara/selectable_values.rb
236
255
  - lib/cornucopia/capybara/synchronizable.rb
237
256
  - lib/cornucopia/cucumber_hooks.rb
238
257
  - lib/cornucopia/rspec_hooks.rb
258
+ - lib/cornucopia/site_prism/class_extensions.rb
239
259
  - lib/cornucopia/site_prism/element_extensions.rb
240
260
  - lib/cornucopia/site_prism/install_extensions.rb
241
261
  - lib/cornucopia/site_prism/page_application.rb
@@ -266,6 +286,7 @@ files:
266
286
  - lib/tasks/cornucopia_tasks.rake
267
287
  - spec/dummy/README.rdoc
268
288
  - spec/dummy/Rakefile
289
+ - spec/dummy/app/assets/config/manifest.js
269
290
  - spec/dummy/app/assets/images/.keep
270
291
  - spec/dummy/app/assets/javascripts/application.js
271
292
  - spec/dummy/app/assets/stylesheets/application.css
@@ -337,7 +358,7 @@ homepage: https://github.com/RealNobody/cornucopia
337
358
  licenses:
338
359
  - MIT
339
360
  metadata: {}
340
- post_install_message:
361
+ post_install_message:
341
362
  rdoc_options: []
342
363
  require_paths:
343
364
  - lib
@@ -345,21 +366,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
345
366
  requirements:
346
367
  - - ">="
347
368
  - !ruby/object:Gem::Version
348
- version: '0'
369
+ version: '3'
349
370
  required_rubygems_version: !ruby/object:Gem::Requirement
350
371
  requirements:
351
372
  - - ">="
352
373
  - !ruby/object:Gem::Version
353
374
  version: '0'
354
375
  requirements: []
355
- rubyforge_project:
356
- rubygems_version: 2.5.1
357
- signing_key:
376
+ rubygems_version: 3.2.33
377
+ signing_key:
358
378
  specification_version: 4
359
379
  summary: A collection of tools to simplify testing tasks.
360
380
  test_files:
361
381
  - spec/dummy/README.rdoc
362
382
  - spec/dummy/Rakefile
383
+ - spec/dummy/app/assets/config/manifest.js
363
384
  - spec/dummy/app/assets/images/.keep
364
385
  - spec/dummy/app/assets/javascripts/application.js
365
386
  - spec/dummy/app/assets/stylesheets/application.css