capybara-js_finders 0.2.2 → 0.3.0
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.
data/lib/capybara-js_finders.rb
CHANGED
@@ -76,9 +76,16 @@ module Capybara
|
|
76
76
|
"(./@#{BR} >= #{rtr} and ./@#{TR} <= #{rbr})"
|
77
77
|
end
|
78
78
|
|
79
|
+
def self.not_equal_to(headers)
|
80
|
+
headers.reject{|h| h == true}.map do |h|
|
81
|
+
"( ./@#{TR} != #{h[TR]} or ./@#{BR} != #{h[BR]} or ./@#{LR} != #{h[LR]} or ./@#{RR} != #{h[RR]} )"
|
82
|
+
end.join(" and ")
|
83
|
+
end
|
84
|
+
|
79
85
|
# Condition for td to be under one of column and on the same level as one of the rows
|
86
|
+
# and cannot be the same cell as one of the row-header or column-header
|
80
87
|
def self.cell_condition(columns, rows)
|
81
|
-
xpath = "( #{overlaps_rows(rows)} ) and ( #{overlaps_columns(columns)} ) "
|
88
|
+
xpath = "( #{overlaps_rows(rows)} ) and ( #{overlaps_columns(columns)} ) and (#{not_equal_to(columns + rows)})"
|
82
89
|
return xpath
|
83
90
|
end
|
84
91
|
|
@@ -21,6 +21,10 @@
|
|
21
21
|
<td colspan="3">
|
22
22
|
ThreeColumns
|
23
23
|
</td>
|
24
|
+
|
25
|
+
<td>
|
26
|
+
March 2013
|
27
|
+
</td>
|
24
28
|
</tr>
|
25
29
|
|
26
30
|
<tr>
|
@@ -45,6 +49,10 @@
|
|
45
49
|
<td style="background-color: DarkGoldenRod;">
|
46
50
|
DarkGoldenRod
|
47
51
|
</td>
|
52
|
+
|
53
|
+
<td>
|
54
|
+
13
|
55
|
+
</td>
|
48
56
|
</tr>
|
49
57
|
|
50
58
|
<tr>
|
@@ -146,6 +154,14 @@
|
|
146
154
|
</td>
|
147
155
|
</tr>
|
148
156
|
|
157
|
+
<tr>
|
158
|
+
<td>
|
159
|
+
January 2012
|
160
|
+
</td>
|
161
|
+
<td>
|
162
|
+
12
|
163
|
+
</td>
|
164
|
+
</tr>
|
149
165
|
</table>
|
150
166
|
|
151
167
|
</body>
|
@@ -67,6 +67,7 @@ module FindCellTests
|
|
67
67
|
end
|
68
68
|
|
69
69
|
def test_find_cell_not_found
|
70
|
+
user.visit '/'
|
70
71
|
assert_not_found{ user.find_cell(:row => "OneRow", :column => "OneColumn", :text => "hor") }
|
71
72
|
assert_not_found{ user.find_cell(:row => "OneRow", :column => "OneColumn", :text => "ver") }
|
72
73
|
|
@@ -77,10 +78,20 @@ module FindCellTests
|
|
77
78
|
end
|
78
79
|
|
79
80
|
def test_find_cell_without_row_or_column
|
81
|
+
user.visit '/'
|
80
82
|
assert user.find_cell(:row => "OneRow", :text => "red").has_content?("red")
|
81
83
|
assert user.find_cell(:column => "OneColumn", :text => "red").has_content?("red")
|
82
84
|
end
|
83
85
|
|
86
|
+
def test_does_not_find_row_header_as_a_cell
|
87
|
+
user.visit '/'
|
88
|
+
assert ! user.find_cell(:row => "January 2012", :text => "12").has_content?("January")
|
89
|
+
end
|
90
|
+
|
91
|
+
def test_does_not_find_column_header_as_a_cell
|
92
|
+
user.visit '/'
|
93
|
+
assert ! user.find_cell(:column => "March 2013", :text => "13").has_content?("March")
|
94
|
+
end
|
84
95
|
|
85
96
|
private
|
86
97
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capybara-js_finders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,12 +9,12 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-07-
|
12
|
+
date: 2011-07-27 00:00:00.000000000 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: capybara
|
17
|
-
requirement: &
|
17
|
+
requirement: &72850780 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 1.0.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *72850780
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: rake
|
28
|
-
requirement: &
|
28
|
+
requirement: &72850530 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: 0.9.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *72850530
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rdoc
|
39
|
-
requirement: &
|
39
|
+
requirement: &72850300 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: 2.4.2
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *72850300
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: sinatra
|
50
|
-
requirement: &
|
50
|
+
requirement: &72850070 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ~>
|
@@ -55,10 +55,10 @@ dependencies:
|
|
55
55
|
version: 1.2.6
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *72850070
|
59
59
|
- !ruby/object:Gem::Dependency
|
60
60
|
name: erubis
|
61
|
-
requirement: &
|
61
|
+
requirement: &72849840 !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
64
|
- - ~>
|
@@ -66,10 +66,10 @@ dependencies:
|
|
66
66
|
version: 2.6.6
|
67
67
|
type: :development
|
68
68
|
prerelease: false
|
69
|
-
version_requirements: *
|
69
|
+
version_requirements: *72849840
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
71
|
name: bbq
|
72
|
-
requirement: &
|
72
|
+
requirement: &72849610 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
75
|
- - ~>
|
@@ -77,10 +77,10 @@ dependencies:
|
|
77
77
|
version: 0.0.3
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
|
-
version_requirements: *
|
80
|
+
version_requirements: *72849610
|
81
81
|
- !ruby/object:Gem::Dependency
|
82
82
|
name: redcarpet
|
83
|
-
requirement: &
|
83
|
+
requirement: &72849380 !ruby/object:Gem::Requirement
|
84
84
|
none: false
|
85
85
|
requirements:
|
86
86
|
- - ~>
|
@@ -88,10 +88,10 @@ dependencies:
|
|
88
88
|
version: '1.17'
|
89
89
|
type: :development
|
90
90
|
prerelease: false
|
91
|
-
version_requirements: *
|
91
|
+
version_requirements: *72849380
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: ruby-debug19
|
94
|
-
requirement: &
|
94
|
+
requirement: &72849190 !ruby/object:Gem::Requirement
|
95
95
|
none: false
|
96
96
|
requirements:
|
97
97
|
- - ! '>='
|
@@ -99,7 +99,7 @@ dependencies:
|
|
99
99
|
version: '0'
|
100
100
|
type: :development
|
101
101
|
prerelease: false
|
102
|
-
version_requirements: *
|
102
|
+
version_requirements: *72849190
|
103
103
|
description: ! " Additional finders for capybara that for some reason\n cannot
|
104
104
|
use only xpath for finding nodes but needs to\n execute js for some calculations.\n\n
|
105
105
|
\ Ex: I you want to find a table cell\n that is under or next to other cell
|
@@ -144,7 +144,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
144
144
|
version: '0'
|
145
145
|
segments:
|
146
146
|
- 0
|
147
|
-
hash:
|
147
|
+
hash: 1067246483
|
148
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
149
149
|
none: false
|
150
150
|
requirements:
|
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
153
153
|
version: '0'
|
154
154
|
segments:
|
155
155
|
- 0
|
156
|
-
hash:
|
156
|
+
hash: 1067246483
|
157
157
|
requirements: []
|
158
158
|
rubyforge_project: capybara-js_finders
|
159
159
|
rubygems_version: 1.6.2
|