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.
- checksums.yaml +5 -5
- data/.gitignore +0 -2
- data/.ruby-version +1 -0
- data/Gemfile +4 -1
- data/Gemfile.lock +297 -0
- data/cornucopia.gemspec +13 -12
- data/lib/cornucopia/capybara/finder_diagnostics/find_action/found_element.rb +155 -0
- data/lib/cornucopia/capybara/finder_diagnostics/find_action.rb +417 -0
- data/lib/cornucopia/capybara/finder_diagnostics.rb +9 -551
- data/lib/cornucopia/capybara/finder_extensions.rb +34 -26
- data/lib/cornucopia/capybara/install_extensions.rb +6 -6
- data/lib/cornucopia/capybara/matcher_extensions.rb +110 -47
- data/lib/cornucopia/capybara/page_diagnostics/window_iterator.rb +42 -0
- data/lib/cornucopia/capybara/page_diagnostics.rb +1 -30
- data/lib/cornucopia/capybara/synchronizable.rb +1 -1
- data/lib/cornucopia/site_prism/class_extensions.rb +13 -0
- data/lib/cornucopia/site_prism/element_extensions.rb +7 -4
- data/lib/cornucopia/site_prism/install_extensions.rb +1 -1
- data/lib/cornucopia/site_prism/page_application.rb +3 -3
- data/lib/cornucopia/site_prism/section_extensions.rb +3 -11
- data/lib/cornucopia/util/report_builder.rb +1 -1
- data/lib/cornucopia/version.rb +1 -1
- data/spec/dummy/app/assets/config/manifest.js +2 -0
- data/spec/dummy/config/application.rb +1 -1
- data/spec/lib/capybara/finder_diagnostics_spec.rb +11 -13
- data/spec/lib/capybara/finder_extensions_spec.rb +19 -11
- data/spec/lib/capybara/matcher_extensions_spec.rb +13 -15
- data/spec/lib/capybara/page_diagnostics_spec.rb +1 -1
- data/spec/lib/site_prism/element_extensions_spec.rb +3 -3
- data/spec/lib/util/configured_report_spec.rb +4 -4
- data/spec/lib/util/log_capture_spec.rb +5 -5
- data/spec/lib/util/report_builder_spec.rb +3 -3
- data/spec/lib/util/report_table_spec.rb +5 -5
- data/spec/pages/cornucopia_report_pages/cornucopia_report_test_contents_page.rb +1 -1
- data/spec/sample_report.rb +6 -6
- data/spec/spec_helper.rb +5 -1
- 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(:
|
|
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 ==
|
|
59
|
-
|
|
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(:
|
|
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(:
|
|
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(:
|
|
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(:
|
|
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(:
|
|
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(:
|
|
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
|
-
|
|
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(:
|
|
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
|
-
|
|
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
|
|
@@ -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
|
|
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(:
|
|
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
|
data/spec/sample_report.rb
CHANGED
|
@@ -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 = :
|
|
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.
|
|
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:
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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
|
-
|
|
356
|
-
|
|
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
|