page_magic 1.0.0.alpha4 → 1.0.0.alpha5

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 (41) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -0
  3. data/Gemfile +7 -8
  4. data/Gemfile.lock +15 -30
  5. data/Rakefile +12 -10
  6. data/VERSION +1 -1
  7. data/lib/ext/string.rb +6 -6
  8. data/lib/page_magic/driver.rb +2 -2
  9. data/lib/page_magic/drivers/poltergeist.rb +1 -2
  10. data/lib/page_magic/drivers/rack_test.rb +1 -1
  11. data/lib/page_magic/drivers/selenium.rb +2 -2
  12. data/lib/page_magic/drivers.rb +5 -6
  13. data/lib/page_magic/element.rb +50 -43
  14. data/lib/page_magic/element_context.rb +14 -14
  15. data/lib/page_magic/elements.rb +9 -10
  16. data/lib/page_magic/exceptions.rb +1 -2
  17. data/lib/page_magic/page_magic.rb +12 -9
  18. data/lib/page_magic/session.rb +21 -16
  19. data/lib/page_magic.rb +7 -10
  20. data/page_magic.gemspec +57 -58
  21. data/spec/element_spec.rb +34 -27
  22. data/spec/helpers/capybara.rb +4 -4
  23. data/spec/member_methods_spec.rb +1 -10
  24. data/spec/page_magic/driver_spec.rb +5 -5
  25. data/spec/page_magic/drivers/poltergeist_spec.rb +4 -3
  26. data/spec/page_magic/drivers/rack_test_spec.rb +4 -3
  27. data/spec/page_magic/drivers/selenium_spec.rb +3 -2
  28. data/spec/page_magic/drivers_spec.rb +3 -5
  29. data/spec/page_magic/element_context_spec.rb +17 -29
  30. data/spec/page_magic/elements_spec.rb +13 -30
  31. data/spec/page_magic/page_magic_spec.rb +19 -0
  32. data/spec/page_magic/session_spec.rb +52 -31
  33. data/spec/page_magic/usage/defining_pages_spec.rb +3 -7
  34. data/spec/page_magic/usage/include_page_magic_spec.rb +2 -2
  35. data/spec/page_magic/usage/interacting_with_pages_spec.rb +0 -2
  36. data/spec/page_magic/usage/starting_a_session_spec.rb +4 -7
  37. data/spec/page_magic_spec.rb +4 -6
  38. data/spec/spec_helper.rb +14 -22
  39. metadata +5 -19
  40. data/Guardfile +0 -8
  41. data/spec/page_magic/usage/defining_page_elements_spec.rb +0 -7
@@ -3,11 +3,11 @@ module PageMagic
3
3
  class Session
4
4
  attr_accessor :current_page, :raw_session, :transitions
5
5
 
6
- def initialize browser
6
+ def initialize(browser)
7
7
  @raw_session = browser
8
8
  end
9
9
 
10
- def define_page_mappings transitions
10
+ def define_page_mappings(transitions)
11
11
  @transitions = transitions
12
12
  end
13
13
 
@@ -19,23 +19,13 @@ module PageMagic
19
19
  @current_page
20
20
  end
21
21
 
22
- def find_mapped_page path
22
+ def find_mapped_page(path)
23
23
  mapping = transitions.keys.find do |key|
24
24
  string_matches?(path, key)
25
25
  end
26
26
  transitions[mapping]
27
27
  end
28
28
 
29
- def string_matches?(string, matcher)
30
- if matcher.is_a?(Regexp)
31
- string =~ matcher
32
- elsif matcher.is_a?(String)
33
- string == matcher
34
- else
35
- false
36
- end
37
- end
38
-
39
29
  def visit(page, url: nil)
40
30
  raw_session.visit url || page.url
41
31
  @current_page = page.new self
@@ -50,14 +40,29 @@ module PageMagic
50
40
  raw_session.current_url
51
41
  end
52
42
 
53
- def wait_until &block
43
+ def wait_until(&block)
54
44
  @wait ||= Wait.new
55
45
  @wait.until &block
56
46
  end
57
47
 
58
- def method_missing name, *args, &block
48
+ def method_missing(name, *args, &block)
59
49
  current_page.send(name, *args, &block)
60
50
  end
61
51
 
52
+ def respond_to?(*args)
53
+ super || current_page.respond_to?(*args)
54
+ end
55
+
56
+ private
57
+
58
+ def string_matches?(string, matcher)
59
+ if matcher.is_a?(Regexp)
60
+ string =~ matcher
61
+ elsif matcher.is_a?(String)
62
+ string == matcher
63
+ else
64
+ false
65
+ end
66
+ end
62
67
  end
63
- end
68
+ end
data/lib/page_magic.rb CHANGED
@@ -9,19 +9,16 @@ require 'page_magic/page_magic'
9
9
  require 'page_magic/drivers'
10
10
 
11
11
  module PageMagic
12
- class UnspportedBrowserException < Exception;end
12
+ class UnspportedBrowserException < Exception; end
13
13
 
14
14
  class << self
15
-
16
15
  def drivers
17
- @drivers ||= Drivers.new.tap do |drivers|
18
- drivers.load
19
- end
16
+ @drivers ||= Drivers.new.tap(&:load)
20
17
  end
21
18
 
22
19
  def session(application: nil, browser: :rack_test, options: {})
23
20
  driver = drivers.find(browser)
24
- raise UnspportedBrowserException unless driver
21
+ fail UnspportedBrowserException unless driver
25
22
 
26
23
  Capybara.register_driver browser do |app|
27
24
  driver.build(app, browser: browser, options: options)
@@ -30,17 +27,17 @@ module PageMagic
30
27
  Session.new(Capybara::Session.new(browser, application))
31
28
  end
32
29
 
33
- def included clazz
30
+ def included(clazz)
34
31
  clazz.extend Elements
35
32
  pages << clazz if clazz.is_a? Class
36
33
 
37
34
  class << clazz
38
- def url url=nil
35
+ def url(url = nil)
39
36
  @url = url if url
40
37
  @url
41
38
  end
42
39
 
43
- def inherited clazz
40
+ def inherited(clazz)
44
41
  clazz.element_definitions.merge!(element_definitions)
45
42
  PageMagic.pages << clazz
46
43
  end
@@ -48,7 +45,7 @@ module PageMagic
48
45
  end
49
46
 
50
47
  def pages
51
- @pages||=[]
48
+ @pages ||= []
52
49
  end
53
50
  end
54
51
  end
data/page_magic.gemspec CHANGED
@@ -4,74 +4,73 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "page_magic"
8
- s.version = "0.11.0.alpha3"
7
+ s.name = 'page_magic'
8
+ s.version = '0.11.0.alpha3'
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Leon Davis"]
12
- s.date = "2014-04-05"
13
- s.description = "Framework for modeling and interacting with webpages which wraps capybara"
14
- s.email = "info@lad-tech.com"
10
+ s.required_rubygems_version = Gem::Requirement.new('> 1.3.1') if s.respond_to? :required_rubygems_version=
11
+ s.authors = ['Leon Davis']
12
+ s.date = '2014-04-05'
13
+ s.description = 'Framework for modeling and interacting with webpages which wraps capybara'
14
+ s.email = 'info@lad-tech.com'
15
15
  s.extra_rdoc_files = [
16
- "README.md"
16
+ 'README.md'
17
17
  ]
18
18
  s.files = [
19
- ".rspec",
20
- ".ruby-gemset",
21
- ".ruby-version",
22
- ".travis.yml",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "README.md",
26
- "Rakefile",
27
- "VERSION",
28
- "lib/ext/string.rb",
29
- "lib/page_magic.rb",
30
- "lib/page_magic/ajax_support.rb",
31
- "lib/page_magic/browser.rb",
32
- "lib/page_magic/element.rb",
33
- "lib/page_magic/element_context.rb",
34
- "lib/page_magic/elements.rb",
35
- "lib/page_magic/exceptions.rb",
36
- "lib/page_magic/page_magic.rb",
37
- "lib/page_magic/session.rb",
38
- "page_magic.gemspec",
39
- "spec/browser_spec.rb",
40
- "spec/element_context_spec.rb",
41
- "spec/element_spec.rb",
42
- "spec/helpers/capybara.rb",
43
- "spec/member_methods_spec.rb",
44
- "spec/page_magic/elements_spec.rb",
45
- "spec/page_magic/usage/defining_page_elements_spec.rb",
46
- "spec/page_magic/usage/defining_pages_spec.rb",
47
- "spec/page_magic/usage/include_page_magic_spec.rb",
48
- "spec/page_magic/usage/interacting_with_pages_spec.rb",
49
- "spec/page_magic/usage/starting_a_session_spec.rb",
50
- "spec/session_spec.rb",
51
- "spec/spec_helper.rb"
19
+ '.rspec',
20
+ '.ruby-gemset',
21
+ '.ruby-version',
22
+ '.travis.yml',
23
+ 'Gemfile',
24
+ 'Gemfile.lock',
25
+ 'README.md',
26
+ 'Rakefile',
27
+ 'VERSION',
28
+ 'lib/ext/string.rb',
29
+ 'lib/page_magic.rb',
30
+ 'lib/page_magic/ajax_support.rb',
31
+ 'lib/page_magic/browser.rb',
32
+ 'lib/page_magic/element.rb',
33
+ 'lib/page_magic/element_context.rb',
34
+ 'lib/page_magic/elements.rb',
35
+ 'lib/page_magic/exceptions.rb',
36
+ 'lib/page_magic/page_magic.rb',
37
+ 'lib/page_magic/session.rb',
38
+ 'page_magic.gemspec',
39
+ 'spec/browser_spec.rb',
40
+ 'spec/element_context_spec.rb',
41
+ 'spec/element_spec.rb',
42
+ 'spec/helpers/capybara.rb',
43
+ 'spec/member_methods_spec.rb',
44
+ 'spec/page_magic/elements_spec.rb',
45
+ 'spec/page_magic/usage/defining_page_elements_spec.rb',
46
+ 'spec/page_magic/usage/defining_pages_spec.rb',
47
+ 'spec/page_magic/usage/include_page_magic_spec.rb',
48
+ 'spec/page_magic/usage/interacting_with_pages_spec.rb',
49
+ 'spec/page_magic/usage/starting_a_session_spec.rb',
50
+ 'spec/session_spec.rb',
51
+ 'spec/spec_helper.rb'
52
52
  ]
53
- s.homepage = "https://github.com/ladtech/page_magic"
54
- s.licenses = ["ruby"]
55
- s.require_paths = ["lib"]
56
- s.rubygems_version = "2.0.3"
57
- s.summary = "Framework for modeling and interacting with webpages"
53
+ s.homepage = 'https://github.com/ladtech/page_magic'
54
+ s.licenses = ['ruby']
55
+ s.require_paths = ['lib']
56
+ s.rubygems_version = '2.0.3'
57
+ s.summary = 'Framework for modeling and interacting with webpages'
58
58
 
59
- if s.respond_to? :specification_version then
59
+ if s.respond_to? :specification_version
60
60
  s.specification_version = 4
61
61
 
62
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
63
- s.add_runtime_dependency(%q<capybara>, [">= 0"])
64
- s.add_runtime_dependency(%q<wait>, [">= 0"])
65
- s.add_development_dependency(%q<jeweler>, [">= 0"])
62
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0')
63
+ s.add_runtime_dependency('capybara', ['>= 0'])
64
+ s.add_runtime_dependency('wait', ['>= 0'])
65
+ s.add_development_dependency('jeweler', ['>= 0'])
66
66
  else
67
- s.add_dependency(%q<capybara>, [">= 0"])
68
- s.add_dependency(%q<wait>, [">= 0"])
69
- s.add_dependency(%q<jeweler>, [">= 0"])
67
+ s.add_dependency('capybara', ['>= 0'])
68
+ s.add_dependency('wait', ['>= 0'])
69
+ s.add_dependency('jeweler', ['>= 0'])
70
70
  end
71
71
  else
72
- s.add_dependency(%q<capybara>, [">= 0"])
73
- s.add_dependency(%q<wait>, [">= 0"])
74
- s.add_dependency(%q<jeweler>, [">= 0"])
72
+ s.add_dependency('capybara', ['>= 0'])
73
+ s.add_dependency('wait', ['>= 0'])
74
+ s.add_dependency('jeweler', ['>= 0'])
75
75
  end
76
76
  end
77
-
data/spec/element_spec.rb CHANGED
@@ -1,6 +1,4 @@
1
1
  describe 'Page elements' do
2
-
3
-
4
2
  before :each do
5
3
  Capybara.app = Class.new(Sinatra::Base) do
6
4
  get '/' do
@@ -18,7 +16,6 @@ describe 'Page elements' do
18
16
  end
19
17
 
20
18
  describe 'inheriting' do
21
-
22
19
  include_context :webapp
23
20
 
24
21
  it 'lets you create custom elements' do
@@ -31,7 +28,6 @@ describe 'Page elements' do
31
28
  end
32
29
  end
33
30
 
34
-
35
31
  page = Class.new do
36
32
  include PageMagic
37
33
  url '/elements'
@@ -44,9 +40,26 @@ describe 'Page elements' do
44
40
  end
45
41
  end
46
42
 
47
- describe 'browser_element' do
48
- it 'should raise an error if a selector has not been specified' do
49
- expect { PageMagic::Element.new(:name, Object.new, type: :element).browser_element }.to raise_error(PageMagic::UndefinedSelectorException)
43
+ it 'should raise an error if a selector has not been specified' do
44
+ expect { PageMagic::Element.new(:name, Object.new, type: :element).browser_element }.to raise_error(PageMagic::UndefinedSelectorException)
45
+ end
46
+
47
+ describe '#respond_to?' do
48
+ subject do
49
+ PageMagic::Element.new(:name, Object.new, type: :element, browser_element: double(element_method: '')) do
50
+ element :sub_element, css: '.sub-element'
51
+ end
52
+ end
53
+ it 'checks for methods on self' do
54
+ expect(subject.respond_to?(:session)).to eq(true)
55
+ end
56
+
57
+ it 'checks against registered elements' do
58
+ expect(subject.respond_to?(:sub_element)).to eq(true)
59
+ end
60
+
61
+ it 'checks for the method of the browser_element' do
62
+ expect(subject.respond_to?(:element_method)).to eq(true)
50
63
  end
51
64
  end
52
65
 
@@ -61,60 +74,58 @@ describe 'Page elements' do
61
74
 
62
75
  context 'options supplied to selector' do
63
76
  it 'passes them on to the cappybara finder method' do
64
- options = {key: :value}
77
+ options = { key: :value }
65
78
  xpath_selector = '//input'
66
79
  expect(Capybara.current_session).to receive(:find).with(:xpath, xpath_selector, options)
67
- PageMagic::Element.new(:my_input, page, type: :text_field, selector: {xpath: xpath_selector}.merge(options)).browser_element
80
+ PageMagic::Element.new(:my_input, page, type: :text_field, selector: { xpath: xpath_selector }.merge(options)).browser_element
68
81
  end
69
82
  end
70
83
 
71
84
  it 'should find by xpath' do
72
- element = PageMagic::Element.new(:my_input, page, type: :text_field, selector: {xpath: '//input'}).browser_element
85
+ element = PageMagic::Element.new(:my_input, page, type: :text_field, selector: { xpath: '//input' }).browser_element
73
86
  element.value == 'filled in'
74
87
  end
75
88
 
76
89
  it 'should locate an element using its id' do
77
- element = PageMagic::Element.new(:my_input, page, type: :text_field, selector: {id: 'field_id'}).browser_element
90
+ element = PageMagic::Element.new(:my_input, page, type: :text_field, selector: { id: 'field_id' }).browser_element
78
91
  element.value.should == 'filled in'
79
92
  end
80
93
 
81
94
  it 'should locate an element using its name' do
82
- element = PageMagic::Element.new(:my_input, page, type: :text_field, selector: {name: 'field_name'}).browser_element
95
+ element = PageMagic::Element.new(:my_input, page, type: :text_field, selector: { name: 'field_name' }).browser_element
83
96
  element.value.should == 'filled in'
84
97
  end
85
98
 
86
-
87
99
  it 'should locate an element using its label' do
88
- element = PageMagic::Element.new(:my_link, page, type: :link, selector: {label: 'enter text'}).browser_element
100
+ element = PageMagic::Element.new(:my_link, page, type: :link, selector: { label: 'enter text' }).browser_element
89
101
  element[:id].should == 'field_id'
90
102
  end
91
103
 
92
104
  it 'should raise an exception when finding another element using its text' do
93
- expect { PageMagic::Element.new(:my_link, page, type: :text_field, selector: {text: 'my link'}).browser_element }.to raise_error(PageMagic::UnsupportedSelectorException)
105
+ expect { PageMagic::Element.new(:my_link, page, type: :text_field, selector: { text: 'my link' }).browser_element }.to raise_error(PageMagic::UnsupportedSelectorException)
94
106
  end
95
107
 
96
108
  it 'should locate an element using css' do
97
- element = PageMagic::Element.new(:my_link, page, type: :link, selector: {css: "input[name='field_name']"}).browser_element
109
+ element = PageMagic::Element.new(:my_link, page, type: :link, selector: { css: "input[name='field_name']" }).browser_element
98
110
  element[:id].should == 'field_id'
99
111
  end
100
112
 
101
-
102
113
  it 'should return a prefetched value' do
103
114
  PageMagic::Element.new(:help, page, type: :link, browser_element: :prefetched_object).browser_element.should == :prefetched_object
104
115
  end
105
116
 
106
117
  it 'should raise errors for unsupported selectors' do
107
- expect { PageMagic::Element.new(:my_link, page, type: :link, selector: {unsupported: ""}).browser_element }.to raise_error(PageMagic::UnsupportedSelectorException)
118
+ expect { PageMagic::Element.new(:my_link, page, type: :link, selector: { unsupported: '' }).browser_element }.to raise_error(PageMagic::UnsupportedSelectorException)
108
119
  end
109
120
 
110
121
  context 'text selector' do
111
122
  it 'should locate a link' do
112
- element = PageMagic::Element.new(:my_link, page, type: :link, selector: {text: 'my link'}).browser_element
123
+ element = PageMagic::Element.new(:my_link, page, type: :link, selector: { text: 'my link' }).browser_element
113
124
  element[:id].should == 'my_link'
114
125
  end
115
126
 
116
127
  it 'should locate a button' do
117
- element = PageMagic::Element.new(:my_button, page, type: :button, selector: {text: 'my button'}).browser_element
128
+ element = PageMagic::Element.new(:my_button, page, type: :button, selector: { text: 'my button' }).browser_element
118
129
  element[:id].should == 'my_button'
119
130
  end
120
131
  end
@@ -123,7 +134,7 @@ describe 'Page elements' do
123
134
  describe '#section?' do
124
135
  context 'element definitions exist' do
125
136
  subject do
126
- PageMagic::Element.new(:my_link, :page, type: :link, selector: {text: 'my link'}) do
137
+ PageMagic::Element.new(:my_link, :page, type: :link, selector: { text: 'my link' }) do
127
138
  element :thing, text: 'text'
128
139
  end
129
140
  end
@@ -134,7 +145,7 @@ describe 'Page elements' do
134
145
 
135
146
  context 'method defined' do
136
147
  subject do
137
- PageMagic::Element.new(:my_link, :page, type: :link, selector: {text: 'my link'}) do
148
+ PageMagic::Element.new(:my_link, :page, type: :link, selector: { text: 'my link' }) do
138
149
  def custom_method
139
150
  end
140
151
  end
@@ -147,7 +158,7 @@ describe 'Page elements' do
147
158
 
148
159
  context 'neither method or elements defined' do
149
160
  subject do
150
- PageMagic::Element.new(:my_link, :page, type: :link, selector: {text: 'my link'})
161
+ PageMagic::Element.new(:my_link, :page, type: :link, selector: { text: 'my link' })
151
162
  end
152
163
  it 'returns false' do
153
164
  expect(subject.section?).to eq(false)
@@ -166,7 +177,6 @@ describe 'Page elements' do
166
177
  end
167
178
  end
168
179
 
169
-
170
180
  context 'tests coppied in from section' do
171
181
  include_context :webapp
172
182
 
@@ -176,7 +186,6 @@ describe 'Page elements' do
176
186
  end
177
187
 
178
188
  let!(:elements_page) do
179
-
180
189
  Class.new do
181
190
  include PageMagic
182
191
  url '/elements'
@@ -206,6 +215,4 @@ describe 'Page elements' do
206
215
  @elements_page.form_by_css.link_in_form.visible?.should be_true
207
216
  end
208
217
  end
209
-
210
-
211
218
  end
@@ -1,10 +1,10 @@
1
1
  module Capybara
2
2
  module Selenium
3
3
  class Driver
4
- def == driver
5
- driver.respond_to?(:options) && self.options == driver.options &&
6
- driver.respond_to?(:app) && self.app == driver.app
4
+ def ==(driver)
5
+ driver.respond_to?(:options) && options == driver.options &&
6
+ driver.respond_to?(:app) && app == driver.app
7
7
  end
8
8
  end
9
9
  end
10
- end
10
+ end
@@ -1,11 +1,2 @@
1
1
  describe 'member methods' do
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
- end
2
+ end
@@ -2,15 +2,15 @@ require 'page_magic/driver'
2
2
 
3
3
  module PageMagic
4
4
  describe Driver do
5
-
6
5
  let(:driver_class) do
7
6
  Class.new do
8
7
  attr_reader :rack_app, :options
9
- def initialize rack_app, options
8
+ def initialize(rack_app, options)
10
9
  @rack_app = rack_app
11
10
  @options = options
12
11
  end
13
- def == driver
12
+
13
+ def ==(driver)
14
14
  driver.rack_app == rack_app && driver.options == options
15
15
  end
16
16
  end
@@ -40,8 +40,8 @@ module PageMagic
40
40
  end
41
41
 
42
42
  it 'creates an instance of the supplied driver' do
43
- expect(subject.build(:rack_app,browser: :custom_browser, options: {})).to eq(driver_class.new(:rack_app, {browser: :custom_browser}))
43
+ expect(subject.build(:rack_app, browser: :custom_browser, options: {})).to eq(driver_class.new(:rack_app, browser: :custom_browser))
44
44
  end
45
45
  end
46
46
  end
47
- end
47
+ end
@@ -2,9 +2,10 @@ require 'page_magic/drivers/poltergeist'
2
2
  module PageMagic
3
3
  class Drivers
4
4
  describe Poltergeist do
5
- it %q{is capybara's poltergeist driver} do
6
- expect(described_class.build(:app, browser: :poltergeist, options:{})).to be_a(Capybara::Poltergeist::Driver)
5
+ it "is capybara's poltergeist driver" do
6
+ driver = described_class.build(:app, browser: :poltergeist, options: {})
7
+ expect(driver).to be_a(Capybara::Poltergeist::Driver)
7
8
  end
8
9
  end
9
10
  end
10
- end
11
+ end
@@ -2,9 +2,10 @@ require 'page_magic/drivers/rack_test'
2
2
  module PageMagic
3
3
  class Drivers
4
4
  describe RackTest do
5
- it %q{is capybara's rack test driver} do
6
- expect(described_class.build(:app, browser: :rack_test, options:{})).to be_a(Capybara::RackTest::Driver)
5
+ it "is capybara's rack test driver" do
6
+ driver = described_class.build(:app, browser: :rack_test, options: {})
7
+ expect(driver).to be_a(Capybara::RackTest::Driver)
7
8
  end
8
9
  end
9
10
  end
10
- end
11
+ end
@@ -3,8 +3,9 @@ module PageMagic
3
3
  class Drivers
4
4
  describe Selenium do
5
5
  it 'is selenium' do
6
- expect(described_class.build(:app, browser: :selenium, options:{})).to be_a(Capybara::Selenium::Driver)
6
+ driver = described_class.build(:app, browser: :selenium, options: {})
7
+ expect(driver).to be_a(Capybara::Selenium::Driver)
7
8
  end
8
9
  end
9
10
  end
10
- end
11
+ end
@@ -1,7 +1,6 @@
1
1
  require 'page_magic/drivers'
2
2
 
3
3
  module PageMagic
4
-
5
4
  describe Drivers do
6
5
  subject { described_class.new }
7
6
  let(:expected_driver) { Driver.new(:browser_driver) }
@@ -22,8 +21,7 @@ module PageMagic
22
21
  describe '#load' do
23
22
  include_context :files
24
23
  it 'loads the drivers in the specified path' do
25
-
26
- class_definition=<<-RUBY
24
+ class_definition = <<-RUBY
27
25
  class CustomDriver;
28
26
  def self.support? browser
29
27
  true
@@ -31,11 +29,11 @@ module PageMagic
31
29
  end
32
30
  RUBY
33
31
 
34
- File.write("#{scratch_dir}/custom_driver.rb", class_definition )
32
+ File.write("#{scratch_dir}/custom_driver.rb", class_definition)
35
33
 
36
34
  subject.load(scratch_dir)
37
35
  expect(subject.find(:custom_browser)).to be(::CustomDriver)
38
36
  end
39
37
  end
40
38
  end
41
- end
39
+ end