swamp 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,12 +1,14 @@
1
1
  require 'spec_helper'
2
2
  module Swamp
3
3
  describe Wrapper do
4
+ let(:setup) { setup = Swamp::Setup.new }
5
+
4
6
  describe "#explore" do
5
7
  it "fires up the browser to a given url" do
6
8
  url = "www.fakepage.com"
7
9
  meta_collection = []
8
- wrapper = Swamp::Wrapper.new(meta_collection)
9
- wrapper.should_receive(:visit).with(url).and_return("")
10
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
11
+ expect(wrapper).to receive(:visit).with(url).and_return("")
10
12
  wrapper.explore(url)
11
13
  end
12
14
  end
@@ -21,8 +23,8 @@ module Swamp
21
23
 
22
24
  it "delegates the responsibility of getting the elements for each element collection object" do
23
25
  meta_collection = [generic_element_collection]
24
- wrapper = Swamp::Wrapper.new(meta_collection)
25
- meta_collection.each { |element_collection| element_collection.should_receive(:get).and_return([]) }
26
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
27
+ meta_collection.each { |element_collection| expect(element_collection).to receive(:get).and_return([]) }
26
28
  wrapper.scan
27
29
  end
28
30
 
@@ -30,11 +32,11 @@ module Swamp
30
32
  let(:field) { Swamp::Field.new("username", "username") }
31
33
 
32
34
  it "returns an array of formatted code snippets for fields" do
33
- fields.stub(:get).and_return([field])
35
+ allow(fields).to receive(:get).and_return([field])
34
36
 
35
37
  meta_collection = [fields]
36
- wrapper = Swamp::Wrapper.new(meta_collection)
37
- wrapper.scan.should == ["def type_username(input)\n source.fill_in(\"username\", with: input)\nend"]
38
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
39
+ expect(wrapper.scan).to eq(["def type_username(input)\n page.fill_in(\"username\", with: input)\nend"])
38
40
  end
39
41
  end
40
42
 
@@ -42,11 +44,11 @@ module Swamp
42
44
  let(:button) { Swamp::Button.new("log_in", "log_in") }
43
45
 
44
46
  it "returns an array of formatted code snippets for buttons" do
45
- buttons.stub(:get).and_return([button])
47
+ allow(buttons).to receive(:get).and_return([button])
46
48
 
47
49
  meta_collection = [buttons]
48
- wrapper = Swamp::Wrapper.new(meta_collection)
49
- wrapper.scan.should == ["def log_in\n source.click_button(\"log_in\")\nend"]
50
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
51
+ expect(wrapper.scan).to eq(["def log_in\n page.click_button(\"log_in\")\nend"])
50
52
  end
51
53
  end
52
54
 
@@ -54,11 +56,11 @@ module Swamp
54
56
  let(:input_button) { Swamp::InputButton.new("Log In", "input#u_0_b") }
55
57
 
56
58
  it "returns an array of formatted code snippets for input buttons" do
57
- input_buttons.stub(:get).and_return([input_button])
59
+ allow(input_buttons).to receive(:get).and_return([input_button])
58
60
 
59
61
  meta_collection = [input_buttons]
60
- wrapper = Swamp::Wrapper.new(meta_collection)
61
- wrapper.scan.should == ["def log_in\n source.find(:css, \"input#u_0_b\").click\nend"]
62
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
63
+ expect(wrapper.scan).to eq(["def log_in\n page.find(:css, \"input#u_0_b\").click\nend"])
62
64
  end
63
65
  end
64
66
 
@@ -66,11 +68,11 @@ module Swamp
66
68
  let(:select_box) { Swamp::SelectBox.new("month", "month") }
67
69
 
68
70
  it "returns an array of formatted code snippets for select boxes" do
69
- select_boxes.stub(:get).and_return([select_box])
71
+ allow(select_boxes).to receive(:get).and_return([select_box])
70
72
 
71
73
  meta_collection = [select_boxes]
72
- wrapper = Swamp::Wrapper.new(meta_collection)
73
- wrapper.scan.should == ["def select_month(option)\n source.select(option, :from => \"month\")\nend"]
74
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
75
+ expect(wrapper.scan).to eq(["def select_month(option)\n page.select(option, :from => \"month\")\nend"])
74
76
  end
75
77
  end
76
78
 
@@ -78,25 +80,25 @@ module Swamp
78
80
  let(:link) { Swamp::Link.new("forgot-password", "forgot-password") }
79
81
 
80
82
  it "returns an array of formatted code snippets for links" do
81
- links.stub(:get).and_return([link])
83
+ allow(links).to receive(:get).and_return([link])
82
84
 
83
85
  meta_collection = [links]
84
- wrapper = Swamp::Wrapper.new(meta_collection)
85
- wrapper.scan.should == ["def forgot_password\n source.click_link(\"forgot-password\")\nend"]
86
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
87
+ expect(wrapper.scan).to eq(["def forgot_password\n page.click_link(\"forgot-password\")\nend"])
86
88
  end
87
89
  end
88
90
 
89
91
  context "when no elements were found" do
90
92
  it "returns an empty array" do
91
- fields.stub(:get).and_return([])
92
- buttons.stub(:get).and_return([])
93
- input_buttons.stub(:get).and_return([])
94
- select_boxes.stub(:get).and_return([])
95
- links.stub(:get).and_return([])
93
+ allow(fields).to receive(:get).and_return([])
94
+ allow(buttons).to receive(:get).and_return([])
95
+ allow(input_buttons).to receive(:get).and_return([])
96
+ allow(select_boxes).to receive(:get).and_return([])
97
+ allow(links).to receive(:get).and_return([])
96
98
 
97
99
  meta_collection = [fields, buttons, input_buttons, select_boxes]
98
- wrapper = Swamp::Wrapper.new(meta_collection)
99
- wrapper.scan.should == []
100
+ wrapper = Swamp::Wrapper.new(meta_collection, setup)
101
+ expect(wrapper.scan).to eq([])
100
102
  end
101
103
  end
102
104
  end
metadata CHANGED
@@ -1,139 +1,139 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: swamp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.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: 2014-02-03 00:00:00.000000000 Z
11
+ date: 2014-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: capybara
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
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
26
  version: '0'
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
33
  version: '0'
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
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bundler
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: cucumber
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: json
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: pry
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - '>='
115
+ - - ">="
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - '>='
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: pry-nav
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - '>='
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - '>='
136
+ - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  description: Automatically generates the methods and selectors to help on faster page-object
@@ -145,13 +145,14 @@ executables:
145
145
  extensions: []
146
146
  extra_rdoc_files: []
147
147
  files:
148
- - .gitignore
149
- - .rspec
150
- - .travis.yml
148
+ - ".gitignore"
149
+ - ".rspec"
150
+ - ".travis.yml"
151
151
  - Gemfile
152
152
  - README.md
153
153
  - Rakefile
154
154
  - bin/swamp
155
+ - features/specifications/scope_changing.feature
155
156
  - features/specifications/user_scans_a_page_interactively.feature
156
157
  - features/specifications/user_scans_buttons_in_a_page.feature
157
158
  - features/specifications/user_scans_fields_in_a_page.feature
@@ -182,6 +183,7 @@ files:
182
183
  - features/support/page_examples/select_without_id_and_name.html
183
184
  - features/support/setup.rb
184
185
  - lib/swamp.rb
186
+ - lib/swamp/assertions.rb
185
187
  - lib/swamp/base.rb
186
188
  - lib/swamp/builder.rb
187
189
  - lib/swamp/button.rb
@@ -200,6 +202,7 @@ files:
200
202
  - lib/swamp/links.rb
201
203
  - lib/swamp/select_box.rb
202
204
  - lib/swamp/select_boxes.rb
205
+ - lib/swamp/setup.rb
203
206
  - lib/swamp/version.rb
204
207
  - lib/swamp/wrapper.rb
205
208
  - spec/spec_helper.rb
@@ -212,6 +215,7 @@ files:
212
215
  - spec/swamp/interface_spec.rb
213
216
  - spec/swamp/links_spec.rb
214
217
  - spec/swamp/select_boxes_spec.rb
218
+ - spec/swamp/setup_spec.rb
215
219
  - spec/swamp/wrapper_spec.rb
216
220
  - swamp.gemspec
217
221
  - tags
@@ -225,21 +229,22 @@ require_paths:
225
229
  - lib
226
230
  required_ruby_version: !ruby/object:Gem::Requirement
227
231
  requirements:
228
- - - '>='
232
+ - - ">="
229
233
  - !ruby/object:Gem::Version
230
234
  version: '0'
231
235
  required_rubygems_version: !ruby/object:Gem::Requirement
232
236
  requirements:
233
- - - '>='
237
+ - - ">="
234
238
  - !ruby/object:Gem::Version
235
239
  version: '0'
236
240
  requirements: []
237
241
  rubyforge_project:
238
- rubygems_version: 2.0.3
242
+ rubygems_version: 2.2.2
239
243
  signing_key:
240
244
  specification_version: 4
241
245
  summary: Swamp, where capybaras belong
242
246
  test_files:
247
+ - features/specifications/scope_changing.feature
243
248
  - features/specifications/user_scans_a_page_interactively.feature
244
249
  - features/specifications/user_scans_buttons_in_a_page.feature
245
250
  - features/specifications/user_scans_fields_in_a_page.feature
@@ -279,4 +284,5 @@ test_files:
279
284
  - spec/swamp/interface_spec.rb
280
285
  - spec/swamp/links_spec.rb
281
286
  - spec/swamp/select_boxes_spec.rb
287
+ - spec/swamp/setup_spec.rb
282
288
  - spec/swamp/wrapper_spec.rb