mirror of
https://github.com/teamcapybara/capybara.git
synced 2022-11-09 12:08:07 -05:00
square brackets for terser syntax
This commit is contained in:
parent
c6f829f337
commit
abccc239cd
1 changed files with 13 additions and 17 deletions
|
|
@ -19,34 +19,30 @@ module Capybara
|
|||
class << self
|
||||
include ::XPath
|
||||
|
||||
def locator
|
||||
varstring(:locator)
|
||||
end
|
||||
|
||||
def collection(*args)
|
||||
::XPath::Collection.new(*args)
|
||||
end
|
||||
|
||||
def link(locator)
|
||||
link = descendant(:a).where(attr(:href))
|
||||
link = descendant(:a)[attr(:href)]
|
||||
collection(
|
||||
link.where(text.equals(locator) | attr(:title).equals(locator) | descendant(:img).where(attr(:alt).equals(locator))),
|
||||
link.where(attr(:id).contains(locator) | contains(locator) | attr(:title).contains(locator) | descendant(:img).where(attr(:alt).contains(locator)))
|
||||
).apply(:locator => locator)
|
||||
link[text.equals(locator) | attr(:title).equals(locator) | descendant(:img)[attr(:alt).equals(locator)]],
|
||||
link[attr(:id).contains(locator) | contains(locator) | attr(:title).contains(locator) | descendant(:img)[attr(:alt).contains(locator)]]
|
||||
)
|
||||
end
|
||||
|
||||
def button(locator)
|
||||
input = descendant(:input).where(attr(:type).one_of('submit', 'image', 'button'))
|
||||
input = descendant(:input)[attr(:type).one_of('submit', 'image', 'button')]
|
||||
button = descendant(:button)
|
||||
image = descendant(:input).where(attr(:type).equals('image'))
|
||||
image = descendant(:input)[attr(:type).equals('image')]
|
||||
collection(
|
||||
button.where(attr(:value).equals(locator) | text.equals(locator)),
|
||||
input.where(attr(:value).equals(locator)),
|
||||
image.where(attr(:alt).equals(locator)),
|
||||
input.where(attr(:id).equals(locator) | attr(:value).contains(locator)),
|
||||
button.where(attr(:id).equals(locator) | attr(:value).contains(locator) | contains(locator)),
|
||||
image.where(attr(:alt).contains(locator))
|
||||
).apply(:locator => locator)
|
||||
button[attr(:value).equals(locator) | text.equals(locator)],
|
||||
input[attr(:value).equals(locator)],
|
||||
image[attr(:alt).equals(locator)],
|
||||
input[attr(:id).equals(locator) | attr(:value).contains(locator)],
|
||||
button[attr(:id).equals(locator) | attr(:value).contains(locator) | contains(locator)],
|
||||
image[attr(:alt).contains(locator)]
|
||||
)
|
||||
end
|
||||
|
||||
def escape(string)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue