cornucopia 0.1.55 → 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 +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