frameworks-capybara 0.0.38 → 0.0.39
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/frameworks-capybara.gemspec +8 -2
- data/lib/monkey-patches/capybara-patches.rb +31 -7
- data/schemas/xhtml-lat1.ent +196 -0
- data/schemas/xhtml-rdfa-1.dtd +438 -0
- data/schemas/xhtml-special.ent +80 -0
- data/schemas/xhtml-symbol.ent +237 -0
- data/schemas/xhtml1-strict.dtd +978 -0
- data/schemas/xhtml1-transitional.dtd +1201 -0
- metadata +10 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.39
|
data/frameworks-capybara.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{frameworks-capybara}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.39"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["mcrmfc"]
|
12
|
-
s.date = %q{2011-
|
12
|
+
s.date = %q{2011-09-05}
|
13
13
|
s.description = %q{gem to aid setup of Capybara for testing bbc sites}
|
14
14
|
s.email = %q{mcrobbins@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -34,6 +34,12 @@ Gem::Specification.new do |s|
|
|
34
34
|
"lib/monkey-patches/mechanize-patches.rb",
|
35
35
|
"lib/monkey-patches/send-keys.rb",
|
36
36
|
"lib/monkey-patches/webdriver-patches.rb",
|
37
|
+
"schemas/xhtml-lat1.ent",
|
38
|
+
"schemas/xhtml-rdfa-1.dtd",
|
39
|
+
"schemas/xhtml-special.ent",
|
40
|
+
"schemas/xhtml-symbol.ent",
|
41
|
+
"schemas/xhtml1-strict.dtd",
|
42
|
+
"schemas/xhtml1-transitional.dtd",
|
37
43
|
"test/helper.rb",
|
38
44
|
"test/test_frameworks-capybara.rb"
|
39
45
|
]
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'selenium-webdriver'
|
2
2
|
require 'capybara/cucumber'
|
3
3
|
|
4
|
+
##
|
4
5
|
#Monkey Patch's - Use with care!
|
5
6
|
#
|
6
7
|
class Capybara::Driver::Selenium::Node
|
@@ -25,19 +26,19 @@ class Capybara::Driver::Selenium
|
|
25
26
|
def cookies
|
26
27
|
browser.manage.all_cookies
|
27
28
|
end
|
28
|
-
|
29
|
+
|
29
30
|
def cookie_named(name)
|
30
31
|
browser.manage.cookie_named(name)
|
31
32
|
end
|
32
|
-
|
33
|
+
|
33
34
|
def delete_cookie(cookie)
|
34
35
|
browser.manage.delete_cookie(cookie)
|
35
36
|
end
|
36
|
-
|
37
|
+
|
37
38
|
def delete_all_cookies
|
38
39
|
browser.manage.delete_all_cookies
|
39
40
|
end
|
40
|
-
|
41
|
+
|
41
42
|
def add_cookie(attribs)
|
42
43
|
browser.manage.add_cookie(attribs)
|
43
44
|
end
|
@@ -63,18 +64,41 @@ module Capybara
|
|
63
64
|
def cookie_named(name)
|
64
65
|
driver.cookie_named(name)
|
65
66
|
end
|
66
|
-
|
67
|
+
|
67
68
|
def delete_cookie(cookie)
|
68
69
|
driver.delete_cookie(cookie)
|
69
70
|
end
|
70
|
-
|
71
|
+
|
71
72
|
def delete_all_cookies
|
72
73
|
driver.delete_all_cookies
|
73
74
|
end
|
74
|
-
|
75
|
+
|
75
76
|
def add_cookie(attribs)
|
76
77
|
driver.add_cookie(attribs)
|
77
78
|
end
|
79
|
+
|
80
|
+
DTD_REFS = {
|
81
|
+
"-//W3C//DTD XHTML 1.0 Strict//EN" => {:dtd => "#{File.dirname( __FILE__)}/../../schemas/xhtml1-strict.dtd", :type => :strict},
|
82
|
+
"-//W3C//DTD XHTML 1.0 Transitional//EN" => {:dtd => "#{File.dirname( __FILE__)}/../../schemas/xhtml1-transitional.dtd", :type => :transitional},
|
83
|
+
"-//W3C//DTD XHTML+RDFa 1.0//EN" => {:dtd => "#{File.dirname( __FILE__)}/../../schemas/xhtml-rdfa-1.dtd", :type => :rdfa}}
|
84
|
+
|
85
|
+
def validate(source)
|
86
|
+
doctype = source.scan(/\"(.*?)\"/)[0].to_s
|
87
|
+
|
88
|
+
if(DTD_REFS[doctype])
|
89
|
+
dtd = DTD_REFS[doctype][:dtd]
|
90
|
+
type = DTD_REFS[doctype][:type]
|
91
|
+
end
|
92
|
+
|
93
|
+
raise "RDFA Validation not currently supported due to issues in Nokogiri" if type == :rdfa
|
94
|
+
|
95
|
+
source = source.gsub(/PUBLIC \"-\/\/W3C\/\/DTD XHTML.*?\/\/EN\" \"http:\/\/www.w3.org.*?\"/, "SYSTEM \"#{dtd}\"")
|
96
|
+
doc = Nokogiri::XML(source) { |cfg|
|
97
|
+
cfg.noent.dtdload.dtdvalid
|
98
|
+
}
|
99
|
+
errors = doc.validate
|
100
|
+
raise "Page (#{current_url}) failed XHTML vaidation (or Nokogiri Freaked out...please manually check against W3C), errors:#{errors.to_s}" unless errors == []
|
101
|
+
end
|
78
102
|
end
|
79
103
|
end
|
80
104
|
|
@@ -0,0 +1,196 @@
|
|
1
|
+
<!-- Portions (C) International Organization for Standardization 1986
|
2
|
+
Permission to copy in any form is granted for use with
|
3
|
+
conforming SGML systems and applications as defined in
|
4
|
+
ISO 8879, provided this notice is included in all copies.
|
5
|
+
-->
|
6
|
+
<!-- Character entity set. Typical invocation:
|
7
|
+
<!ENTITY % HTMLlat1 PUBLIC
|
8
|
+
"-//W3C//ENTITIES Latin 1 for XHTML//EN"
|
9
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">
|
10
|
+
%HTMLlat1;
|
11
|
+
-->
|
12
|
+
|
13
|
+
<!ENTITY nbsp " "> <!-- no-break space = non-breaking space,
|
14
|
+
U+00A0 ISOnum -->
|
15
|
+
<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
|
16
|
+
<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum -->
|
17
|
+
<!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum -->
|
18
|
+
<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum -->
|
19
|
+
<!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
|
20
|
+
<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar,
|
21
|
+
U+00A6 ISOnum -->
|
22
|
+
<!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum -->
|
23
|
+
<!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis,
|
24
|
+
U+00A8 ISOdia -->
|
25
|
+
<!ENTITY copy "©"> <!-- copyright sign, U+00A9 ISOnum -->
|
26
|
+
<!ENTITY ordf "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
|
27
|
+
<!ENTITY laquo "«"> <!-- left-pointing double angle quotation mark
|
28
|
+
= left pointing guillemet, U+00AB ISOnum -->
|
29
|
+
<!ENTITY not "¬"> <!-- not sign = angled dash,
|
30
|
+
U+00AC ISOnum -->
|
31
|
+
<!ENTITY shy "­"> <!-- soft hyphen = discretionary hyphen,
|
32
|
+
U+00AD ISOnum -->
|
33
|
+
<!ENTITY reg "®"> <!-- registered sign = registered trade mark sign,
|
34
|
+
U+00AE ISOnum -->
|
35
|
+
<!ENTITY macr "¯"> <!-- macron = spacing macron = overline
|
36
|
+
= APL overbar, U+00AF ISOdia -->
|
37
|
+
<!ENTITY deg "°"> <!-- degree sign, U+00B0 ISOnum -->
|
38
|
+
<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign,
|
39
|
+
U+00B1 ISOnum -->
|
40
|
+
<!ENTITY sup2 "²"> <!-- superscript two = superscript digit two
|
41
|
+
= squared, U+00B2 ISOnum -->
|
42
|
+
<!ENTITY sup3 "³"> <!-- superscript three = superscript digit three
|
43
|
+
= cubed, U+00B3 ISOnum -->
|
44
|
+
<!ENTITY acute "´"> <!-- acute accent = spacing acute,
|
45
|
+
U+00B4 ISOdia -->
|
46
|
+
<!ENTITY micro "µ"> <!-- micro sign, U+00B5 ISOnum -->
|
47
|
+
<!ENTITY para "¶"> <!-- pilcrow sign = paragraph sign,
|
48
|
+
U+00B6 ISOnum -->
|
49
|
+
<!ENTITY middot "·"> <!-- middle dot = Georgian comma
|
50
|
+
= Greek middle dot, U+00B7 ISOnum -->
|
51
|
+
<!ENTITY cedil "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
|
52
|
+
<!ENTITY sup1 "¹"> <!-- superscript one = superscript digit one,
|
53
|
+
U+00B9 ISOnum -->
|
54
|
+
<!ENTITY ordm "º"> <!-- masculine ordinal indicator,
|
55
|
+
U+00BA ISOnum -->
|
56
|
+
<!ENTITY raquo "»"> <!-- right-pointing double angle quotation mark
|
57
|
+
= right pointing guillemet, U+00BB ISOnum -->
|
58
|
+
<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter
|
59
|
+
= fraction one quarter, U+00BC ISOnum -->
|
60
|
+
<!ENTITY frac12 "½"> <!-- vulgar fraction one half
|
61
|
+
= fraction one half, U+00BD ISOnum -->
|
62
|
+
<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters
|
63
|
+
= fraction three quarters, U+00BE ISOnum -->
|
64
|
+
<!ENTITY iquest "¿"> <!-- inverted question mark
|
65
|
+
= turned question mark, U+00BF ISOnum -->
|
66
|
+
<!ENTITY Agrave "À"> <!-- latin capital letter A with grave
|
67
|
+
= latin capital letter A grave,
|
68
|
+
U+00C0 ISOlat1 -->
|
69
|
+
<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute,
|
70
|
+
U+00C1 ISOlat1 -->
|
71
|
+
<!ENTITY Acirc "Â"> <!-- latin capital letter A with circumflex,
|
72
|
+
U+00C2 ISOlat1 -->
|
73
|
+
<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde,
|
74
|
+
U+00C3 ISOlat1 -->
|
75
|
+
<!ENTITY Auml "Ä"> <!-- latin capital letter A with diaeresis,
|
76
|
+
U+00C4 ISOlat1 -->
|
77
|
+
<!ENTITY Aring "Å"> <!-- latin capital letter A with ring above
|
78
|
+
= latin capital letter A ring,
|
79
|
+
U+00C5 ISOlat1 -->
|
80
|
+
<!ENTITY AElig "Æ"> <!-- latin capital letter AE
|
81
|
+
= latin capital ligature AE,
|
82
|
+
U+00C6 ISOlat1 -->
|
83
|
+
<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla,
|
84
|
+
U+00C7 ISOlat1 -->
|
85
|
+
<!ENTITY Egrave "È"> <!-- latin capital letter E with grave,
|
86
|
+
U+00C8 ISOlat1 -->
|
87
|
+
<!ENTITY Eacute "É"> <!-- latin capital letter E with acute,
|
88
|
+
U+00C9 ISOlat1 -->
|
89
|
+
<!ENTITY Ecirc "Ê"> <!-- latin capital letter E with circumflex,
|
90
|
+
U+00CA ISOlat1 -->
|
91
|
+
<!ENTITY Euml "Ë"> <!-- latin capital letter E with diaeresis,
|
92
|
+
U+00CB ISOlat1 -->
|
93
|
+
<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave,
|
94
|
+
U+00CC ISOlat1 -->
|
95
|
+
<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute,
|
96
|
+
U+00CD ISOlat1 -->
|
97
|
+
<!ENTITY Icirc "Î"> <!-- latin capital letter I with circumflex,
|
98
|
+
U+00CE ISOlat1 -->
|
99
|
+
<!ENTITY Iuml "Ï"> <!-- latin capital letter I with diaeresis,
|
100
|
+
U+00CF ISOlat1 -->
|
101
|
+
<!ENTITY ETH "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
|
102
|
+
<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde,
|
103
|
+
U+00D1 ISOlat1 -->
|
104
|
+
<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave,
|
105
|
+
U+00D2 ISOlat1 -->
|
106
|
+
<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute,
|
107
|
+
U+00D3 ISOlat1 -->
|
108
|
+
<!ENTITY Ocirc "Ô"> <!-- latin capital letter O with circumflex,
|
109
|
+
U+00D4 ISOlat1 -->
|
110
|
+
<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde,
|
111
|
+
U+00D5 ISOlat1 -->
|
112
|
+
<!ENTITY Ouml "Ö"> <!-- latin capital letter O with diaeresis,
|
113
|
+
U+00D6 ISOlat1 -->
|
114
|
+
<!ENTITY times "×"> <!-- multiplication sign, U+00D7 ISOnum -->
|
115
|
+
<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke
|
116
|
+
= latin capital letter O slash,
|
117
|
+
U+00D8 ISOlat1 -->
|
118
|
+
<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave,
|
119
|
+
U+00D9 ISOlat1 -->
|
120
|
+
<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute,
|
121
|
+
U+00DA ISOlat1 -->
|
122
|
+
<!ENTITY Ucirc "Û"> <!-- latin capital letter U with circumflex,
|
123
|
+
U+00DB ISOlat1 -->
|
124
|
+
<!ENTITY Uuml "Ü"> <!-- latin capital letter U with diaeresis,
|
125
|
+
U+00DC ISOlat1 -->
|
126
|
+
<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute,
|
127
|
+
U+00DD ISOlat1 -->
|
128
|
+
<!ENTITY THORN "Þ"> <!-- latin capital letter THORN,
|
129
|
+
U+00DE ISOlat1 -->
|
130
|
+
<!ENTITY szlig "ß"> <!-- latin small letter sharp s = ess-zed,
|
131
|
+
U+00DF ISOlat1 -->
|
132
|
+
<!ENTITY agrave "à"> <!-- latin small letter a with grave
|
133
|
+
= latin small letter a grave,
|
134
|
+
U+00E0 ISOlat1 -->
|
135
|
+
<!ENTITY aacute "á"> <!-- latin small letter a with acute,
|
136
|
+
U+00E1 ISOlat1 -->
|
137
|
+
<!ENTITY acirc "â"> <!-- latin small letter a with circumflex,
|
138
|
+
U+00E2 ISOlat1 -->
|
139
|
+
<!ENTITY atilde "ã"> <!-- latin small letter a with tilde,
|
140
|
+
U+00E3 ISOlat1 -->
|
141
|
+
<!ENTITY auml "ä"> <!-- latin small letter a with diaeresis,
|
142
|
+
U+00E4 ISOlat1 -->
|
143
|
+
<!ENTITY aring "å"> <!-- latin small letter a with ring above
|
144
|
+
= latin small letter a ring,
|
145
|
+
U+00E5 ISOlat1 -->
|
146
|
+
<!ENTITY aelig "æ"> <!-- latin small letter ae
|
147
|
+
= latin small ligature ae, U+00E6 ISOlat1 -->
|
148
|
+
<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla,
|
149
|
+
U+00E7 ISOlat1 -->
|
150
|
+
<!ENTITY egrave "è"> <!-- latin small letter e with grave,
|
151
|
+
U+00E8 ISOlat1 -->
|
152
|
+
<!ENTITY eacute "é"> <!-- latin small letter e with acute,
|
153
|
+
U+00E9 ISOlat1 -->
|
154
|
+
<!ENTITY ecirc "ê"> <!-- latin small letter e with circumflex,
|
155
|
+
U+00EA ISOlat1 -->
|
156
|
+
<!ENTITY euml "ë"> <!-- latin small letter e with diaeresis,
|
157
|
+
U+00EB ISOlat1 -->
|
158
|
+
<!ENTITY igrave "ì"> <!-- latin small letter i with grave,
|
159
|
+
U+00EC ISOlat1 -->
|
160
|
+
<!ENTITY iacute "í"> <!-- latin small letter i with acute,
|
161
|
+
U+00ED ISOlat1 -->
|
162
|
+
<!ENTITY icirc "î"> <!-- latin small letter i with circumflex,
|
163
|
+
U+00EE ISOlat1 -->
|
164
|
+
<!ENTITY iuml "ï"> <!-- latin small letter i with diaeresis,
|
165
|
+
U+00EF ISOlat1 -->
|
166
|
+
<!ENTITY eth "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
|
167
|
+
<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde,
|
168
|
+
U+00F1 ISOlat1 -->
|
169
|
+
<!ENTITY ograve "ò"> <!-- latin small letter o with grave,
|
170
|
+
U+00F2 ISOlat1 -->
|
171
|
+
<!ENTITY oacute "ó"> <!-- latin small letter o with acute,
|
172
|
+
U+00F3 ISOlat1 -->
|
173
|
+
<!ENTITY ocirc "ô"> <!-- latin small letter o with circumflex,
|
174
|
+
U+00F4 ISOlat1 -->
|
175
|
+
<!ENTITY otilde "õ"> <!-- latin small letter o with tilde,
|
176
|
+
U+00F5 ISOlat1 -->
|
177
|
+
<!ENTITY ouml "ö"> <!-- latin small letter o with diaeresis,
|
178
|
+
U+00F6 ISOlat1 -->
|
179
|
+
<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum -->
|
180
|
+
<!ENTITY oslash "ø"> <!-- latin small letter o with stroke,
|
181
|
+
= latin small letter o slash,
|
182
|
+
U+00F8 ISOlat1 -->
|
183
|
+
<!ENTITY ugrave "ù"> <!-- latin small letter u with grave,
|
184
|
+
U+00F9 ISOlat1 -->
|
185
|
+
<!ENTITY uacute "ú"> <!-- latin small letter u with acute,
|
186
|
+
U+00FA ISOlat1 -->
|
187
|
+
<!ENTITY ucirc "û"> <!-- latin small letter u with circumflex,
|
188
|
+
U+00FB ISOlat1 -->
|
189
|
+
<!ENTITY uuml "ü"> <!-- latin small letter u with diaeresis,
|
190
|
+
U+00FC ISOlat1 -->
|
191
|
+
<!ENTITY yacute "ý"> <!-- latin small letter y with acute,
|
192
|
+
U+00FD ISOlat1 -->
|
193
|
+
<!ENTITY thorn "þ"> <!-- latin small letter thorn,
|
194
|
+
U+00FE ISOlat1 -->
|
195
|
+
<!ENTITY yuml "ÿ"> <!-- latin small letter y with diaeresis,
|
196
|
+
U+00FF ISOlat1 -->
|