swamp 1.3.1 → 1.4.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 +4 -4
- data/.gitignore +2 -1
- data/features/specifications/changing_scope_to_source.feature +1 -1
- data/features/specifications/user_scans_buttons_in_a_page.feature +2 -2
- data/features/specifications/using_prism_scope.feature +1 -1
- data/features/step_definitions/swamp_steps.rb +4 -4
- data/lib/swamp/base.rb +1 -1
- data/lib/swamp/collections/buttons.rb +9 -5
- data/lib/swamp/collections/elements.rb +6 -28
- data/lib/swamp/collections/input_buttons.rb +2 -2
- data/lib/swamp/collections/select_boxes.rb +1 -1
- data/lib/swamp/js-adapters/function_builder.rb +26 -0
- data/lib/swamp/js-adapters/minifier.rb +23 -0
- data/lib/swamp/js-modules/highlight.js +13 -0
- data/lib/swamp/version.rb +1 -1
- data/lib/swamp/wrapper.rb +1 -1
- data/lib/swamp.rb +2 -0
- data/package.json +12 -0
- data/spec/highlightSpec.js +18 -0
- data/spec/support/jasmine.json +9 -0
- data/spec/swamp/buttons_spec.rb +5 -5
- data/spec/swamp/fields_spec.rb +3 -3
- data/spec/swamp/input_buttons_spec.rb +6 -6
- data/spec/swamp/select_boxes_spec.rb +3 -3
- data/swamp.gemspec +2 -2
- metadata +15 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42ce404e057ecfc79a3afa928786b99b135d10c9
|
4
|
+
data.tar.gz: 641d6ab513f187aea8d33f761eeef486560d40f8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1b061517a108252d8bd07a33842d3f01d2b3b59b745b1f695b04b996bbfa6221ad0f936a70ec9a1d93404c55f0e05d14e4d39991303160d0e47520b8bcfc8c39
|
7
|
+
data.tar.gz: 6fc06e74ff084b014b7a08173399eca8fa3504a0fd9ada5d37688604e024c7c35b7ab3917f03ea183e7e0c656331f1156dfee33069f8f36b699e06a542589f77
|
data/.gitignore
CHANGED
@@ -7,14 +7,14 @@ Feature: user scans buttons in a page
|
|
7
7
|
Background: swamp is running
|
8
8
|
Given that swamp is already running
|
9
9
|
|
10
|
-
Scenario: A button that has text
|
10
|
+
Scenario: A button that has text and id
|
11
11
|
Given I enter the url for this page: "button.html"
|
12
12
|
When swamp scans that page
|
13
13
|
Then swamp should highlight this element: "button"
|
14
14
|
And it should output the following code snippet
|
15
15
|
"""
|
16
16
|
def sign_up
|
17
|
-
page.click_button("
|
17
|
+
page.click_button("u_0_2")
|
18
18
|
end
|
19
19
|
"""
|
20
20
|
|
@@ -12,7 +12,7 @@ Feature: User chooses the prism scope
|
|
12
12
|
When swamp scan this page: "button.html"
|
13
13
|
Then it should output the following code snippet
|
14
14
|
"""
|
15
|
-
element :sign_up, '
|
15
|
+
element :sign_up, '#u_0_2'
|
16
16
|
"""
|
17
17
|
|
18
18
|
Scenario: Scanning a button that doesn't has text but has id
|
@@ -42,7 +42,7 @@ Given /^that swamp already have scanned a page$/ do
|
|
42
42
|
path = File.join(File.dirname(__FILE__), '../support/page_examples/', "button.html")
|
43
43
|
@url = "file://#{path}"
|
44
44
|
swamp.scan(@url)
|
45
|
-
expect(fake_output.messages).to include("def sign_up\n page.click_button(\"
|
45
|
+
expect(fake_output.messages).to include("def sign_up\n page.click_button(\"u_0_2\")\nend")
|
46
46
|
end
|
47
47
|
|
48
48
|
When /^I attempt to hit enter at the terminal$/ do
|
@@ -52,15 +52,15 @@ end
|
|
52
52
|
Then /^swamp should scan the current page$/ do
|
53
53
|
expect(fake_output.messages.size).to be <= 5
|
54
54
|
expect(fake_output.messages[3]).to eq "Scanning, please wait..."
|
55
|
-
expect(fake_output.messages[4]).to eq "def sign_up\n page.click_button(\"
|
55
|
+
expect(fake_output.messages[4]).to eq "def sign_up\n page.click_button(\"u_0_2\")\nend"
|
56
56
|
end
|
57
57
|
|
58
58
|
Then /^swamp should highlight this (element|link): "(.+)"$/ do |mode, selector|
|
59
59
|
page = Capybara.current_session
|
60
60
|
expect(page).to have_css "#{selector}[style]"
|
61
61
|
if mode == "element"
|
62
|
-
expect(page.find(selector)[:style]).to include("
|
63
|
-
expect(page.find(selector)[:style]).to include("border
|
62
|
+
expect(page.find(selector)[:style]).to include("box-shadow: 0px 0px 15px rgb(81, 250, 200)")
|
63
|
+
expect(page.find(selector)[:style]).to include("border: 1px solid rgb(81, 250, 200)")
|
64
64
|
else
|
65
65
|
expect(page.find(selector)[:style]).to include("background-color: rgb(255, 0, 0)")
|
66
66
|
end
|
data/lib/swamp/base.rb
CHANGED
@@ -4,10 +4,10 @@ module Swamp
|
|
4
4
|
elements = []
|
5
5
|
page.all('button').map do |element|
|
6
6
|
if element.visible?
|
7
|
-
if has_valid_text?(element)
|
8
|
-
shine
|
9
|
-
button = Swamp::Button.new(element.text, element
|
10
|
-
button.prism_selector =
|
7
|
+
if has_valid_text?(element) and has_id?(element)
|
8
|
+
shine %/##{element['id']}/
|
9
|
+
button = Swamp::Button.new(element.text, element['id'])
|
10
|
+
button.prism_selector = "'##{element['id']}'"
|
11
11
|
elements << button
|
12
12
|
elsif has_id?(element) and has_valid_id?(element)
|
13
13
|
shine %/##{element['id']}/
|
@@ -15,10 +15,14 @@ module Swamp
|
|
15
15
|
button.prism_selector = "'##{element['id']}'"
|
16
16
|
elements << button
|
17
17
|
elsif has_value?(element) and has_valid_value?(element)
|
18
|
-
shine %/button[value=
|
18
|
+
shine %/button[value="#{element['value']}"]/
|
19
19
|
button = Swamp::Button.new(element['value'], element['value'])
|
20
20
|
button.prism_selector = %\"[value='#{element['value']}']"\
|
21
21
|
elements << button
|
22
|
+
elsif has_valid_text?(element)
|
23
|
+
button = Swamp::Button.new(element.text, element.text)
|
24
|
+
button.prism_selector = %\'button', text: '#{element.text}'\
|
25
|
+
elements << button
|
22
26
|
end
|
23
27
|
end
|
24
28
|
end
|
@@ -1,10 +1,6 @@
|
|
1
1
|
module Swamp
|
2
2
|
class Elements < Base
|
3
3
|
|
4
|
-
BORDER_SIZE = "3px"
|
5
|
-
BORDER_COLOR = "#ff0000"
|
6
|
-
BACKGROUND_COLOR = "#ff0000"
|
7
|
-
|
8
4
|
def has_id?(element)
|
9
5
|
element['id'] != nil and element['id'] != "" ? true : false
|
10
6
|
end
|
@@ -41,39 +37,21 @@ module Swamp
|
|
41
37
|
@formatter ||= Swamp::Formatter.new
|
42
38
|
end
|
43
39
|
|
44
|
-
def shine(selector
|
45
|
-
|
46
|
-
|
40
|
+
def shine(selector)
|
41
|
+
js = JavaScript::Minifier.new.minify
|
42
|
+
script = JavaScript::FunctionBuilder.new(js).build_with(selector)
|
43
|
+
page.execute_script(script) rescue false
|
47
44
|
end
|
48
45
|
|
49
46
|
def shine_link(selector)
|
50
|
-
set_background_color selector,
|
47
|
+
set_background_color selector, '#ff0000'
|
51
48
|
end
|
52
49
|
|
53
50
|
private
|
54
51
|
|
55
|
-
def set_border_size(selector, size, mode)
|
56
|
-
if mode == :css
|
57
|
-
page.execute_script %-document.querySelector("#{selector}").style.borderWidth='#{size}'- rescue false
|
58
|
-
elsif mode == :xpath
|
59
|
-
page.execute_script %-document.evaluate("#{selector}", document, null, 9, null).singleNodeValue.style.borderWidth='#{size}';- rescue false
|
60
|
-
else
|
61
|
-
raise "Mode #{mode} not found"
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def set_border_color(selector, color, mode = :css)
|
66
|
-
if mode == :css
|
67
|
-
page.execute_script %-document.querySelector("#{selector}").style.borderColor='#{color}'- rescue false
|
68
|
-
elsif mode == :xpath
|
69
|
-
page.execute_script %-document.evaluate("#{selector}", document, null, 9, null).singleNodeValue.style.borderColor='#{color}';- rescue false
|
70
|
-
else
|
71
|
-
raise "Mode #{mode} not found"
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
52
|
def set_background_color(selector, color)
|
76
53
|
page.execute_script %-document.querySelector("#{selector}").style.backgroundColor='#{color}'-
|
77
54
|
end
|
78
55
|
end
|
79
56
|
end
|
57
|
+
|
@@ -2,7 +2,7 @@ module Swamp
|
|
2
2
|
class InputButtons < Elements
|
3
3
|
def get
|
4
4
|
elements = []
|
5
|
-
page.all('input[type="submit"]').map do | element |
|
5
|
+
page.all('input[type="submit"],input[type="button"]').map do | element |
|
6
6
|
if element.visible?
|
7
7
|
if has_value?(element)
|
8
8
|
if has_id?(element)
|
@@ -11,7 +11,7 @@ module Swamp
|
|
11
11
|
button.prism_selector = %\'##{element['id']}'\
|
12
12
|
elements << button
|
13
13
|
elsif has_class?(element)
|
14
|
-
shine %/input.#{formatter.format_class(element["class"])}[value=
|
14
|
+
shine %/input.#{formatter.format_class(element["class"])}[value="#{element["value"]}"]/
|
15
15
|
capybara_selector = "input.#{formatter.format_class(element["class"])}[value='#{element["value"]}']"
|
16
16
|
button = Swamp::InputButton.new(element["value"], capybara_selector)
|
17
17
|
button.prism_selector = %\"#{capybara_selector}"\
|
@@ -10,7 +10,7 @@ module Swamp
|
|
10
10
|
select_box.prism_selector = "'##{element['id']}'"
|
11
11
|
elements << select_box
|
12
12
|
elsif has_name?(element)
|
13
|
-
shine %/select[name=
|
13
|
+
shine %/select[name="#{element["name"]}"]/
|
14
14
|
select_box = Swamp::SelectBox.new(element["name"], element["name"])
|
15
15
|
select_box.prism_selector = %\"select[name='#{element['name']}']"\
|
16
16
|
elements << select_box
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module JavaScript
|
2
|
+
class FunctionBuilder
|
3
|
+
def initialize(minified_js)
|
4
|
+
@minified_js = minified_js
|
5
|
+
end
|
6
|
+
|
7
|
+
def build_with(css_selector)
|
8
|
+
minified_js + ' ' + element_declaration + ' ' + query_dom(css_selector) + ' ' + function_caller
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
attr_reader :minified_js
|
13
|
+
|
14
|
+
def element_declaration
|
15
|
+
'var element ='
|
16
|
+
end
|
17
|
+
|
18
|
+
def query_dom(css_selector)
|
19
|
+
"document.querySelector('#{css_selector}');"
|
20
|
+
end
|
21
|
+
|
22
|
+
def function_caller
|
23
|
+
'HIGHLIGHT.glow(element);'
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module JavaScript
|
2
|
+
class Minifier
|
3
|
+
def initialize
|
4
|
+
@file_path = File.join(File.dirname(__FILE__), '../', 'js-modules', 'highlight.js')
|
5
|
+
end
|
6
|
+
|
7
|
+
def minify
|
8
|
+
minified_js = ''
|
9
|
+
file = File.new(file_path, 'r')
|
10
|
+
file.each_line do |l|
|
11
|
+
minified_js += l unless l.include?('module.exports')
|
12
|
+
end
|
13
|
+
file.close
|
14
|
+
minified_js = minified_js.gsub("\n", "")
|
15
|
+
minified_js = minified_js.gsub("\"", "'")
|
16
|
+
minified_js = minified_js.gsub(" ", " ")
|
17
|
+
minified_js = minified_js.gsub(" ", " ")
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
attr_reader :file_path
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
var HIGHLIGHT = (function(){
|
2
|
+
var boxShadow = "0 0 15px rgba(81, 250, 200, 1)";
|
3
|
+
var border = "1px solid rgba(81, 250, 200, 1)";
|
4
|
+
|
5
|
+
return {
|
6
|
+
glow: function(element) {
|
7
|
+
element.style.boxShadow = boxShadow;
|
8
|
+
element.style.border = border;
|
9
|
+
}
|
10
|
+
};
|
11
|
+
})();
|
12
|
+
|
13
|
+
module.exports = HIGHLIGHT;
|
data/lib/swamp/version.rb
CHANGED
data/lib/swamp/wrapper.rb
CHANGED
data/lib/swamp.rb
CHANGED
@@ -4,6 +4,8 @@ require 'swamp/setup'
|
|
4
4
|
require 'swamp/interface'
|
5
5
|
require 'swamp/evaluator'
|
6
6
|
require 'swamp/base'
|
7
|
+
require 'swamp/js-adapters/minifier'
|
8
|
+
require 'swamp/js-adapters/function_builder'
|
7
9
|
require 'swamp/collections/elements'
|
8
10
|
require 'swamp/wrapper'
|
9
11
|
require 'swamp/elements/element'
|
data/package.json
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
describe('Highlight', function (){
|
2
|
+
var HIGHLIGHT = require('../lib/swamp/js-modules/highlight.js');
|
3
|
+
var element;
|
4
|
+
|
5
|
+
it('should set the boxShadow property of the element', function (){
|
6
|
+
element = { style: { boxShadow: '' } };
|
7
|
+
spyOn(element, 'style');
|
8
|
+
HIGHLIGHT.glow(element);
|
9
|
+
expect(element.style.boxShadow).toBe('0 0 15px rgba(81, 250, 200, 1)');
|
10
|
+
});
|
11
|
+
|
12
|
+
it('should set the border property of the element', function (){
|
13
|
+
element = { style: { border: '' } };
|
14
|
+
spyOn(element, 'style');
|
15
|
+
HIGHLIGHT.glow(element);
|
16
|
+
expect(element.style.border).toBe('1px solid rgba(81, 250, 200, 1)');
|
17
|
+
});
|
18
|
+
});
|
data/spec/swamp/buttons_spec.rb
CHANGED
@@ -23,7 +23,7 @@ module Swamp
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it "highlights the element" do
|
26
|
-
expect(buttons.page).to receive(:execute_script).
|
26
|
+
expect(buttons.page).to receive(:execute_script).once
|
27
27
|
buttons.get
|
28
28
|
end
|
29
29
|
|
@@ -31,8 +31,8 @@ module Swamp
|
|
31
31
|
allow(buttons.page).to receive(:execute_script).and_return(nil)
|
32
32
|
expect(buttons.get.size).to eq(1)
|
33
33
|
expect(buttons.get.first.name).to eq("Sign Up")
|
34
|
-
expect(buttons.get.first.selector).to eq("
|
35
|
-
expect(buttons.get.first.prism_selector).to eq(
|
34
|
+
expect(buttons.get.first.selector).to eq("u_0_2")
|
35
|
+
expect(buttons.get.first.prism_selector).to eq("'#u_0_2'")
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -47,7 +47,7 @@ module Swamp
|
|
47
47
|
end
|
48
48
|
|
49
49
|
it "highlights the element" do
|
50
|
-
expect(buttons.page).to receive(:execute_script).
|
50
|
+
expect(buttons.page).to receive(:execute_script).once
|
51
51
|
buttons.get
|
52
52
|
end
|
53
53
|
|
@@ -71,7 +71,7 @@ module Swamp
|
|
71
71
|
end
|
72
72
|
|
73
73
|
it "highlights the element" do
|
74
|
-
expect(buttons.page).to receive(:execute_script).
|
74
|
+
expect(buttons.page).to receive(:execute_script).once
|
75
75
|
buttons.get
|
76
76
|
end
|
77
77
|
|
data/spec/swamp/fields_spec.rb
CHANGED
@@ -24,7 +24,7 @@ module Swamp
|
|
24
24
|
end
|
25
25
|
|
26
26
|
it "highlights the element" do
|
27
|
-
expect(fields.page).to receive(:execute_script).
|
27
|
+
expect(fields.page).to receive(:execute_script).once
|
28
28
|
fields.get
|
29
29
|
end
|
30
30
|
|
@@ -51,7 +51,7 @@ module Swamp
|
|
51
51
|
end
|
52
52
|
|
53
53
|
it "highlights the element" do
|
54
|
-
expect(fields.page).to receive(:execute_script).
|
54
|
+
expect(fields.page).to receive(:execute_script).once
|
55
55
|
fields.get
|
56
56
|
end
|
57
57
|
|
@@ -78,7 +78,7 @@ module Swamp
|
|
78
78
|
end
|
79
79
|
|
80
80
|
it "highlights the element" do
|
81
|
-
expect(fields.page).to receive(:execute_script).
|
81
|
+
expect(fields.page).to receive(:execute_script).once
|
82
82
|
fields.get
|
83
83
|
end
|
84
84
|
|
@@ -7,7 +7,7 @@ module Swamp
|
|
7
7
|
element = {'value' => "Log In", 'id' => "u_0_b"}
|
8
8
|
allow(element).to receive(:visible?).and_return(true)
|
9
9
|
allow(input_buttons.page).to receive(:execute_script).and_return(nil)
|
10
|
-
expect(input_buttons.page).to receive(:all).with('input[type="submit"]').and_return([element])
|
10
|
+
expect(input_buttons.page).to receive(:all).with('input[type="submit"],input[type="button"]').and_return([element])
|
11
11
|
input_buttons.get
|
12
12
|
end
|
13
13
|
|
@@ -17,11 +17,11 @@ module Swamp
|
|
17
17
|
|
18
18
|
before(:each) do
|
19
19
|
allow(element).to receive(:visible?).and_return(true)
|
20
|
-
allow(input_buttons.page).to receive(:all).with('input[type="submit"]').and_return([element])
|
20
|
+
allow(input_buttons.page).to receive(:all).with('input[type="submit"],input[type="button"]').and_return([element])
|
21
21
|
end
|
22
22
|
|
23
23
|
it "highlights the element" do
|
24
|
-
expect(input_buttons.page).to receive(:execute_script).
|
24
|
+
expect(input_buttons.page).to receive(:execute_script).once
|
25
25
|
input_buttons.get
|
26
26
|
end
|
27
27
|
|
@@ -43,11 +43,11 @@ module Swamp
|
|
43
43
|
|
44
44
|
before(:each) do
|
45
45
|
allow(element).to receive(:visible?).and_return(true)
|
46
|
-
allow(input_buttons.page).to receive(:all).with('input[type="submit"]').and_return([element])
|
46
|
+
allow(input_buttons.page).to receive(:all).with('input[type="submit"],input[type="button"]').and_return([element])
|
47
47
|
end
|
48
48
|
|
49
49
|
it "highlights the element" do
|
50
|
-
expect(input_buttons.page).to receive(:execute_script).
|
50
|
+
expect(input_buttons.page).to receive(:execute_script).once
|
51
51
|
input_buttons.get
|
52
52
|
end
|
53
53
|
|
@@ -70,7 +70,7 @@ module Swamp
|
|
70
70
|
it "returns an empty array" do
|
71
71
|
element = {'value' => "Log In", 'id' => "u_0_b"}
|
72
72
|
allow(element).to receive(:visible?).and_return(false)
|
73
|
-
allow(input_buttons.page).to receive(:all).with('input[type="submit"]').and_return([element])
|
73
|
+
allow(input_buttons.page).to receive(:all).with('input[type="submit"],input[type="button"]').and_return([element])
|
74
74
|
expect(input_buttons.get).to eq([])
|
75
75
|
end
|
76
76
|
end
|
@@ -21,7 +21,7 @@ module Swamp
|
|
21
21
|
end
|
22
22
|
|
23
23
|
it "highlights the element" do
|
24
|
-
expect(select_boxes.page).to receive(:execute_script).
|
24
|
+
expect(select_boxes.page).to receive(:execute_script).once
|
25
25
|
select_boxes.get
|
26
26
|
end
|
27
27
|
|
@@ -48,7 +48,7 @@ module Swamp
|
|
48
48
|
end
|
49
49
|
|
50
50
|
it "highlights the element" do
|
51
|
-
expect(select_boxes.page).to receive(:execute_script).
|
51
|
+
expect(select_boxes.page).to receive(:execute_script).once
|
52
52
|
select_boxes.get
|
53
53
|
end
|
54
54
|
|
@@ -75,7 +75,7 @@ module Swamp
|
|
75
75
|
end
|
76
76
|
|
77
77
|
it "highlights the element" do
|
78
|
-
expect(select_boxes.page).to receive(:execute_script).
|
78
|
+
expect(select_boxes.page).to receive(:execute_script).once
|
79
79
|
select_boxes.get
|
80
80
|
end
|
81
81
|
|
data/swamp.gemspec
CHANGED
@@ -18,8 +18,8 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "capybara", '~> 2.
|
22
|
-
spec.add_dependency "selenium-webdriver", '~> 2.
|
21
|
+
spec.add_dependency "capybara", '~> 2.5'
|
22
|
+
spec.add_dependency "selenium-webdriver", '~> 2.48'
|
23
23
|
|
24
24
|
spec.add_development_dependency "bundler", '~> 1.6'
|
25
25
|
spec.add_development_dependency "rake", '~> 10.3'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swamp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Juraci de Lima Vieira Neto
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capybara
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
19
|
+
version: '2.5'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
26
|
+
version: '2.5'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: selenium-webdriver
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '2.
|
33
|
+
version: '2.48'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '2.
|
40
|
+
version: '2.48'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: bundler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -235,6 +235,9 @@ files:
|
|
235
235
|
- lib/swamp/evaluator.rb
|
236
236
|
- lib/swamp/formatter.rb
|
237
237
|
- lib/swamp/interface.rb
|
238
|
+
- lib/swamp/js-adapters/function_builder.rb
|
239
|
+
- lib/swamp/js-adapters/minifier.rb
|
240
|
+
- lib/swamp/js-modules/highlight.js
|
238
241
|
- lib/swamp/scopes/page.rb
|
239
242
|
- lib/swamp/scopes/prism.rb
|
240
243
|
- lib/swamp/scopes/scope.rb
|
@@ -242,7 +245,10 @@ files:
|
|
242
245
|
- lib/swamp/setup.rb
|
243
246
|
- lib/swamp/version.rb
|
244
247
|
- lib/swamp/wrapper.rb
|
248
|
+
- package.json
|
249
|
+
- spec/highlightSpec.js
|
245
250
|
- spec/spec_helper.rb
|
251
|
+
- spec/support/jasmine.json
|
246
252
|
- spec/swamp/builders/basic_spec.rb
|
247
253
|
- spec/swamp/builders/prism_spec.rb
|
248
254
|
- spec/swamp/buttons_spec.rb
|
@@ -277,7 +283,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
283
|
version: '0'
|
278
284
|
requirements: []
|
279
285
|
rubyforge_project:
|
280
|
-
rubygems_version: 2.
|
286
|
+
rubygems_version: 2.4.6
|
281
287
|
signing_key:
|
282
288
|
specification_version: 4
|
283
289
|
summary: Swamp, where capybaras belong
|
@@ -314,7 +320,9 @@ test_files:
|
|
314
320
|
- features/support/page_examples/select_box_with_name_only.html
|
315
321
|
- features/support/page_examples/select_without_id_and_name.html
|
316
322
|
- features/support/setup.rb
|
323
|
+
- spec/highlightSpec.js
|
317
324
|
- spec/spec_helper.rb
|
325
|
+
- spec/support/jasmine.json
|
318
326
|
- spec/swamp/builders/basic_spec.rb
|
319
327
|
- spec/swamp/builders/prism_spec.rb
|
320
328
|
- spec/swamp/buttons_spec.rb
|