commonwatir 3.0.0.rc3 → 3.0.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.
Files changed (64) hide show
  1. data/README +24 -0
  2. data/Rakefile +3 -14
  3. data/commonwatir.gemspec +18 -0
  4. data/lib/watir.rb +1 -14
  5. metadata +19 -131
  6. data/CHANGES +0 -712
  7. data/LICENSE +0 -34
  8. data/README.rdoc +0 -101
  9. data/VERSION +0 -1
  10. data/lib/watir/assertions.rb +0 -44
  11. data/lib/watir/browser.rb +0 -149
  12. data/lib/watir/browsers.rb +0 -13
  13. data/lib/watir/element_extensions.rb +0 -69
  14. data/lib/watir/exceptions.rb +0 -50
  15. data/lib/watir/matches.rb +0 -23
  16. data/lib/watir/options.rb +0 -56
  17. data/lib/watir/testcase.rb +0 -97
  18. data/lib/watir/util.rb +0 -35
  19. data/lib/watir/version.rb +0 -4
  20. data/lib/watir/wait.rb +0 -41
  21. data/lib/watir/wait_helper.rb +0 -12
  22. data/lib/watir/waiter.rb +0 -98
  23. data/unittests/attach_to_existing_window_test.rb +0 -70
  24. data/unittests/browser_test.rb +0 -38
  25. data/unittests/buttons_test.rb +0 -288
  26. data/unittests/dd_test.rb +0 -84
  27. data/unittests/dl_test.rb +0 -82
  28. data/unittests/dt_test.rb +0 -82
  29. data/unittests/element_collections_test.rb +0 -22
  30. data/unittests/element_test.rb +0 -24
  31. data/unittests/em_test.rb +0 -81
  32. data/unittests/form2_test.rb +0 -22
  33. data/unittests/html/blankpage.html +0 -11
  34. data/unittests/html/buttons1.html +0 -40
  35. data/unittests/html/buttons2.html +0 -60
  36. data/unittests/html/definition_lists.html +0 -48
  37. data/unittests/html/elements.html +0 -13
  38. data/unittests/html/emphasis.html +0 -12
  39. data/unittests/html/entertainment_com.html +0 -667
  40. data/unittests/html/frame_buttons.html +0 -4
  41. data/unittests/html/images/button.jpg +0 -0
  42. data/unittests/html/pass.html +0 -10
  43. data/unittests/html/phrase_elements.html +0 -15
  44. data/unittests/html/select_lists.html +0 -18
  45. data/unittests/html/utf8.html +0 -12
  46. data/unittests/html/visibility.html +0 -90
  47. data/unittests/html/wait.html +0 -15
  48. data/unittests/html/watir_unit_tests.css +0 -64
  49. data/unittests/html/whitespace.html +0 -29
  50. data/unittests/options.yml.example +0 -13
  51. data/unittests/select_list_test.rb +0 -19
  52. data/unittests/setup.rb +0 -17
  53. data/unittests/setup/browser.rb +0 -14
  54. data/unittests/setup/capture_io_helper.rb +0 -17
  55. data/unittests/setup/filter.rb +0 -24
  56. data/unittests/setup/lib.rb +0 -22
  57. data/unittests/setup/options.rb +0 -29
  58. data/unittests/setup/testUnitAddons.rb +0 -8
  59. data/unittests/setup/watir-unittest.rb +0 -78
  60. data/unittests/strong_test.rb +0 -46
  61. data/unittests/utf8_test.rb +0 -24
  62. data/unittests/visibility_test.rb +0 -47
  63. data/unittests/wait_test.rb +0 -126
  64. data/unittests/whitespace_test.rb +0 -46
@@ -1,78 +0,0 @@
1
- $htmlRoot = "file:///#{$myDir}/html/"
2
-
3
- module Watir::UnitTest
4
- # navigate the browser to the specified page in unittests/html
5
- def goto_page page
6
- new_url = self.class.html_root + page
7
- browser.goto new_url
8
- end
9
- # navigate the browser to the specified page in unittests/html IF the browser is not already on that page.
10
- def uses_page page # only works with IE
11
- new_url = self.class.html_root + page
12
- browser.goto new_url unless browser.url == new_url
13
- end
14
- def browser
15
- return $browser if $browser && $browser.exists?
16
- $browser = Watir::Browser.new
17
- end
18
- def close_browser
19
- $browser.close if $browser.exists?
20
- end
21
-
22
- def assert_class element, klass
23
- assert_match(Regexp.new(klass, Regexp::IGNORECASE), element.class.to_s, "element class should be #{klass}; got #{element.class}")
24
- end
25
-
26
- @@filter = []
27
- class << self
28
- def filter
29
- @@filter
30
- end
31
- def filter= proc
32
- @@filter = proc
33
- end
34
- # Add a filter that excludes tests matching the provided block
35
- def filter_out &block
36
- @@filter << Proc.new do |test|
37
- block.call(test) ? false : nil
38
- end
39
- end
40
- def filter_out_tests_tagged tag
41
- filter_out do |test|
42
- test.tagged? tag
43
- end
44
- end
45
- end
46
- end
47
-
48
- class Test::Unit::TestCase
49
- include Watir::UnitTest
50
- include Watir::Exception
51
-
52
- class << self
53
- def tags *names
54
- @tags ||= []
55
- @tags += names
56
- end
57
- def tag_method method_name, *tags
58
- self.method_tags[method_name.to_s] = tags
59
- end
60
- def method_tags
61
- @method_tags ||= Hash.new []
62
- end
63
- def html_root
64
- return "file:///#{File.expand_path @html_dir}/" if @html_dir
65
- $htmlRoot
66
- end
67
- def location path
68
- @html_dir = File.join File.dirname(path), 'html'
69
- end
70
- end
71
-
72
- def tagged? tag
73
- self.class.tags.include?(tag) ||
74
- self.class.method_tags[@method_name].include?(tag)
75
- end
76
-
77
- end
78
-
@@ -1,46 +0,0 @@
1
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
2
- require 'unittests/setup'
3
-
4
- class TC_Strong < Test::Unit::TestCase
5
- include Watir::Exception
6
- location __FILE__
7
-
8
- def setup
9
- uses_page "phrase_elements.html"
10
- end
11
-
12
- def test_exists
13
- assert browser.strong(:id, "strong_id").exists?, "Could not find <strong> by :id"
14
- assert browser.strong(:class, "strong_class").exists?, "Could not find <strong> by :class"
15
- assert browser.strong(:xpath, "//strong[@id='strong_id']").exists?, "Could not find <strong> by :xpath"
16
- assert browser.strong(:index, 1).exists?, "Could not find <strong> by :index"
17
- assert browser.strong(:text, /this is a/).exists?, "Could not finr <strong> by :text"
18
- end
19
-
20
- tag_method :test_strong_iterator, :fails_on_ie
21
- def test_strong_iterator
22
- assert_equal(2, browser.strongs.length)
23
- assert_equal("this is a strong", browser.strongs[1].text)
24
-
25
- browser.strongs.each_with_index do |strong, idx|
26
- assert_equal(browser.strong(:index,idx+1).text, strong.text)
27
- assert_equal(browser.strong(:index,idx+1).id, strong.id)
28
- assert_equal(browser.strong(:index,idx+1).class_name , strong.class_name)
29
- assert_equal(browser.strong(:index,idx+1).title, strong.title)
30
- end
31
- end
32
-
33
- tag_method :test_strong_iterator_ie, :fails_on_firefox
34
- def test_strong_iterator_ie
35
- assert_equal(2, browser.strongs.length)
36
- assert_equal("this is a strong", browser.strongs[0].text)
37
-
38
- browser.strongs.each_with_index do |strong, idx|
39
- assert_equal(browser.strong(:index,idx).text, strong.text)
40
- assert_equal(browser.strong(:index,idx).id, strong.id)
41
- assert_equal(browser.strong(:index,idx).class_name , strong.class_name)
42
- assert_equal(browser.strong(:index,idx).title, strong.title)
43
- end
44
- end
45
-
46
- end
@@ -1,24 +0,0 @@
1
- # encoding: utf-8
2
-
3
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
4
- require 'unittests/setup'
5
-
6
- class TC_Utf8 < Test::Unit::TestCase
7
- location __FILE__
8
-
9
- def setup
10
- uses_page "utf8.html"
11
- end
12
-
13
- def test_is_correct_encoding
14
- txt = browser.div(:id, 'utf8_string').text
15
- if RUBY_VERSION =~ /^1\.8/
16
- assert_equal("\303\246\303\270\303\245", txt)
17
- else
18
- assert(txt.force_encoding("UTF-8").valid_encoding?, "#{txt.inspect} is not valid UTF-8")
19
- end
20
- end
21
-
22
- end
23
-
24
-
@@ -1,47 +0,0 @@
1
- # feature tests for Visibility
2
-
3
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
4
- require 'unittests/setup'
5
-
6
- class TC_Visibility < Test::Unit::TestCase
7
- location __FILE__
8
-
9
- def setup
10
- uses_page "visibility.html"
11
- end
12
-
13
- # will check for divs which are visible on the screen (not inline style)
14
- def test_initial_divs
15
- assert_equal(true, browser.div(:id, "div1").visible?)
16
- assert_equal(false, browser.div(:id, "div2").visible?)
17
- assert_equal(false, browser.div(:id, "div3").visible?)
18
- end
19
-
20
- # will check for textfields which are visible on the screen (not inline style)
21
- # if any textfields style displays true, it checks if all the parents are true else displays false
22
- def test_initial_text_fields
23
- assert_equal(true, browser.text_field(:id, "lgnId1").visible?)
24
- assert_equal(false, browser.text_field(:id, "lgnId2").visible?)
25
- assert_equal(false, browser.text_field(:id, "lgnId3").visible?)
26
- end
27
-
28
- # Check if the second div becomes visible (inline visibility test)
29
- def test_make_visible_second_div
30
- browser.link(:id, "div2vis").click
31
- #wait_until { browser.div(:id, "div2").visible? }
32
- assert_equal(true, browser.div(:id, "div2").visible? )
33
- assert_equal(true, browser.text_field(:id, "lgnId2").visible? )
34
- end
35
-
36
- # Check if the second div becomes visible (inline Display block test)
37
- def test_make_display_third_div
38
- browser.link(:id, "div3blk").click
39
- #wait_until { browser.div(:id, "div3").visible? }
40
- assert_equal(true, browser.div(:id, "div3").visible? )
41
- assert_equal(true, browser.text_field(:id, "lgnId3").visible? )
42
- end
43
-
44
- def test_hidden_element
45
- assert_equal(false, browser.hidden(:id, 'hidden-type').visible? )
46
- end
47
- end
@@ -1,126 +0,0 @@
1
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
2
- require 'unittests/setup'
3
-
4
- class Wait < Test::Unit::TestCase
5
- include Watir::Exception
6
- location __FILE__
7
-
8
- def setup
9
- uses_page "wait.html"
10
- browser.refresh
11
- end
12
-
13
- def test_wait_until
14
- div = browser.div(:id => "div1")
15
- assert div.visible?
16
- browser.link(:id => "link1").click
17
-
18
- browser.wait_until(2) {not div.visible?}
19
- assert !div.visible?
20
- end
21
-
22
- def test_wait_until_exception
23
- assert_raises(Watir::Wait::TimeoutError) {browser.wait_until(0.1) {false}}
24
- end
25
-
26
- def test_wait_while
27
- div = browser.div(:id => "div1")
28
- assert div.visible?
29
- browser.link(:id => "link1").click
30
-
31
- browser.wait_while(2) {div.visible?}
32
- assert !div.visible?
33
- end
34
-
35
- def test_wait_while_exception
36
- assert_raises(Watir::Wait::TimeoutError) {browser.wait_while(0.1) {true}}
37
- end
38
-
39
- def test_present?
40
- div = browser.div(:id => "div1")
41
- assert div.exists?
42
- assert div.visible?
43
- assert div.present?
44
-
45
- browser.link(:id => "link1").click
46
- browser.wait_until(2) {!div.visible?}
47
- assert div.exists?
48
- assert !div.visible?
49
- assert !div.present?
50
-
51
- non_existing_div = browser.div(:id => "non-existing")
52
- assert !non_existing_div.exists?
53
- assert_raises(Watir::Exception::UnknownObjectException) {non_existing_div.visible?}
54
- assert !non_existing_div.present?
55
- end
56
-
57
- def test_when_present
58
- browser.link(:id => "link1").click
59
- div = browser.div(:id => "div1")
60
- assert_equal "div1", div.when_present(2).text
61
- assert div.visible?
62
- end
63
-
64
- def test_when_present_block
65
- browser.link(:id => "link1").click
66
- div = browser.div(:id => "div1")
67
- div.when_present(2) do |d|
68
- assert_equal "div1", d.text
69
- end
70
- assert div.visible?
71
- end
72
-
73
- def test_when_present_exceptions
74
- assert_raises(NoMethodError) {browser.div(:id => "div1").when_present(0.1).non_existing_method}
75
- assert_raises(Watir::Wait::TimeoutError) {browser.div(:id => "non-existing").when_present(0.1).text}
76
- end
77
-
78
- def test_when_present_element_id
79
- browser.link(:id => "link1").click
80
- div = browser.div(:id => "div1")
81
- assert_equal "div1", div.when_present(2).id
82
- assert div.visible?
83
- end
84
-
85
- def test_wait_until_present
86
- browser.link(:id => "link1").click
87
-
88
- div = browser.div(:id => "div1")
89
- browser.link(:id => "link1").click
90
- div.wait_until_present(2)
91
- assert div.visible?
92
- end
93
-
94
- def test_wait_until_present_exception
95
- assert_raises(Watir::Wait::TimeoutError) {browser.div(:id => "non-existing").wait_until_present(0.1)}
96
- end
97
-
98
- def test_wait_while_present
99
- div = browser.div(:id => "div1")
100
- browser.link(:id => "link1").click
101
- div.wait_while_present(2)
102
- assert !div.visible?
103
- end
104
-
105
- def test_wait_while_present_exception
106
- assert_raises(Watir::Wait::TimeoutError) {browser.div(:id => "div1").wait_while_present(0.1)}
107
- end
108
-
109
- def test_wait_module_until
110
- div = browser.div(:id => "div1")
111
- assert div.visible?
112
- browser.link(:id => "link1").click
113
-
114
- Watir::Wait.until(2) {not div.visible?}
115
- assert !div.visible?
116
- end
117
-
118
- def test_wait_module_while
119
- div = browser.div(:id => "div1")
120
- assert div.visible?
121
- browser.link(:id => "link1").click
122
-
123
- Watir::Wait.while(2) {div.visible?}
124
- assert !div.visible?
125
- end
126
- end
@@ -1,46 +0,0 @@
1
- # feature tests for white space
2
-
3
- $LOAD_PATH.unshift File.join(File.dirname(__FILE__), '..') unless $SETUP_LOADED
4
- require 'unittests/setup'
5
-
6
- class TC_WhiteSpace < Test::Unit::TestCase
7
- location __FILE__
8
-
9
- def setup
10
- uses_page "whitespace.html"
11
- end
12
-
13
- tag_method :test_text_with_nbsp, :fails_on_ie
14
- def test_text_with_nbsp
15
- assert_equal 'Login', browser.link(:index => 1).text
16
- end
17
-
18
- tag_method :test_text_with_nbsp_ie, :fails_on_firefox
19
- def test_text_with_nbsp_ie
20
- assert_equal 'Login', browser.link(:index => 0).text
21
- end
22
-
23
- def test_nbsp_beginning_and_end
24
- assert browser.link(:text, 'Login').exists?
25
- end
26
-
27
- def test_single_nbsp
28
- assert_equal "Test for nbsp.", browser.span(:id, 'single_nbsp').text
29
- end
30
-
31
- def test_multiple_spaces
32
- assert_equal "Test for multiple spaces.", browser.span(:id, 'multiple_spaces').text
33
- end
34
-
35
- def test_multiple_spaces_access
36
- assert_equal 'multiple_spaces', browser.span(:text, "Test for multiple spaces.").id
37
- end
38
-
39
- def test_space_tab
40
- assert_equal "Test for space and tab.", browser.span(:id, 'space_tab').text
41
- end
42
-
43
- def test_space_w_cr
44
- assert_equal "Test for space and cr.", browser.span(:id, 'space_w_cr').text
45
- end
46
- end