firewatir 1.6.2 → 1.6.5

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 (85) hide show
  1. data/LICENSE +32 -0
  2. data/lib/firewatir.rb +40 -50
  3. data/lib/firewatir/container.rb +491 -534
  4. data/lib/firewatir/document.rb +239 -0
  5. data/lib/firewatir/element.rb +1365 -0
  6. data/lib/firewatir/element_collections.rb +314 -0
  7. data/lib/firewatir/elements/button.rb +15 -0
  8. data/lib/firewatir/elements/file_field.rb +29 -0
  9. data/lib/firewatir/elements/form.rb +40 -0
  10. data/lib/firewatir/elements/frame.rb +55 -0
  11. data/lib/firewatir/elements/hidden.rb +56 -0
  12. data/lib/firewatir/elements/image.rb +139 -0
  13. data/lib/firewatir/elements/input_element.rb +44 -0
  14. data/lib/firewatir/elements/link.rb +76 -0
  15. data/lib/firewatir/elements/non_control_element.rb +53 -0
  16. data/lib/firewatir/elements/non_control_elements.rb +108 -0
  17. data/lib/firewatir/elements/not_used.rb +278 -0
  18. data/lib/firewatir/elements/option.rb +131 -0
  19. data/lib/firewatir/elements/radio_check_common.rb +163 -0
  20. data/lib/firewatir/elements/select_list.rb +188 -0
  21. data/lib/firewatir/elements/table.rb +218 -0
  22. data/lib/firewatir/elements/table_cell.rb +54 -0
  23. data/lib/firewatir/elements/table_row.rb +100 -0
  24. data/lib/firewatir/elements/text_field.rb +218 -0
  25. data/lib/firewatir/exceptions.rb +10 -10
  26. data/lib/firewatir/firefox.rb +1040 -1127
  27. data/lib/firewatir/jssh_socket.rb +101 -0
  28. data/lib/firewatir/version.rb +5 -5
  29. data/unittests/attach_to_new_window_test.rb +49 -42
  30. data/unittests/bug_fixes_test.rb +195 -198
  31. data/unittests/buttons_xpath_test.rb +88 -88
  32. data/unittests/checkbox_test.rb +158 -155
  33. data/unittests/checkbox_xpath_test.rb +107 -107
  34. data/unittests/div_test.rb +275 -276
  35. data/unittests/filefield_test.rb +49 -45
  36. data/unittests/filefield_xpath_test.rb +35 -35
  37. data/unittests/form_test.rb +296 -308
  38. data/unittests/frame_test.rb +159 -152
  39. data/unittests/hidden_test.rb +85 -85
  40. data/unittests/hidden_xpath_test.rb +72 -72
  41. data/unittests/html/blankpage.html +11 -11
  42. data/unittests/html/buttons1.html +61 -61
  43. data/unittests/html/cssTest.html +42 -42
  44. data/unittests/html/div.html +72 -72
  45. data/unittests/html/fileupload.html +45 -45
  46. data/unittests/html/formTest1.html +38 -38
  47. data/unittests/html/forms2.html +45 -45
  48. data/unittests/html/frame_buttons.html +3 -3
  49. data/unittests/html/iframeTest.html +14 -14
  50. data/unittests/html/iframeTest1.html +13 -13
  51. data/unittests/html/iframeTest2.html +5 -5
  52. data/unittests/html/links1.html +42 -42
  53. data/unittests/html/nestedFrames.html +6 -6
  54. data/unittests/html/new_browser.html +1 -0
  55. data/unittests/html/new_browser_popup.html +8 -0
  56. data/unittests/html/pass.html +9 -9
  57. data/unittests/html/pre.html +27 -27
  58. data/unittests/html/redirect.html +10 -10
  59. data/unittests/html/redirect1.html +8 -8
  60. data/unittests/html/redirect2.html +8 -8
  61. data/unittests/html/redirect3.html +8 -8
  62. data/unittests/html/simple_table_columns.html +74 -74
  63. data/unittests/html/table1.html +165 -165
  64. data/unittests/html/textfields1.html +62 -62
  65. data/unittests/images_test.rb +198 -205
  66. data/unittests/images_xpath_test.rb +118 -119
  67. data/unittests/javascript_test.rb +75 -75
  68. data/unittests/links_test.rb +231 -232
  69. data/unittests/links_xpath_test.rb +79 -79
  70. data/unittests/mozilla_all_tests.rb +7 -7
  71. data/unittests/pre_test.rb +75 -76
  72. data/unittests/radios_xpath_test.rb +101 -101
  73. data/unittests/redirect_test.rb +41 -41
  74. data/unittests/selectbox_test.rb +142 -142
  75. data/unittests/selectbox_xpath_test.rb +129 -129
  76. data/unittests/setup.rb +29 -30
  77. data/unittests/table_test.rb +385 -373
  78. data/unittests/table_xpath_test.rb +185 -185
  79. data/unittests/textfields_test.rb +234 -233
  80. data/unittests/textfields_xpath_test.rb +113 -113
  81. metadata +33 -11
  82. data/lib/firewatir/MozillaBaseElement.rb +0 -1863
  83. data/lib/firewatir/htmlelements.rb +0 -1911
  84. data/unittests/iostring.rb +0 -30
  85. data/unittests/iostring_test.rb +0 -48
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head>
3
+ <title>New Browser Launcher</title>
4
+ </head>
5
+ <body>
6
+ PASS
7
+ </body>
8
+ </html>
@@ -1,10 +1,10 @@
1
- <html>
2
- <head>
3
- <title>
4
- Pass Page
5
- </title>
6
- </head>
7
- <body>
8
- PASS
9
- </body>
1
+ <html>
2
+ <head>
3
+ <title>
4
+ Pass Page
5
+ </title>
6
+ </head>
7
+ <body>
8
+ PASS
9
+ </body>
10
10
  </html>
@@ -1,28 +1,28 @@
1
- <html>
2
- <head>
3
- <title>PRE tag tests</title>
4
- </head>
5
- <body>
6
- Pre Tag Test
7
- <br><br>
8
- <pre id='1' name='1'>
9
- This is a simple pre space
10
-
11
- it should work well
12
-
13
- just making sure
14
- </pre>
15
- <hr>
16
- <pre id='2' name='2'>
17
- <blockquote>
18
- A second block
19
- good to test with
20
- </blockquote>
21
- </pre>
22
- <hr>
23
- <pre id='3' name='3'>
24
- this is the last block and it should
25
- continue to work no matter what
26
- </pre>
27
- </body>
1
+ <html>
2
+ <head>
3
+ <title>PRE tag tests</title>
4
+ </head>
5
+ <body>
6
+ Pre Tag Test
7
+ <br><br>
8
+ <pre id='1' name='1'>
9
+ This is a simple pre space
10
+
11
+ it should work well
12
+
13
+ just making sure
14
+ </pre>
15
+ <hr>
16
+ <pre id='2' name='2'>
17
+ <blockquote>
18
+ A second block
19
+ good to test with
20
+ </blockquote>
21
+ </pre>
22
+ <hr>
23
+ <pre id='3' name='3'>
24
+ this is the last block and it should
25
+ continue to work no matter what
26
+ </pre>
27
+ </body>
28
28
  </html>
@@ -1,10 +1,10 @@
1
- <html>
2
- <head>
3
- <title>Firewatir redirect</title>
4
- <meta content="2;div.html">
5
- <meta content="2;div.html">
6
- <meta content="2;div.html">
7
- <meta name="test" content="2;div.html">
8
- <meta http-equiv="refresh" content="2;div.html">
9
- </head>
10
- <body>Transferring to Divs page</body></html>
1
+ <html>
2
+ <head>
3
+ <title>Firewatir redirect</title>
4
+ <meta content="2;div.html">
5
+ <meta content="2;div.html">
6
+ <meta content="2;div.html">
7
+ <meta name="test" content="2;div.html">
8
+ <meta http-equiv="refresh" content="2;div.html">
9
+ </head>
10
+ <body>Transferring to Divs page</body></html>
@@ -1,9 +1,9 @@
1
- <html>
2
- <head>
3
- <title>Firewatir redirect</title>
4
- <meta content="2;div.html">
5
- <meta content="2;div.html">
6
- <meta name="test" content="2;div.html">
7
- <meta http-equiv="refresh" content="5;redirect2.html">
8
- </head>
1
+ <html>
2
+ <head>
3
+ <title>Firewatir redirect</title>
4
+ <meta content="2;div.html">
5
+ <meta content="2;div.html">
6
+ <meta name="test" content="2;div.html">
7
+ <meta http-equiv="refresh" content="5;redirect2.html">
8
+ </head>
9
9
  <body>Transferring to redirect2.html for testing multiple redirects.</body></html>
@@ -1,9 +1,9 @@
1
- <html>
2
- <head>
3
- <title>Firewatir redirect</title>
4
- <meta content="2;div.html">
5
- <meta content="2;div.html">
6
- <meta content="2;div.html">
7
- <meta http-equiv="refresh" content="2;redirect3.html">
8
- </head>
1
+ <html>
2
+ <head>
3
+ <title>Firewatir redirect</title>
4
+ <meta content="2;div.html">
5
+ <meta content="2;div.html">
6
+ <meta content="2;div.html">
7
+ <meta http-equiv="refresh" content="2;redirect3.html">
8
+ </head>
9
9
  <body>Transferring to redirect3.html for testing multiple redirect.</body></html>
@@ -1,9 +1,9 @@
1
- <html>
2
- <head>
3
- <title>Firewatir redirect</title>
4
- <meta content="2;div.html">
5
- <meta content="2;div.html">
6
- <meta content="2;div.html">
7
- <meta http-equiv="refresh" content="2;div.html">
8
- </head>
1
+ <html>
2
+ <head>
3
+ <title>Firewatir redirect</title>
4
+ <meta content="2;div.html">
5
+ <meta content="2;div.html">
6
+ <meta content="2;div.html">
7
+ <meta http-equiv="refresh" content="2;div.html">
8
+ </head>
9
9
  <body>Transferring to div.html for testing multiple redirect.</body></html>
@@ -1,74 +1,74 @@
1
- <html>
2
- <head>
3
- <title>Test page for testing column value extraction </title>
4
- </head>
5
- <body>
6
- CVS Revision: "$Revision: 1.0 $"
7
- <br>
8
- <br>
9
- <b>Test page for testing column value extraction</b>
10
- <br>
11
- <br>
12
- Single Column
13
- <table border="1">
14
- <tr>
15
- <td>R1C1</td>
16
- </tr>
17
- <tr>
18
- <td>R2C1</td>
19
- </tr>
20
- <tr>
21
- <td>R3C1</td>
22
- </tr>
23
- </table>
24
- <br>
25
- Multiple Column
26
- <table border="1">
27
- <tr>
28
- <td>R1C1</td>
29
- <td>R1C2</td>
30
- <td>R1C3</td>
31
- </tr>
32
- <tr>
33
- <td>R2C1</td>
34
- <td>R2C2</td>
35
- <td>R2C3</td>
36
- </tr>
37
- <tr>
38
- <td>R3C1</td>
39
- <td>R3C2</td>
40
- <td>R3C3</td>
41
- </tr>
42
- </table>
43
- <br>
44
- Multiple Column With Jagged ColSpan
45
- <table border="1">
46
- <tr>
47
- <td>R1C1</td>
48
- <td>R1C2</td>
49
- <td>R1C3</td>
50
- </tr>
51
- <tr>
52
- <td colspan="2">R2C1</td>
53
- <td>R2C2</td>
54
- </tr>
55
- <tr>
56
- <td>R3C1</td>
57
- <td>R3C2</td>
58
- <td>R3C3</td>
59
- </tr>
60
- <tr>
61
- <td colspan="3">R4C1</td>
62
- </tr>
63
- <tr>
64
- <td rowspan="2">R5C1</td>
65
- <td>R5C2</td>
66
- <td>R5C3</td>
67
- </tr>
68
- <tr>
69
- <td>R6C2</td>
70
- <td>R6C3</td>
71
- </tr>
72
- </table>
73
- </body>
74
- </html>
1
+ <html>
2
+ <head>
3
+ <title>Test page for testing column value extraction </title>
4
+ </head>
5
+ <body>
6
+ CVS Revision: "$Revision: 1.0 $"
7
+ <br>
8
+ <br>
9
+ <b>Test page for testing column value extraction</b>
10
+ <br>
11
+ <br>
12
+ Single Column
13
+ <table border="1">
14
+ <tr>
15
+ <td>R1C1</td>
16
+ </tr>
17
+ <tr>
18
+ <td>R2C1</td>
19
+ </tr>
20
+ <tr>
21
+ <td>R3C1</td>
22
+ </tr>
23
+ </table>
24
+ <br>
25
+ Multiple Column
26
+ <table border="1">
27
+ <tr>
28
+ <td>R1C1</td>
29
+ <td>R1C2</td>
30
+ <td>R1C3</td>
31
+ </tr>
32
+ <tr>
33
+ <td>R2C1</td>
34
+ <td>R2C2</td>
35
+ <td>R2C3</td>
36
+ </tr>
37
+ <tr>
38
+ <td>R3C1</td>
39
+ <td>R3C2</td>
40
+ <td>R3C3</td>
41
+ </tr>
42
+ </table>
43
+ <br>
44
+ Multiple Column With Jagged ColSpan
45
+ <table border="1">
46
+ <tr>
47
+ <td>R1C1</td>
48
+ <td>R1C2</td>
49
+ <td>R1C3</td>
50
+ </tr>
51
+ <tr>
52
+ <td colspan="2">R2C1</td>
53
+ <td>R2C2</td>
54
+ </tr>
55
+ <tr>
56
+ <td>R3C1</td>
57
+ <td>R3C2</td>
58
+ <td>R3C3</td>
59
+ </tr>
60
+ <tr>
61
+ <td colspan="3">R4C1</td>
62
+ </tr>
63
+ <tr>
64
+ <td rowspan="2">R5C1</td>
65
+ <td>R5C2</td>
66
+ <td>R5C3</td>
67
+ </tr>
68
+ <tr>
69
+ <td>R6C2</td>
70
+ <td>R6C3</td>
71
+ </tr>
72
+ </table>
73
+ </body>
74
+ </html>
@@ -1,165 +1,165 @@
1
- <html>
2
- <head>
3
- <title>
4
- Test page for Tables
5
- </title>
6
- </head>
7
- <body>
8
-
9
- <script language=javascript>
10
-
11
- function addRow() {
12
-
13
- var tbody = document.getElementById('t1' ).getElementsByTagName("TBODY")[0];
14
-
15
- // Create a TR
16
- var row = document.createElement("TR");
17
- row.setAttribute("class", "normal");
18
- row.setAttribute("border", "1");
19
-
20
- for (j=0 ; j < document.getElementById('t1' ).rows[1].cells.length; j++) {
21
- // Create a TD
22
- var td = document.createElement("TD");
23
- td.setAttribute("border","1");
24
- td.innerHTML = "New Cell";
25
-
26
- // Assign TD to TR and then assign TR to TBODY
27
- row.appendChild(td);
28
- }
29
- tbody.appendChild(row);
30
- }
31
-
32
- </script>
33
-
34
-
35
- CVS Revision: "$Revision: 1.0 $"
36
- <br>
37
- <br>
38
- <table border="1" id='tblTest' cellspacing="3" cellpadding="6" class="TableClass">
39
- <tr>
40
- <td> Row 1 Col1</td>
41
- <td> Row 1 Col2</td>
42
- </tr> <tr>
43
- <td> Row 2 Col1</td>
44
- <td> Row 2 Col2</td>
45
- </tr>
46
- </table>
47
-
48
-
49
- <br>
50
- <br>
51
- <table id= 't1'>
52
- <Tr><td id=cell_with_colspan colspan=2>Table 2
53
- <tr>
54
- <td id=cell1> Row 1 Col1</td>
55
- <td> Row 1 Col2</td>
56
- </tr>
57
- <tr id=row1>
58
- <td> Row 2 Col1</td>
59
- <td> Row 2 Col2</td>
60
- </tr>
61
- <tr>
62
- <td> Row 3 Col1</td>
63
- <td> Row 3 Col2</td>
64
- </tr>
65
- <tr>
66
- <td> Row 4 Col1</td>
67
- <td> Row 4 Col2</td>
68
- </tr>
69
- </table>
70
- <br>
71
- <input type=button value='add row' onClick='javascript:addRow()'>
72
-
73
- <br>
74
- <br>
75
-
76
- The following has a nested table
77
- <table id='t2' border=1>
78
- <tr>
79
- <td>
80
- cell 1</td>
81
- <td>
82
- cell2</td>
83
- </tr>
84
- <tr>
85
- <td>
86
- <table><tr><td>nest1</td><td>nest2</td></tr></table>
87
- </td>
88
- <td>
89
- Normal
90
- </td>
91
- </tr>
92
- </table>
93
- <br>
94
- This table has 3 body tags.
95
- <br><br>
96
- <table id=body_test>
97
- <THEAD>
98
- <TR>
99
- <TD>
100
- This text is in the THEAD.
101
- </TD>
102
- </TR>
103
- </THEAD>
104
- <TBODY>
105
- <TR>
106
- <TD>
107
- This text is in the FRST TBODY.
108
- </TD>
109
- </TR>
110
- </TBODY>
111
-
112
- <TBODY>
113
- <TR>
114
- <TD>
115
- This text is in the SECOND TBODY.
116
- </TD>
117
- </TR>
118
- <TR>
119
- <TD>
120
- This text is also in the SECOND TBODY.
121
- </TD>
122
- </TR>
123
- </TBODY>
124
-
125
- <TBODY>
126
- <TR>
127
- <TD>
128
- This text is in the THIRD TBODY.
129
- </TD>
130
- </TR>
131
- </TBODY>
132
-
133
- </TABLE>
134
-
135
- <table border="1" id=pic_table>
136
- <tr>
137
- <td> A picture is in the next cell</td>
138
- <td><img src=images/circle.jpg></td>
139
- </tr><tr>
140
- <td> A link is in the next cell</td>
141
- <td><a href = http://google.com>Google</a></td>
142
- </tr>
143
- </table>
144
- Table to string test
145
- <table border="1" id='tblTest1' cellspacing="3" cellpadding="6" class="TableClass">
146
- <tr><td id=cellwithcolspan colspan=2>Table 3</td></tr>
147
- <tr>
148
- <td id=cell1> Row 1 Col1</td>
149
- <td> Row 1 Col2</td>
150
- </tr>
151
- <tr id=row1>
152
- <td> Row 2 Col1</td>
153
- <td> Row 2 Col2</td>
154
- </tr>
155
- <tr>
156
- <td> Row 3 Col1</td>
157
- <td> Row 3 Col2</td>
158
- </tr>
159
- <tr>
160
- <td> Row 4 Col1</td>
161
- <td> Row 4 Col2</td>
162
- </tr>
163
- </table>
164
- </body>
165
- </html>
1
+ <html>
2
+ <head>
3
+ <title>
4
+ Test page for Tables
5
+ </title>
6
+ </head>
7
+ <body>
8
+
9
+ <script language=javascript>
10
+
11
+ function addRow() {
12
+
13
+ var tbody = document.getElementById('t1' ).getElementsByTagName("TBODY")[0];
14
+
15
+ // Create a TR
16
+ var row = document.createElement("TR");
17
+ row.setAttribute("class", "normal");
18
+ row.setAttribute("border", "1");
19
+
20
+ for (j=0 ; j < document.getElementById('t1' ).rows[1].cells.length; j++) {
21
+ // Create a TD
22
+ var td = document.createElement("TD");
23
+ td.setAttribute("border","1");
24
+ td.innerHTML = "New Cell";
25
+
26
+ // Assign TD to TR and then assign TR to TBODY
27
+ row.appendChild(td);
28
+ }
29
+ tbody.appendChild(row);
30
+ }
31
+
32
+ </script>
33
+
34
+
35
+ CVS Revision: "$Revision: 1.0 $"
36
+ <br>
37
+ <br>
38
+ <table border="1" id='tblTest' cellspacing="3" cellpadding="6" class="TableClass">
39
+ <tr>
40
+ <td> Row 1 Col1</td>
41
+ <td> Row 1 Col2</td>
42
+ </tr> <tr>
43
+ <td> Row 2 Col1</td>
44
+ <td> Row 2 Col2</td>
45
+ </tr>
46
+ </table>
47
+
48
+
49
+ <br>
50
+ <br>
51
+ <table id= 't1'>
52
+ <Tr><td id=cell_with_colspan colspan=2>Table 2
53
+ <tr>
54
+ <td id=cell1> Row 1 Col1</td>
55
+ <td> Row 1 Col2</td>
56
+ </tr>
57
+ <tr id=row1>
58
+ <td> Row 2 Col1</td>
59
+ <td> Row 2 Col2</td>
60
+ </tr>
61
+ <tr>
62
+ <td> Row 3 Col1</td>
63
+ <td> Row 3 Col2</td>
64
+ </tr>
65
+ <tr>
66
+ <td> Row 4 Col1</td>
67
+ <td> Row 4 Col2</td>
68
+ </tr>
69
+ </table>
70
+ <br>
71
+ <input type=button value='add row' onClick='javascript:addRow()'>
72
+
73
+ <br>
74
+ <br>
75
+
76
+ The following has a nested table
77
+ <table id='t2' border=1>
78
+ <tr>
79
+ <td>
80
+ cell 1</td>
81
+ <td>
82
+ cell2</td>
83
+ </tr>
84
+ <tr>
85
+ <td>
86
+ <table><tr><td>nest1</td><td>nest2</td></tr></table>
87
+ </td>
88
+ <td>
89
+ Normal
90
+ </td>
91
+ </tr>
92
+ </table>
93
+ <br>
94
+ This table has 3 body tags.
95
+ <br><br>
96
+ <table id=body_test>
97
+ <THEAD>
98
+ <TR>
99
+ <TD>
100
+ This text is in the THEAD.
101
+ </TD>
102
+ </TR>
103
+ </THEAD>
104
+ <TBODY>
105
+ <TR>
106
+ <TD>
107
+ This text is in the FRST TBODY.
108
+ </TD>
109
+ </TR>
110
+ </TBODY>
111
+
112
+ <TBODY>
113
+ <TR>
114
+ <TD>
115
+ This text is in the SECOND TBODY.
116
+ </TD>
117
+ </TR>
118
+ <TR>
119
+ <TD>
120
+ This text is also in the SECOND TBODY.
121
+ </TD>
122
+ </TR>
123
+ </TBODY>
124
+
125
+ <TBODY>
126
+ <TR>
127
+ <TD>
128
+ This text is in the THIRD TBODY.
129
+ </TD>
130
+ </TR>
131
+ </TBODY>
132
+
133
+ </TABLE>
134
+
135
+ <table border="1" id=pic_table>
136
+ <tr>
137
+ <td> A picture is in the next cell</td>
138
+ <td><img src=images/circle.jpg></td>
139
+ </tr><tr>
140
+ <td> A link is in the next cell</td>
141
+ <td><a href = http://google.com>Google</a></td>
142
+ </tr>
143
+ </table>
144
+ Table to string test
145
+ <table border="1" id='tblTest1' cellspacing="3" cellpadding="6" class="TableClass">
146
+ <tr><td id=cellwithcolspan colspan=2>Table 3</td></tr>
147
+ <tr>
148
+ <td id=cell1> Row 1 Col1</td>
149
+ <td> Row 1 Col2</td>
150
+ </tr>
151
+ <tr id=row1>
152
+ <td> Row 2 Col1</td>
153
+ <td> Row 2 Col2</td>
154
+ </tr>
155
+ <tr>
156
+ <td> Row 3 Col1</td>
157
+ <td> Row 3 Col2</td>
158
+ </tr>
159
+ <tr>
160
+ <td> Row 4 Col1</td>
161
+ <td> Row 4 Col2</td>
162
+ </tr>
163
+ </table>
164
+ </body>
165
+ </html>