watir-webdriver 0.6.8 → 0.6.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c27ed00d9c0f60b3ba74da91a1a0543975f6e40
4
- data.tar.gz: 9613de99f0a45fdbf00bb61edbfd64ba494b8ef1
3
+ metadata.gz: 239861d8df43ef5ad7b5fd332dd83e51124a35af
4
+ data.tar.gz: e9b067ca9f07b67cff031d3f393ae1080c733b66
5
5
  SHA512:
6
- metadata.gz: 5cb22dd0fe4715b647e43c91d637ea32fcb35747bcca0e0187995eca1ab9fa6ce1ddf3c355c8ce0dbac264f0530bd7ab5f423e8b8bfda6c74102d53170d00430
7
- data.tar.gz: 4b0d5ea3f95dc25cb36eec24fc1ee5db4787250aae66eecd65e41ce18644aeef62ac8dcab32eb13a7d6612a0763ff3cf68e19b648ce2cd1ef2072303fe12695e
6
+ metadata.gz: 3f753181085ffba7dd0b179aee3b2c7db92901cfab1186fb046f99723f7370deface705ee48a8f2ba73cbafb0e1a52c64bc67f781ffc7442d698f18103436ad9
7
+ data.tar.gz: 52e8ee4f4912a1e3dcca4136a54dea80f4c5d14d4b5d96981d3980c2c149513ee9454cbc042a0d4e52114eb45a0bc155597e9dba7b4f950f462822d9ea176ef9
data/.gitignore CHANGED
@@ -12,4 +12,6 @@ Gemfile.lock
12
12
  .rbx/*
13
13
  chromedriver.log
14
14
  support/html5.html
15
- /doc
15
+ /doc
16
+ .idea
17
+ .ruby-version
data/CHANGES.md CHANGED
@@ -1,3 +1,10 @@
1
+ ### 0.6.9 (2014-04-13)
2
+
3
+ * `Watir::Wait` timer can be re-implemented now (see #242)
4
+ * Added `Watir::Cookies#[]` to retrieve cookie by name (see #251, thanks @mattparlane)
5
+ * Added `Watir::Element#outer_html` (aliased to `#html`) (thanks @aderyabin)
6
+ * Added `Watir::Element#inner_html` (thanks @aderyabin)
7
+
1
8
  ### 0.6.8 (2014-02-20)
2
9
 
3
10
  * `:css` selector can now be used with `:index` (fixes #241)
@@ -10,6 +10,7 @@ module Watir
10
10
  load :fireEvent
11
11
  load :getAttribute
12
12
  load :getOuterHtml
13
+ load :getInnerHtml
13
14
  load :getParentElement
14
15
 
15
16
  private
@@ -0,0 +1,18 @@
1
+ // Copyright 2011 Software Freedom Conservatory
2
+ // Licensed under the Apache License, Version 2.0 (the "License");
3
+ // you may not use this file except in compliance with the License.
4
+ // You may obtain a copy of the License at
5
+ //
6
+ // http://www.apache.org/licenses/LICENSE-2.0
7
+ //
8
+ // Unless required by applicable law or agreed to in writing, software
9
+ // distributed under the License is distributed on an "AS IS" BASIS,
10
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ // See the License for the specific language governing permissions and
12
+ // limitations under the License.
13
+
14
+
15
+ function(){return function(){var d=this;function e(a,b){function c(){}c.prototype=b.prototype;a.b=b.prototype;a.prototype=new c};function f(a){this.stack=Error().stack||"";if(a)this.message=String(a)}e(f,Error);function i(a){for(var b=1;b<arguments.length;b++){var c=String(arguments[b]).replace(/\$/g,"$$$$");a=a.replace(/\%s/,c)}return a}
16
+ function j(a,b){var c=0,A=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),B=String(b).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),H=Math.max(A.length,B.length);for(var l=0;c==0&&l<H;l++){var I=A[l]||"",J=B[l]||"",K=RegExp("(\\d*)(\\D*)","g"),L=RegExp("(\\d*)(\\D*)","g");do{var g=K.exec(I)||["","",""],h=L.exec(J)||["","",""];if(g[0].length==0&&h[0].length==0)break;c=k(g[1].length==0?0:parseInt(g[1],10),h[1].length==0?0:parseInt(h[1],10))||k(g[2].length==0,h[2].length==0)||k(g[2],h[2])}while(c==
17
+ 0)}return c}function k(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};e(function(a,b){b.unshift(a);f.call(this,i.apply(null,b));b.shift();this.a=a},f);var m,n,o,p;function q(){return d.navigator?d.navigator.userAgent:null}p=o=n=m=false;var r;if(r=q()){var s=d.navigator;m=r.indexOf("Opera")==0;n=!m&&r.indexOf("MSIE")!=-1;o=!m&&r.indexOf("WebKit")!=-1;p=!m&&!o&&s.product=="Gecko"}var t=n,u=p,v=o,w;
18
+ a:{var x="",y;if(m&&d.opera){var z=d.opera.version;x=typeof z=="function"?z():z}else{if(u)y=/rv\:([^\);]+)(\)|;)/;else if(t)y=/MSIE\s+([^\);]+)(\)|;)/;else if(v)y=/WebKit\/(\S+)/;if(y){var C=y.exec(q());x=C?C[1]:""}}if(t){var D,E=d.document;D=E?E.documentMode:undefined;if(D>parseFloat(x)){w=String(D);break a}}w=x}var F={};!t||F["9"]||(F["9"]=j(w,"9")>=0);t&&(F["9"]||(F["9"]=j(w,"9")>=0));function G(a){if("innerHTML"in a)return a.innerHTML;else{var b=(a.nodeType==9?a:a.ownerDocument||a.document).createElement("div");b.appendChild(a.cloneNode(true));return b.innerHTML}}var M="_".split("."),N=d;!(M[0]in N)&&N.execScript&&N.execScript("var "+M[0]);for(var O;M.length&&(O=M.shift());)if(!M.length&&G!==undefined)N[O]=G;else N=N[O]?N[O]:N[O]={};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null}, arguments);}
@@ -18,11 +18,26 @@ module Watir
18
18
  #
19
19
 
20
20
  def to_a
21
- @control.all_cookies.each do |e|
22
- e[:expires] = to_time(e[:expires]) if e[:expires]
21
+ @control.all_cookies.map do |e|
22
+ e.merge(:expires => e[:expires] ? to_time(e[:expires]) : nil)
23
23
  end
24
24
  end
25
25
 
26
+ #
27
+ # Returns a cookie by name.
28
+ #
29
+ # @example
30
+ # browser.cookies[:my_session]
31
+ # #=> {:name=>"my_session", :value=>"BAh7B0kiD3Nlc3Npb25faWQGOgZFRkk", :domain=>"mysite.com"}
32
+ #
33
+ # @param [Symbol] name
34
+ # @return <Hash> or nil if not found
35
+ #
36
+
37
+ def [](name)
38
+ to_a.find { |c| c[:name] == name.to_s }
39
+ end
40
+
26
41
  #
27
42
  # Adds new cookie.
28
43
  #
@@ -284,11 +284,28 @@ module Watir
284
284
  # @return [String]
285
285
  #
286
286
 
287
- def html
287
+ def outer_html
288
288
  assert_exists
289
289
  execute_atom(:getOuterHtml, @element).strip
290
290
  end
291
291
 
292
+ alias_method :html, :outer_html
293
+
294
+ #
295
+ # Returns inner HTML code of element.
296
+ #
297
+ # @example
298
+ # browser.div(:id => "foo").html
299
+ # #=> "<a>Click</a>"
300
+ #
301
+ # @return [String]
302
+ #
303
+
304
+ def inner_html
305
+ assert_exists
306
+ execute_atom(:getInnerHtml, @element).strip
307
+ end
308
+
292
309
  #
293
310
  # Sends sequence of keystrokes to element.
294
311
  #
@@ -222,5 +222,7 @@ module Watir
222
222
  module Container
223
223
  alias_method :select_list, :select
224
224
  alias_method :select_lists, :selects
225
+
226
+ Watir.tag_to_class[:select_list] = Select
225
227
  end # Container
226
228
  end # Watir
@@ -1,3 +1,3 @@
1
1
  module Watir
2
- VERSION = "0.6.8"
2
+ VERSION = "0.6.9"
3
3
  end
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'forwardable'
3
+ require 'watir-webdriver/wait/timer'
3
4
 
4
5
  module Watir
5
6
  module Wait
@@ -8,7 +9,22 @@ module Watir
8
9
 
9
10
  INTERVAL = 0.1
10
11
 
12
+
11
13
  class << self
14
+
15
+ #
16
+ # @!attribute timer
17
+ # Access Watir timer implementation in use.
18
+ # @see Timer
19
+ # @return [#wait]
20
+ #
21
+
22
+ attr_writer :timer
23
+
24
+ def timer
25
+ @timer ||= Timer.new
26
+ end
27
+
12
28
  #
13
29
  # Waits until the block evaluates to true or times out.
14
30
  #
@@ -22,9 +38,8 @@ module Watir
22
38
 
23
39
  def until(timeout = nil, message = nil, &block)
24
40
  timeout ||= Watir.default_timeout
25
- end_time = ::Time.now + timeout
26
41
 
27
- until ::Time.now > end_time
42
+ timer.wait(timeout) do
28
43
  result = yield(self)
29
44
  return result if result
30
45
  sleep INTERVAL
@@ -46,9 +61,8 @@ module Watir
46
61
 
47
62
  def while(timeout = nil, message = nil, &block)
48
63
  timeout ||= Watir.default_timeout
49
- end_time = ::Time.now + timeout
50
64
 
51
- until ::Time.now > end_time
65
+ timer.wait(timeout) do
52
66
  return unless yield(self)
53
67
  sleep INTERVAL
54
68
  end
@@ -0,0 +1,19 @@
1
+ module Watir
2
+ module Wait
3
+ class Timer
4
+
5
+ #
6
+ # Executes given block until it returns true or exceeds timeout.
7
+ # @param [Fixnum] timeout
8
+ # @yield block
9
+ # @api private
10
+ #
11
+
12
+ def wait(timeout, &block)
13
+ end_time = ::Time.now + timeout
14
+ yield(block) until ::Time.now > end_time
15
+ end
16
+
17
+ end # Timer
18
+ end # Wait
19
+ end # Watir
@@ -4,13 +4,13 @@ describe Watir::Browser do
4
4
 
5
5
  describe ".new" do
6
6
  it "passes the args to webdriver" do
7
- Selenium::WebDriver.should_receive(:for).with(:firefox, :foo).and_return(nil)
7
+ expect(Selenium::WebDriver).to receive(:for).with(:firefox, :foo).and_return(nil)
8
8
  Watir::Browser.new(:firefox, :foo)
9
9
  end
10
10
 
11
11
  it "takes a Driver instance as argument" do
12
12
  mock_driver = double(Selenium::WebDriver::Driver)
13
- Selenium::WebDriver::Driver.should_receive(:===).with(mock_driver).and_return(true)
13
+ expect(Selenium::WebDriver::Driver).to receive(:===).with(mock_driver).and_return(true)
14
14
  expect { Watir::Browser.new(mock_driver) }.to_not raise_error
15
15
  end
16
16
 
@@ -29,7 +29,7 @@ describe Watir::Browser do
29
29
 
30
30
  it "wraps elements in an array" do
31
31
  list = browser.execute_script("return [document.body];")
32
- list.size.should == 1
32
+ expect(list.size).to eq 1
33
33
  expect(list.first).to be_kind_of(Watir::Body)
34
34
  end
35
35
 
@@ -41,7 +41,7 @@ describe Watir::Browser do
41
41
  it "wraps elements in a deep object" do
42
42
  hash = browser.execute_script("return {elements: [document.body], body: {element: document.body }}")
43
43
 
44
- hash['elements'].first.should be_kind_of(Watir::Body)
44
+ expect(hash['elements'].first).to be_kind_of(Watir::Body)
45
45
  expect(hash['body']['element']).to be_kind_of(Watir::Body)
46
46
  end
47
47
  end
@@ -75,23 +75,23 @@ describe Watir::Browser do
75
75
 
76
76
  describe "#wait_while" do
77
77
  it "delegates to the Wait module" do
78
- Wait.should_receive(:while).with(3, "foo").and_yield
78
+ expect(Wait).to receive(:while).with(3, "foo").and_yield
79
79
 
80
80
  called = false
81
81
  browser.wait_while(3, "foo") { called = true }
82
82
 
83
- expect(called).to be_true
83
+ expect(called).to be true
84
84
  end
85
85
  end
86
86
 
87
87
  describe "#wait_until" do
88
88
  it "delegates to the Wait module" do
89
- Wait.should_receive(:until).with(3, "foo").and_yield
89
+ expect(Wait).to receive(:until).with(3, "foo").and_yield
90
90
 
91
91
  called = false
92
92
  browser.wait_until(3, "foo") { called = true }
93
93
 
94
- expect(called).to be_true
94
+ expect(called).to be true
95
95
  end
96
96
  end
97
97
 
@@ -106,7 +106,6 @@ describe Watir::Browser do
106
106
 
107
107
  describe "#ready_state" do
108
108
  it "gets the document's readyState property" do
109
- #browser.should_receive(:execute_script).with('return document.readyState')
110
109
  expect(browser).to receive(:execute_script).with('return document.readyState')
111
110
  browser.ready_state
112
111
  end
@@ -114,7 +113,7 @@ describe Watir::Browser do
114
113
 
115
114
  describe "#inspect" do
116
115
  it "works even if browser is closed" do
117
- browser.should_receive(:url).and_raise(Errno::ECONNREFUSED)
116
+ expect(browser).to receive(:url).and_raise(Errno::ECONNREFUSED)
118
117
  expect { browser.inspect }.to_not raise_error
119
118
  end
120
119
  end
@@ -58,5 +58,4 @@ describe Watir::Element do
58
58
  end
59
59
  end
60
60
  end
61
-
62
61
  end
@@ -0,0 +1,5 @@
1
+ <html>
2
+ <body>
3
+ <div id="foo"><a href="#">hello</a></div>
4
+ </body>
5
+ </html>
@@ -11,11 +11,11 @@ module LocatorSpecHelper
11
11
  end
12
12
 
13
13
  def expect_one(*args)
14
- driver.should_receive(:find_element).with(*args)
14
+ expect(driver).to receive(:find_element).with(*args)
15
15
  end
16
16
 
17
17
  def expect_all(*args)
18
- driver.should_receive(:find_elements).with(*args)
18
+ expect(driver).to receive(:find_elements).with(*args)
19
19
  end
20
20
 
21
21
  def locate_one(selector, attrs = nil)
metadata CHANGED
@@ -1,167 +1,167 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.8
4
+ version: 0.6.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jari Bakken
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-20 00:00:00.000000000 Z
11
+ date: 2014-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: selenium-webdriver
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.18.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.18.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '2.6'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.6'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: yard
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.8.2.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.8.2.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: webidl
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: 0.1.5
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.1.5
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: sinatra
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: 0.9.2
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: 0.9.2
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: fuubar
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ">="
108
+ - - '>='
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: nokogiri
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ">="
115
+ - - '>='
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">="
122
+ - - '>='
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: activesupport
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ~>
130
130
  - !ruby/object:Gem::Version
131
131
  version: '3.0'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ~>
137
137
  - !ruby/object:Gem::Version
138
138
  version: '3.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: pry
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - '>='
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: coveralls
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ">="
157
+ - - '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ">="
164
+ - - '>='
165
165
  - !ruby/object:Gem::Version
166
166
  version: '0'
167
167
  description: WebDriver-backed Watir
@@ -171,11 +171,11 @@ executables: []
171
171
  extensions: []
172
172
  extra_rdoc_files: []
173
173
  files:
174
- - ".document"
175
- - ".gitignore"
176
- - ".gitmodules"
177
- - ".travis.yml"
178
- - ".yardopts"
174
+ - .document
175
+ - .gitignore
176
+ - .gitmodules
177
+ - .travis.yml
178
+ - .yardopts
179
179
  - CHANGES.md
180
180
  - Gemfile
181
181
  - LICENSE
@@ -188,6 +188,7 @@ files:
188
188
  - lib/watir-webdriver/atoms/README
189
189
  - lib/watir-webdriver/atoms/fireEvent.js
190
190
  - lib/watir-webdriver/atoms/getAttribute.js
191
+ - lib/watir-webdriver/atoms/getInnerHtml.js
191
192
  - lib/watir-webdriver/atoms/getOuterHtml.js
192
193
  - lib/watir-webdriver/atoms/getParentElement.js
193
194
  - lib/watir-webdriver/atoms/selectText.js
@@ -242,6 +243,7 @@ files:
242
243
  - lib/watir-webdriver/user_editable.rb
243
244
  - lib/watir-webdriver/version.rb
244
245
  - lib/watir-webdriver/wait.rb
246
+ - lib/watir-webdriver/wait/timer.rb
245
247
  - lib/watir-webdriver/window.rb
246
248
  - lib/watir-webdriver/xpath_support.rb
247
249
  - lib/yard/handlers/watir.rb
@@ -252,6 +254,7 @@ files:
252
254
  - spec/element_spec.rb
253
255
  - spec/html/clicks.html
254
256
  - spec/html/hover.html
257
+ - spec/html/inner_outer.html
255
258
  - spec/html/removed_element.html
256
259
  - spec/html/special_chars.html
257
260
  - spec/implementation.rb
@@ -272,17 +275,17 @@ require_paths:
272
275
  - lib
273
276
  required_ruby_version: !ruby/object:Gem::Requirement
274
277
  requirements:
275
- - - ">="
278
+ - - '>='
276
279
  - !ruby/object:Gem::Version
277
280
  version: '0'
278
281
  required_rubygems_version: !ruby/object:Gem::Requirement
279
282
  requirements:
280
- - - ">="
283
+ - - '>='
281
284
  - !ruby/object:Gem::Version
282
285
  version: '0'
283
286
  requirements: []
284
287
  rubyforge_project: watir-webdriver
285
- rubygems_version: 2.2.0
288
+ rubygems_version: 2.0.14
286
289
  signing_key:
287
290
  specification_version: 4
288
291
  summary: Watir on WebDriver
@@ -294,6 +297,7 @@ test_files:
294
297
  - spec/element_spec.rb
295
298
  - spec/html/clicks.html
296
299
  - spec/html/hover.html
300
+ - spec/html/inner_outer.html
297
301
  - spec/html/removed_element.html
298
302
  - spec/html/special_chars.html
299
303
  - spec/implementation.rb
@@ -301,4 +305,3 @@ test_files:
301
305
  - spec/locator_spec_helper.rb
302
306
  - spec/spec_helper.rb
303
307
  - spec/special_chars_spec.rb
304
- has_rdoc: