symbiont 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,71 +0,0 @@
1
- shared_examples_for 'element generator for' do |elements|
2
- elements.each do |element|
3
-
4
- context "#{element} on the watir-webdriver platform" do
5
- it "will locate a specific #{element} with a single locator" do
6
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
7
- expect(watir_definition.send "#{element}").to eq(watir_element)
8
- end
9
-
10
- it "will locate a specific #{element} with a proc" do
11
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
12
- expect(watir_definition.send "#{element}_proc").to eq(watir_element)
13
- end
14
-
15
- it "will locate a specific #{element} with a lambda" do
16
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
17
- expect(watir_definition.send "#{element}_lambda").to eq(watir_element)
18
- end
19
-
20
- it "will locate a specific #{element} with a block" do
21
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
22
- expect(watir_definition.send "#{element}_block", element).to eq(watir_element)
23
- end
24
-
25
- it "will locate a specific #{element} with a block and argument" do
26
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
27
- expect(watir_definition.send "#{element}_block_arg", element).to eq(watir_element)
28
- end
29
- end
30
-
31
- end
32
- end
33
-
34
- shared_examples_for 'element set generator for' do |elements|
35
- elements.each do |element|
36
- it "will set a value on a specific #{element} with a single locator" do
37
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
38
- expect(watir_element).to receive(:set).with('value')
39
- watir_definition.send "#{element}=", 'value'
40
- end
41
-
42
- it "will attempt to send keypresses if a #{element} cannot be set" do
43
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
44
- allow(watir_element).to receive(:respond_to?).with(:set).and_return(false)
45
- expect(watir_element).to receive(:send_keys).with('value')
46
- watir_definition.send "#{element}=", 'value'
47
- end
48
-
49
- it "will set a value on a specific #{element} with a proc" do
50
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
51
- expect(watir_element).to receive(:set).with('value')
52
- watir_definition.send "#{element}_proc=", 'value'
53
- end
54
- end
55
- end
56
-
57
- shared_examples_for 'element select generator for' do |elements|
58
- elements.each do |element|
59
- it "will set a value on a specific #{element} with a single locator" do
60
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
61
- expect(watir_element).to receive(:select).with('value')
62
- watir_definition.send "#{element}=", 'value'
63
- end
64
-
65
- it "will set a value on a specific #{element} with a proc" do
66
- expect(watir_browser).to receive(element).with(id: element).and_return(watir_element)
67
- expect(watir_element).to receive(:select).with('value')
68
- watir_definition.send "#{element}_proc=", 'value'
69
- end
70
- end
71
- end
@@ -1,3 +0,0 @@
1
- valid:
2
- bank: BankCo
3
- name: Jeff
@@ -1,8 +0,0 @@
1
- require 'watir-webdriver'
2
-
3
- def mock_browser_for_watir
4
- watir_browser = double('watir')
5
- allow(watir_browser).to receive(:is_a?).with(Watir::Browser).and_return(true)
6
- allow(watir_browser).to receive(:is_a?).with(Selenium::WebDriver::Driver).and_return(false)
7
- watir_browser
8
- end
@@ -1,36 +0,0 @@
1
- class PageWithMissingAssertions
2
- attach Symbiont
3
- end
4
-
5
- class TestFactory
6
- include Symbiont::Factory
7
- attr_accessor :browser
8
- attr_accessor :page
9
- end
10
-
11
- class ValidPageNewContext
12
- attach Symbiont
13
- end
14
-
15
- class ValidPage
16
- attach Symbiont
17
-
18
- url_is 'http://localhost:9292'
19
- url_matches /:\d{4}/
20
- title_is 'Dialogic'
21
-
22
- %w(text_field button file_field textarea select_list checkbox).each do |element|
23
- send element, :"#{element}", id: element
24
-
25
- send element, :"#{element}_proc", proc { browser.send(element, id: element) }
26
- send element, :"#{element}_lambda", -> { browser.send(element, id: element) }
27
-
28
- send element, :"#{element}_block" do
29
- browser.send(element, id: element)
30
- end
31
-
32
- send element, :"#{element}_block_arg" do |id|
33
- browser.send(element, id: id)
34
- end
35
- end
36
- end
data/spec/spec_helper.rb DELETED
@@ -1,49 +0,0 @@
1
- require 'simplecov'
2
- require 'coveralls'
3
-
4
- Coveralls.wear!
5
-
6
- SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
7
- SimpleCov::Formatter::HTMLFormatter,
8
- Coveralls::SimpleCov::Formatter
9
- ]
10
-
11
- SimpleCov.start do
12
- add_filter '/spec'
13
- coverage_dir "#{SimpleCov.root}/spec/reports/coverage"
14
- minimum_coverage 90
15
- maximum_coverage_drop 5
16
- end
17
-
18
- require 'symbiont'
19
-
20
- RSpec.configure do |config|
21
- original_stderr = $stderr
22
- original_stdout = $stdout
23
- config.before(:all) do
24
- $stderr = File.new(File.join(File.dirname(__FILE__), 'reports/symbiont-output.txt'), 'w')
25
- $stdout = File.new(File.join(File.dirname(__FILE__), 'reports/symbiont-output.txt'), 'w')
26
- end
27
- config.after(:all) do
28
- $stderr = original_stderr
29
- $stdout = original_stdout
30
- end
31
-
32
- config.alias_it_should_behave_like_to :provides_an, 'when providing an'
33
-
34
- shared_context :page do
35
- let(:watir_browser) { mock_browser_for_watir }
36
- let(:watir_definition) { ValidPage.new(watir_browser) }
37
-
38
- let(:empty_definition) { PageWithMissingAssertions.new(watir_browser) }
39
- let(:no_driver_definition) { ValidPage.new(:unknown) }
40
- end
41
-
42
- shared_context :element do
43
- let(:watir_element) { double('element') }
44
- end
45
- end
46
-
47
- Dir['spec/fixtures/**/*.rb'].each do |file|
48
- require file.sub(/spec\//, '')
49
- end
@@ -1,88 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Symbiont::Assertion do
4
- context 'a definition with valid assertions' do
5
- it 'will allow a url to be asserted' do
6
- expect {
7
- class PageWithUrl
8
- attach Symbiont
9
- url_is 'http://localhost:9292'
10
- end
11
- }.not_to raise_error
12
- end
13
-
14
- it 'will allow a url match pattern to be asserted' do
15
- expect {
16
- class PageWithUrlMatches
17
- attach Symbiont
18
- url_matches /localhost/
19
- end
20
- }.not_to raise_error
21
- end
22
-
23
- it 'will allow a title to be asserted' do
24
- expect {
25
- class PageWithTitle
26
- attach Symbiont
27
- title_is 'Dialogic'
28
- end
29
- }.not_to raise_error
30
- end
31
- end
32
-
33
- context 'a definition with missing assertion values' do
34
- it 'will indicate a missing url_is assertion value' do
35
- expect {
36
- class PageWithMissingUrl
37
- attach Symbiont
38
- url_is
39
- end
40
- }.to raise_error Symbiont::Errors::NoUrlForDefinition
41
- end
42
-
43
- it 'will indicate an empty url_is assertion value' do
44
- expect {
45
- class PageWithEmptyUrl
46
- attach Symbiont
47
- url_is ''
48
- end
49
- }.to raise_error Symbiont::Errors::NoUrlForDefinition
50
- end
51
-
52
- it 'will indicate a missing url_matches assertion value' do
53
- expect {
54
- class PageWithMissingUrlMatch
55
- attach Symbiont
56
- url_matches
57
- end
58
- }.to raise_error Symbiont::Errors::NoUrlMatchForDefinition
59
- end
60
-
61
- it 'will indicate an empty url_matches assertion value' do
62
- expect {
63
- class PageWithEmptyUrlMatch
64
- attach Symbiont
65
- url_matches ''
66
- end
67
- }.to raise_error Symbiont::Errors::NoUrlMatchForDefinition
68
- end
69
-
70
- it 'will indicate a missing title_is assertion value' do
71
- expect {
72
- class PageWithMissingTitle
73
- attach Symbiont
74
- title_is
75
- end
76
- }.to raise_error Symbiont::Errors::NoTitleForDefinition
77
- end
78
-
79
- it 'will indicate an empty title_is assertion value' do
80
- expect {
81
- class PageWithEmptyTitle
82
- attach Symbiont
83
- title_is ''
84
- end
85
- }.to raise_error Symbiont::Errors::NoTitleForDefinition
86
- end
87
- end
88
- end
@@ -1,38 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Symbiont::DataBuilder do
4
- include_context :page
5
-
6
- context 'when configuring the data path' do
7
- it 'will default to a directory named data' do
8
- expect(Symbiont::DataBuilder.data_path).to eq('data')
9
- end
10
-
11
- it 'will store a data source directory' do
12
- Symbiont::DataBuilder.data_path = 'config/data'
13
- expect(Symbiont::DataBuilder.data_path).to eq('config/data')
14
- end
15
- end
16
-
17
- context 'when reading data files' do
18
- it 'will read files from the data path directory' do
19
- Symbiont::DataBuilder.data_path = 'config/data'
20
- expect(YAML).to receive(:load_file).with('config/data/test_data_file').and_return({})
21
- Symbiont::DataBuilder.load('test_data_file')
22
- end
23
-
24
- it 'will load the correct data file from the default' do
25
- Symbiont::DataBuilder.data_path = 'spec/fixtures'
26
- data = watir_definition.data_about 'valid'
27
- expect(data.keys.sort).to eq(['bank','name'])
28
- end
29
- end
30
-
31
- context 'when provided a file' do
32
- it 'will load the correct data file and retrieve data' do
33
- Symbiont::DataBuilder.data_path = 'spec/fixtures'
34
- data = watir_definition.data_about 'mock_data/valid'
35
- expect(data.keys.sort).to eq(['bank','name'])
36
- end
37
- end
38
- end
@@ -1,19 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Symbiont::DataSetter do
4
- include_context :page
5
- include_context :element
6
-
7
- it 'will attempt to utilize data' do
8
- expect(watir_element).to receive(:visible?).and_return(true)
9
- expect(watir_element).to receive(:enabled?).and_return(true)
10
- expect(watir_browser).to receive(:text_field).with({:id => 'text_field'}).exactly(2).times.and_return(watir_element)
11
- watir_definition.using(:text_field => 'works')
12
- end
13
-
14
- it 'will allow methods to be chained' do
15
- expect('testing'.call_method_chain("reverse.capitalize")).to eq('Gnitset')
16
- expect('testing'.call_method_chain("start_with?", 't')).to be_truthy
17
- end
18
-
19
- end
@@ -1,52 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe 'Symbiont Driver' do
4
- include_context :page
5
-
6
- context 'a symbiont driver is requested' do
7
- it 'will provide the default browser' do
8
- allow(Watir::Browser).to receive(:new).and_return(Symbiont.driver)
9
- symbiont_browser
10
- end
11
- end
12
- end
13
-
14
- describe 'Page Definitions' do
15
- include_context :page
16
-
17
- context 'a definition using watir-webdriver' do
18
- context 'with a url_is assertion' do
19
- it 'will call the driver navigation method when viewed' do
20
- expect(watir_browser).to receive(:goto).twice
21
- expect { watir_definition.view }.not_to raise_error
22
- watir_definition.view
23
- end
24
- end
25
-
26
- context 'with a url_matches assertion' do
27
- it 'will verify a url if the url_matches assertion has been set' do
28
- expect(watir_browser).to receive(:url).twice.and_return('http://localhost:9292')
29
- expect { watir_definition.has_correct_url? }.not_to raise_error
30
- expect(watir_definition.has_correct_url?).to be_truthy
31
- end
32
-
33
- it 'will not verify a url if the url does not match the url_matches assertion' do
34
- expect(watir_browser).to receive(:url).and_return('http://127.0.0.1')
35
- expect(watir_definition.has_correct_url?).to be_falsey
36
- end
37
- end
38
-
39
- context 'with a title_is assertion' do
40
- it 'will verify a title if the title_is assertion has been set' do
41
- expect(watir_browser).to receive(:title).twice.and_return 'Dialogic'
42
- expect { watir_definition.has_correct_title? }.not_to raise_error
43
- expect(watir_definition.has_correct_title?).to be_truthy
44
- end
45
-
46
- it 'will not verify a title if the title does not match the title_is assertion' do
47
- expect(watir_browser).to receive(:title).and_return('Page Title')
48
- expect(watir_definition.has_correct_title?).to be_falsey
49
- end
50
- end
51
- end
52
- end
@@ -1,10 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Symbiont::Element do
4
- include_context :page
5
- include_context :element
6
-
7
- provides_an 'element generator for', %w{text_field button}
8
- provides_an 'element set generator for', %w{text_field file_field textarea}
9
- provides_an 'element select generator for', %w{select_list}
10
- end
@@ -1,117 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Symbiont::Factory do
4
- before(:each) do
5
- @factory = TestFactory.new
6
- @factory.browser = mock_browser_for_watir
7
- end
8
-
9
- it 'will create a new definition and view it, using on_view' do
10
- expect(@factory.browser).to receive(:goto)
11
- @factory.on_view(ValidPage)
12
- end
13
-
14
- it 'will create a new definition and view it, using on_view and a block' do
15
- expect(@factory.browser).to receive(:goto)
16
- @factory.on_view ValidPage do |page|
17
- expect(page).to be_instance_of ValidPage
18
- end
19
- end
20
-
21
- it 'will create a new definition, using on and a block with a parameter' do
22
- expect(@factory.browser).not_to receive(:goto)
23
- @factory.on ValidPage do |page|
24
- expect(page).to be_instance_of ValidPage
25
- end
26
- end
27
-
28
- it 'will create a new definition, using on and a block without a parameter' do
29
- expect(@factory.browser).not_to receive(:goto)
30
- @factory.on ValidPage do
31
- expect(@factory.page).to be_instance_of ValidPage
32
- end
33
- end
34
-
35
- it 'will use an existing object reference with on' do
36
- expect(@factory.browser).to receive(:goto)
37
- obj1 = @factory.on_view ValidPage
38
- obj2 = @factory.on ValidPage
39
- expect(obj1).to be(obj2)
40
- end
41
-
42
- it 'will not use an existing object reference with on_new' do
43
- expect(@factory.browser).to receive(:goto)
44
- obj1 = @factory.on_view ValidPage
45
- obj2 = @factory.on_new ValidPage
46
- expect(obj1).not_to be(obj2)
47
- end
48
-
49
- it 'will create a new definition, using on_set' do
50
- expect(@factory.browser).not_to receive(:goto)
51
- @factory.on_set ValidPage do |page|
52
- expect(page).to be_instance_of ValidPage
53
- end
54
- end
55
-
56
- it 'will set a reference to be used outside the factory' do
57
- page = @factory.on ValidPage
58
- current = @factory.instance_variable_get '@page'
59
- expect(current).to be(page)
60
-
61
- current = @factory.instance_variable_get '@model'
62
- expect(current).to be(page)
63
- end
64
-
65
- it 'will use an existing object reference with on_set' do
66
- expect(@factory.browser).to receive(:goto)
67
- obj1 = @factory.on_view ValidPage
68
- obj2 = @factory.on_set ValidPage
69
- expect(obj1).to be(obj2)
70
- end
71
-
72
- it 'will use an existing context using on after using on_set' do
73
- @factory.on_set ValidPage do |page|
74
- @obj1 = page # obj1 is CONTEXT, ACTIVE
75
- end
76
-
77
- @factory.on ValidPageNewContext do |page|
78
- @obj2 = page # obj2 is ACTIVE
79
- end
80
-
81
- @factory.on ValidPage do |page|
82
- @obj3 = page # obj1 CONTEXT is still set
83
- end
84
-
85
- expect(@obj1).not_to be(@obj2)
86
- expect(@obj1).to be(@obj3)
87
- end
88
-
89
- it 'will use an existing context using on_new of a different class after using on_set' do
90
- @factory.on_set ValidPage do |page|
91
- @obj1 = page # obj1 is CONTEXT, ACTIVE
92
- end
93
-
94
- @factory.on_new ValidPageNewContext do |page|
95
- @obj2 = page # ACTIVE nil, obj1 no longer ACTIVE, but is CONTEXT
96
- end
97
-
98
- @factory.on ValidPage do |page|
99
- @obj3 = page # CONTEXT is set to obj1
100
- end
101
-
102
- expect(@obj1).not_to be(@obj2)
103
- expect(@obj1).to be (@obj3)
104
- end
105
-
106
- it 'will clear existing context using on_new after using on_set' do
107
- @factory.on_set ValidPage do |page|
108
- @obj1 = page # obj1 is CONTEXT, ACTIVE
109
- end
110
-
111
- @factory.on_new ValidPage do |page|
112
- @obj2 = page # ACTIVE nil; since page is same, CONTEXT is nil
113
- end
114
-
115
- expect(@obj1).not_to be(@obj2)
116
- end
117
- end
@@ -1,177 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Symbiont::Page do
4
- include_context :page
5
- include_context :element
6
-
7
- context 'a page definition being used - url' do
8
- it 'will establish no default url' do
9
- expect(empty_definition.asserted_url).to be_nil
10
- end
11
-
12
- it 'will establish a page url with the url_is assertion' do
13
- expect(watir_definition).to respond_to :asserted_url
14
- expect(watir_definition.asserted_url).to eq('http://localhost:9292')
15
- end
16
-
17
- it 'will not view a page if the url_is assertion has not been set' do
18
- expect { empty_definition.view }.to raise_error Symbiont::Errors::NoUrlForDefinition
19
- end
20
- end
21
-
22
- context 'a page definition being used - url match' do
23
- it 'will establish no default url matcher' do
24
- expect(empty_definition.url_match).to be_nil
25
- end
26
-
27
- it 'will establish a url matcher with the url_matches assertion' do
28
- expect(watir_definition).to respond_to :url_match
29
- expect(watir_definition.url_match).to eq(/:\d{4}/)
30
- end
31
-
32
- it 'will not verify a url if the url_matches assertion has not been set' do
33
- expect { empty_definition.has_correct_url? }.to raise_error Symbiont::Errors::NoUrlMatchForDefinition
34
- end
35
- end
36
-
37
- context 'a page definition being used - title' do
38
- it 'will establish no default title' do
39
- expect(empty_definition.asserted_title).to be_nil
40
- end
41
-
42
- it 'will establish a page title with the title_is assertion' do
43
- expect(watir_definition).to respond_to :asserted_title
44
- expect(watir_definition.asserted_title).to eq('Dialogic')
45
- end
46
-
47
- it 'will not verify a title if the title_is assertion has not been set' do
48
- expect { empty_definition.has_correct_title? }.to raise_error Symbiont::Errors::NoTitleForDefinition
49
- end
50
- end
51
-
52
- context 'an instance of a page definition' do
53
- it 'will be able to verify a page' do
54
- expect(watir_browser).to receive(:title).and_return('Dialogic')
55
- expect(watir_browser).to receive(:url).and_return('http://localhost:9292')
56
- watir_definition.verified?
57
- end
58
-
59
- it 'will be able to get the active url' do
60
- expect(watir_browser).to receive(:url).exactly(3).times.and_return('http://localhost:9292')
61
- expect(watir_definition).to respond_to :url
62
- expect(watir_definition.current_url).to eq('http://localhost:9292')
63
- expect(watir_definition.page_url).to eq('http://localhost:9292')
64
- expect(watir_definition.url).to eq('http://localhost:9292')
65
- end
66
-
67
- it 'will be able to get the markup of a page' do
68
- expect(watir_browser).to receive(:html).exactly(3).times.and_return('<h1>Page Section</h1>')
69
- expect(watir_definition.markup).to eq('<h1>Page Section</h1>')
70
- expect(watir_definition.html).to eq('<h1>Page Section</h1>')
71
- expect(watir_definition.html).to include('<h1>Page')
72
- end
73
-
74
- it 'will be able to get the text of a page' do
75
- expect(watir_browser).to receive(:text).exactly(3).times.and_return('some page text')
76
- expect(watir_definition.page_text).to eq('some page text')
77
- expect(watir_definition.text).to eq('some page text')
78
- expect(watir_definition.text).to include('page text')
79
- end
80
-
81
- it 'will be able to get the title of a page' do
82
- expect(watir_browser).to receive(:title).exactly(3).times.and_return('Page Title')
83
- expect(watir_definition.page_title).to eq('Page Title')
84
- expect(watir_definition.title).to eq('Page Title')
85
- expect(watir_definition.title).to include('Title')
86
- end
87
-
88
- it 'will navigate to a specific url' do
89
- expect(watir_browser).to receive(:goto).exactly(3).times.with('http://localhost:9292')
90
- watir_definition.visit('http://localhost:9292')
91
- watir_definition.navigate_to('http://localhost:9292')
92
- watir_definition.goto('http://localhost:9292')
93
- end
94
-
95
- it 'will be able to get a screenshot of the current page' do
96
- expect(watir_browser).to receive(:wd).twice.and_return(watir_browser)
97
- expect(watir_browser).to receive(:save_screenshot).twice
98
- watir_definition.screenshot('testing.png')
99
- watir_definition.save_screenshot('testing.png')
100
- end
101
-
102
- it 'will run a script against the browser' do
103
- expect(watir_browser).to receive(:execute_script).twice.and_return('input')
104
- expect(watir_definition.run_script('return document.activeElement')).to eq('input')
105
- expect(watir_definition.execute_script('return document.activeElement')).to eq('input')
106
- end
107
-
108
- it 'will run a script, with arguments, against the browser' do
109
- expect(watir_browser).to receive(:execute_script).with('return arguments[0].innerHTML', watir_element).and_return('testing')
110
- expect(watir_definition.execute_script('return arguments[0].innerHTML', watir_element)).to eq('testing')
111
- end
112
-
113
- it 'will be able to get a cookie value' do
114
- cookie = [{:name => 'test', :value => 'cookie', :path => '/'}]
115
- expect(watir_browser).to receive(:cookies).and_return(cookie)
116
- expect(watir_definition.get_cookie('test')).to eq('cookie')
117
- end
118
-
119
- it 'will return nothing if a cookie value is not found' do
120
- cookie = [{:name => 'test', :value =>'cookie', :path => '/'}]
121
- expect(watir_browser).to receive(:cookies).and_return(nil)
122
- expect(watir_definition.get_cookie('testing')).to be_nil
123
- end
124
-
125
- it 'will be able to clear all cookies from the browser' do
126
- expect(watir_browser).to receive(:cookies).twice.and_return(watir_browser)
127
- expect(watir_browser).to receive(:clear).twice
128
- watir_definition.remove_cookies
129
- watir_definition.clear_cookies
130
- end
131
-
132
- it 'will be able to refresh the page' do
133
- expect(watir_browser).to receive(:refresh).twice.and_return(watir_browser)
134
- watir_definition.refresh_page
135
- watir_definition.refresh
136
- end
137
-
138
- it 'will be able to handle JavaScript alert dialogs' do
139
- expect(watir_browser).to receive(:alert).exactly(3).times.and_return(watir_browser)
140
- expect(watir_browser).to receive(:exists?).and_return(true)
141
- expect(watir_browser).to receive(:text)
142
- expect(watir_browser).to receive(:ok)
143
- watir_definition.will_alert {}
144
- end
145
-
146
- it 'will be able to handle JavaScript confirmation dialogs' do
147
- expect(watir_browser).to receive(:alert).exactly(3).times.and_return(watir_browser)
148
- expect(watir_browser).to receive(:exists?).and_return(true)
149
- expect(watir_browser).to receive(:text)
150
- expect(watir_browser).to receive(:ok)
151
- watir_definition.will_confirm(true) {}
152
- end
153
-
154
- it 'will be able to handle JavaScript prompt dialogs' do
155
- expect(watir_browser).to receive(:wd).twice.and_return(watir_browser)
156
- expect(watir_browser).to receive(:execute_script).twice
157
- watir_definition.will_prompt('Testing') {}
158
- end
159
-
160
- it 'will be able to attach to a window by using the title' do
161
- allow(watir_browser).to receive(:window).with(:title => /Display\ Results/).and_return(watir_browser)
162
- allow(watir_browser).to receive(:use)
163
- watir_definition.within_window(title: 'Display Results')
164
- end
165
-
166
- it 'will be able to attach to a window by using the url' do
167
- allow(watir_browser).to receive(:window).with(:url => /results\.html/).and_return(watir_browser)
168
- allow(watir_browser).to receive(:use)
169
- watir_definition.within_window(url: 'results.html')
170
- end
171
-
172
- it 'will be able to convert a modal popup to a window' do
173
- allow(watir_browser).to receive(:execute_script)
174
- watir_definition.within_modal {}
175
- end
176
- end
177
- end