watir-webdriver 0.2.9 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,6 +9,7 @@ module Watir
9
9
 
10
10
  load :fireEvent
11
11
  load :getOuterHtml
12
+ load :getParentElement
12
13
 
13
14
  private
14
15
 
@@ -0,0 +1,17 @@
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
+ function(){return function(){var d=this;function e(a,b){function c(){}c.prototype=b.prototype;a.g=b.prototype;a.prototype=new c};function g(a){for(var b=1;b<arguments.length;b++)var c=String(arguments[b]).replace(/\$/g,"$$$$"),a=a.replace(/\%s/,c);return a}function h(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};var i,l,m,n;function o(){return d.navigator?d.navigator.userAgent:null}n=m=l=i=!1;var p;if(p=o()){var q=d.navigator;i=p.indexOf("Opera")==0;l=!i&&p.indexOf("MSIE")!=-1;m=!i&&p.indexOf("WebKit")!=-1;n=!i&&!m&&q.product=="Gecko"}var r=l,s=n,v=m,w;
15
+ a:{var x="",y;if(i&&d.opera)var z=d.opera.version,x=typeof z=="function"?z():z;else if(s?y=/rv\:([^\);]+)(\)|;)/:r?y=/MSIE\s+([^\);]+)(\)|;)/:v&&(y=/WebKit\/(\S+)/),y)var A=y.exec(o()),x=A?A[1]:"";if(r){var B,C=d.document;B=C?C.documentMode:void 0;if(B>parseFloat(x)){w=String(B);break a}}w=x}var D={};
16
+ function E(a){var b;if(!(b=D[a])){b=0;for(var c=String(w).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),f=String(a).replace(/^[\s\xa0]+|[\s\xa0]+$/g,"").split("."),t=Math.max(c.length,f.length),u=0;b==0&&u<t;u++){var L=c[u]||"",M=f[u]||"",N=RegExp("(\\d*)(\\D*)","g"),O=RegExp("(\\d*)(\\D*)","g");do{var j=N.exec(L)||["","",""],k=O.exec(M)||["","",""];if(j[0].length==0&&k[0].length==0)break;b=h(j[1].length==0?0:parseInt(j[1],10),k[1].length==0?0:parseInt(k[1],10))||h(j[2].length==0,k[2].length==0)||
17
+ h(j[2],k[2])}while(b==0)}b=D[a]=b>=0}return b};function F(a){this.stack=Error().stack||"";if(a)this.message=String(a)}e(F,Error);e(function(a,b){b.unshift(a);F.call(this,g.apply(null,b));b.shift();this.f=a},F);!r||E("9");!s&&!r||r&&E("9")||s&&E("1.9.1");r&&E("9");function G(a,b,c,f,t){this.b=!!b;if(a&&(this.a=a))this.c=typeof f=="number"?f:this.a.nodeType!=1?0:this.b?-1:1;this.d=t!=void 0?t:this.c||0;this.b&&(this.d*=-1);this.e=!c}e(G,function(){});G.prototype.a=null;G.prototype.c=0;e(function(a,b,c,f){G.call(this,a,b,c,null,f)},G);function H(a){for(a=a.parentNode;a&&a.nodeType!=1&&a.nodeType!=9&&a.nodeType!=11;)a=a.parentNode;return a&&a.nodeType==1?a:null}var I="_".split("."),J=d;!(I[0]in J)&&J.execScript&&J.execScript("var "+I[0]);for(var K;I.length&&(K=I.shift());)!I.length&&H!==void 0?J[K]=H:J=J[K]?J[K]:J[K]={};; return this._.apply(null,arguments);}.apply({navigator:typeof window!='undefined'?window.navigator:null}, arguments);}
@@ -138,22 +138,14 @@ module Watir
138
138
  def fire_event(event_name)
139
139
  assert_exists
140
140
  event_name = event_name.to_s.sub(/^on/, '').downcase
141
- execute_atom(:fireEvent, @element, event_name)
141
+
142
+ execute_atom :fireEvent, @element, event_name
142
143
  end
143
144
 
144
145
  def parent
145
146
  assert_exists
146
147
 
147
- # TODO: atom?
148
- script = <<-JS
149
- var element = arguments[0].parentNode;
150
- if(element.nodeType != Node.ELEMENT_NODE)
151
- return null;
152
-
153
- return element;
154
- JS
155
-
156
- e = driver.execute_script(script, @element)
148
+ e = execute_atom :getParentElement, @element
157
149
 
158
150
  if e.kind_of?(WebDriver::Element)
159
151
  Watir.element_class_for(e.tag_name.downcase).new(@parent, :element => e)
@@ -1,3 +1,3 @@
1
1
  module Watir
2
- VERSION = "0.2.9"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: watir-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.9
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-08-02 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: selenium-webdriver
16
- requirement: &2168792380 !ruby/object:Gem::Requirement
16
+ requirement: &2164747440 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.2.2
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2168792380
24
+ version_requirements: *2164747440
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec
27
- requirement: &2168791720 !ruby/object:Gem::Requirement
27
+ requirement: &2164746940 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 2.3.0
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2168791720
35
+ version_requirements: *2164746940
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: yard
38
- requirement: &2168791140 !ruby/object:Gem::Requirement
38
+ requirement: &2164746460 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0.6'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2168791140
46
+ version_requirements: *2164746460
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: webidl
49
- requirement: &2168790620 !ruby/object:Gem::Requirement
49
+ requirement: &2164746000 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 0.1.1
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2168790620
57
+ version_requirements: *2164746000
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: sinatra
60
- requirement: &2168790060 !ruby/object:Gem::Requirement
60
+ requirement: &2164745540 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '1.0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2168790060
68
+ version_requirements: *2164745540
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: nokogiri
71
- requirement: &2168789560 !ruby/object:Gem::Requirement
71
+ requirement: &2164745160 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2168789560
79
+ version_requirements: *2164745160
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: activesupport
82
- requirement: &2168788900 !ruby/object:Gem::Requirement
82
+ requirement: &2164744620 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,7 +87,7 @@ dependencies:
87
87
  version: 2.3.5
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *2168788900
90
+ version_requirements: *2164744620
91
91
  description: WebDriver-backed Watir
92
92
  email:
93
93
  - jari.bakken@gmail.com
@@ -107,6 +107,7 @@ files:
107
107
  - lib/watir-webdriver/atoms/README
108
108
  - lib/watir-webdriver/atoms/fireEvent.js
109
109
  - lib/watir-webdriver/atoms/getOuterHtml.js
110
+ - lib/watir-webdriver/atoms/getParentElement.js
110
111
  - lib/watir-webdriver/atoms/selectText.js
111
112
  - lib/watir-webdriver/attribute_helper.rb
112
113
  - lib/watir-webdriver/browser.rb