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 CHANGED
@@ -1 +1 @@
1
- 0.0.38
1
+ 0.0.39
@@ -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.38"
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-08-26}
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 "&#160;"> <!-- no-break space = non-breaking space,
14
+ U+00A0 ISOnum -->
15
+ <!ENTITY iexcl "&#161;"> <!-- inverted exclamation mark, U+00A1 ISOnum -->
16
+ <!ENTITY cent "&#162;"> <!-- cent sign, U+00A2 ISOnum -->
17
+ <!ENTITY pound "&#163;"> <!-- pound sign, U+00A3 ISOnum -->
18
+ <!ENTITY curren "&#164;"> <!-- currency sign, U+00A4 ISOnum -->
19
+ <!ENTITY yen "&#165;"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->
20
+ <!ENTITY brvbar "&#166;"> <!-- broken bar = broken vertical bar,
21
+ U+00A6 ISOnum -->
22
+ <!ENTITY sect "&#167;"> <!-- section sign, U+00A7 ISOnum -->
23
+ <!ENTITY uml "&#168;"> <!-- diaeresis = spacing diaeresis,
24
+ U+00A8 ISOdia -->
25
+ <!ENTITY copy "&#169;"> <!-- copyright sign, U+00A9 ISOnum -->
26
+ <!ENTITY ordf "&#170;"> <!-- feminine ordinal indicator, U+00AA ISOnum -->
27
+ <!ENTITY laquo "&#171;"> <!-- left-pointing double angle quotation mark
28
+ = left pointing guillemet, U+00AB ISOnum -->
29
+ <!ENTITY not "&#172;"> <!-- not sign = angled dash,
30
+ U+00AC ISOnum -->
31
+ <!ENTITY shy "&#173;"> <!-- soft hyphen = discretionary hyphen,
32
+ U+00AD ISOnum -->
33
+ <!ENTITY reg "&#174;"> <!-- registered sign = registered trade mark sign,
34
+ U+00AE ISOnum -->
35
+ <!ENTITY macr "&#175;"> <!-- macron = spacing macron = overline
36
+ = APL overbar, U+00AF ISOdia -->
37
+ <!ENTITY deg "&#176;"> <!-- degree sign, U+00B0 ISOnum -->
38
+ <!ENTITY plusmn "&#177;"> <!-- plus-minus sign = plus-or-minus sign,
39
+ U+00B1 ISOnum -->
40
+ <!ENTITY sup2 "&#178;"> <!-- superscript two = superscript digit two
41
+ = squared, U+00B2 ISOnum -->
42
+ <!ENTITY sup3 "&#179;"> <!-- superscript three = superscript digit three
43
+ = cubed, U+00B3 ISOnum -->
44
+ <!ENTITY acute "&#180;"> <!-- acute accent = spacing acute,
45
+ U+00B4 ISOdia -->
46
+ <!ENTITY micro "&#181;"> <!-- micro sign, U+00B5 ISOnum -->
47
+ <!ENTITY para "&#182;"> <!-- pilcrow sign = paragraph sign,
48
+ U+00B6 ISOnum -->
49
+ <!ENTITY middot "&#183;"> <!-- middle dot = Georgian comma
50
+ = Greek middle dot, U+00B7 ISOnum -->
51
+ <!ENTITY cedil "&#184;"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->
52
+ <!ENTITY sup1 "&#185;"> <!-- superscript one = superscript digit one,
53
+ U+00B9 ISOnum -->
54
+ <!ENTITY ordm "&#186;"> <!-- masculine ordinal indicator,
55
+ U+00BA ISOnum -->
56
+ <!ENTITY raquo "&#187;"> <!-- right-pointing double angle quotation mark
57
+ = right pointing guillemet, U+00BB ISOnum -->
58
+ <!ENTITY frac14 "&#188;"> <!-- vulgar fraction one quarter
59
+ = fraction one quarter, U+00BC ISOnum -->
60
+ <!ENTITY frac12 "&#189;"> <!-- vulgar fraction one half
61
+ = fraction one half, U+00BD ISOnum -->
62
+ <!ENTITY frac34 "&#190;"> <!-- vulgar fraction three quarters
63
+ = fraction three quarters, U+00BE ISOnum -->
64
+ <!ENTITY iquest "&#191;"> <!-- inverted question mark
65
+ = turned question mark, U+00BF ISOnum -->
66
+ <!ENTITY Agrave "&#192;"> <!-- latin capital letter A with grave
67
+ = latin capital letter A grave,
68
+ U+00C0 ISOlat1 -->
69
+ <!ENTITY Aacute "&#193;"> <!-- latin capital letter A with acute,
70
+ U+00C1 ISOlat1 -->
71
+ <!ENTITY Acirc "&#194;"> <!-- latin capital letter A with circumflex,
72
+ U+00C2 ISOlat1 -->
73
+ <!ENTITY Atilde "&#195;"> <!-- latin capital letter A with tilde,
74
+ U+00C3 ISOlat1 -->
75
+ <!ENTITY Auml "&#196;"> <!-- latin capital letter A with diaeresis,
76
+ U+00C4 ISOlat1 -->
77
+ <!ENTITY Aring "&#197;"> <!-- latin capital letter A with ring above
78
+ = latin capital letter A ring,
79
+ U+00C5 ISOlat1 -->
80
+ <!ENTITY AElig "&#198;"> <!-- latin capital letter AE
81
+ = latin capital ligature AE,
82
+ U+00C6 ISOlat1 -->
83
+ <!ENTITY Ccedil "&#199;"> <!-- latin capital letter C with cedilla,
84
+ U+00C7 ISOlat1 -->
85
+ <!ENTITY Egrave "&#200;"> <!-- latin capital letter E with grave,
86
+ U+00C8 ISOlat1 -->
87
+ <!ENTITY Eacute "&#201;"> <!-- latin capital letter E with acute,
88
+ U+00C9 ISOlat1 -->
89
+ <!ENTITY Ecirc "&#202;"> <!-- latin capital letter E with circumflex,
90
+ U+00CA ISOlat1 -->
91
+ <!ENTITY Euml "&#203;"> <!-- latin capital letter E with diaeresis,
92
+ U+00CB ISOlat1 -->
93
+ <!ENTITY Igrave "&#204;"> <!-- latin capital letter I with grave,
94
+ U+00CC ISOlat1 -->
95
+ <!ENTITY Iacute "&#205;"> <!-- latin capital letter I with acute,
96
+ U+00CD ISOlat1 -->
97
+ <!ENTITY Icirc "&#206;"> <!-- latin capital letter I with circumflex,
98
+ U+00CE ISOlat1 -->
99
+ <!ENTITY Iuml "&#207;"> <!-- latin capital letter I with diaeresis,
100
+ U+00CF ISOlat1 -->
101
+ <!ENTITY ETH "&#208;"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->
102
+ <!ENTITY Ntilde "&#209;"> <!-- latin capital letter N with tilde,
103
+ U+00D1 ISOlat1 -->
104
+ <!ENTITY Ograve "&#210;"> <!-- latin capital letter O with grave,
105
+ U+00D2 ISOlat1 -->
106
+ <!ENTITY Oacute "&#211;"> <!-- latin capital letter O with acute,
107
+ U+00D3 ISOlat1 -->
108
+ <!ENTITY Ocirc "&#212;"> <!-- latin capital letter O with circumflex,
109
+ U+00D4 ISOlat1 -->
110
+ <!ENTITY Otilde "&#213;"> <!-- latin capital letter O with tilde,
111
+ U+00D5 ISOlat1 -->
112
+ <!ENTITY Ouml "&#214;"> <!-- latin capital letter O with diaeresis,
113
+ U+00D6 ISOlat1 -->
114
+ <!ENTITY times "&#215;"> <!-- multiplication sign, U+00D7 ISOnum -->
115
+ <!ENTITY Oslash "&#216;"> <!-- latin capital letter O with stroke
116
+ = latin capital letter O slash,
117
+ U+00D8 ISOlat1 -->
118
+ <!ENTITY Ugrave "&#217;"> <!-- latin capital letter U with grave,
119
+ U+00D9 ISOlat1 -->
120
+ <!ENTITY Uacute "&#218;"> <!-- latin capital letter U with acute,
121
+ U+00DA ISOlat1 -->
122
+ <!ENTITY Ucirc "&#219;"> <!-- latin capital letter U with circumflex,
123
+ U+00DB ISOlat1 -->
124
+ <!ENTITY Uuml "&#220;"> <!-- latin capital letter U with diaeresis,
125
+ U+00DC ISOlat1 -->
126
+ <!ENTITY Yacute "&#221;"> <!-- latin capital letter Y with acute,
127
+ U+00DD ISOlat1 -->
128
+ <!ENTITY THORN "&#222;"> <!-- latin capital letter THORN,
129
+ U+00DE ISOlat1 -->
130
+ <!ENTITY szlig "&#223;"> <!-- latin small letter sharp s = ess-zed,
131
+ U+00DF ISOlat1 -->
132
+ <!ENTITY agrave "&#224;"> <!-- latin small letter a with grave
133
+ = latin small letter a grave,
134
+ U+00E0 ISOlat1 -->
135
+ <!ENTITY aacute "&#225;"> <!-- latin small letter a with acute,
136
+ U+00E1 ISOlat1 -->
137
+ <!ENTITY acirc "&#226;"> <!-- latin small letter a with circumflex,
138
+ U+00E2 ISOlat1 -->
139
+ <!ENTITY atilde "&#227;"> <!-- latin small letter a with tilde,
140
+ U+00E3 ISOlat1 -->
141
+ <!ENTITY auml "&#228;"> <!-- latin small letter a with diaeresis,
142
+ U+00E4 ISOlat1 -->
143
+ <!ENTITY aring "&#229;"> <!-- latin small letter a with ring above
144
+ = latin small letter a ring,
145
+ U+00E5 ISOlat1 -->
146
+ <!ENTITY aelig "&#230;"> <!-- latin small letter ae
147
+ = latin small ligature ae, U+00E6 ISOlat1 -->
148
+ <!ENTITY ccedil "&#231;"> <!-- latin small letter c with cedilla,
149
+ U+00E7 ISOlat1 -->
150
+ <!ENTITY egrave "&#232;"> <!-- latin small letter e with grave,
151
+ U+00E8 ISOlat1 -->
152
+ <!ENTITY eacute "&#233;"> <!-- latin small letter e with acute,
153
+ U+00E9 ISOlat1 -->
154
+ <!ENTITY ecirc "&#234;"> <!-- latin small letter e with circumflex,
155
+ U+00EA ISOlat1 -->
156
+ <!ENTITY euml "&#235;"> <!-- latin small letter e with diaeresis,
157
+ U+00EB ISOlat1 -->
158
+ <!ENTITY igrave "&#236;"> <!-- latin small letter i with grave,
159
+ U+00EC ISOlat1 -->
160
+ <!ENTITY iacute "&#237;"> <!-- latin small letter i with acute,
161
+ U+00ED ISOlat1 -->
162
+ <!ENTITY icirc "&#238;"> <!-- latin small letter i with circumflex,
163
+ U+00EE ISOlat1 -->
164
+ <!ENTITY iuml "&#239;"> <!-- latin small letter i with diaeresis,
165
+ U+00EF ISOlat1 -->
166
+ <!ENTITY eth "&#240;"> <!-- latin small letter eth, U+00F0 ISOlat1 -->
167
+ <!ENTITY ntilde "&#241;"> <!-- latin small letter n with tilde,
168
+ U+00F1 ISOlat1 -->
169
+ <!ENTITY ograve "&#242;"> <!-- latin small letter o with grave,
170
+ U+00F2 ISOlat1 -->
171
+ <!ENTITY oacute "&#243;"> <!-- latin small letter o with acute,
172
+ U+00F3 ISOlat1 -->
173
+ <!ENTITY ocirc "&#244;"> <!-- latin small letter o with circumflex,
174
+ U+00F4 ISOlat1 -->
175
+ <!ENTITY otilde "&#245;"> <!-- latin small letter o with tilde,
176
+ U+00F5 ISOlat1 -->
177
+ <!ENTITY ouml "&#246;"> <!-- latin small letter o with diaeresis,
178
+ U+00F6 ISOlat1 -->
179
+ <!ENTITY divide "&#247;"> <!-- division sign, U+00F7 ISOnum -->
180
+ <!ENTITY oslash "&#248;"> <!-- latin small letter o with stroke,
181
+ = latin small letter o slash,
182
+ U+00F8 ISOlat1 -->
183
+ <!ENTITY ugrave "&#249;"> <!-- latin small letter u with grave,
184
+ U+00F9 ISOlat1 -->
185
+ <!ENTITY uacute "&#250;"> <!-- latin small letter u with acute,
186
+ U+00FA ISOlat1 -->
187
+ <!ENTITY ucirc "&#251;"> <!-- latin small letter u with circumflex,
188
+ U+00FB ISOlat1 -->
189
+ <!ENTITY uuml "&#252;"> <!-- latin small letter u with diaeresis,
190
+ U+00FC ISOlat1 -->
191
+ <!ENTITY yacute "&#253;"> <!-- latin small letter y with acute,
192
+ U+00FD ISOlat1 -->
193
+ <!ENTITY thorn "&#254;"> <!-- latin small letter thorn,
194
+ U+00FE ISOlat1 -->
195
+ <!ENTITY yuml "&#255;"> <!-- latin small letter y with diaeresis,
196
+ U+00FF ISOlat1 -->