# encoding: utf-8
module Appium
class Driver
@@map = {
1 => [ 'text(String text)', 'SELECTOR_TEXT', 1],
2 => [ 'textStartsWith(String text)', 'SELECTOR_START_TEXT', 2],
3 => [ 'textContains(String text)', 'SELECTOR_CONTAINS_TEXT', 3],
4 => [ 'className(String className)', 'SELECTOR_CLASS', 4],
5 => [ 'description(String desc)', 'SELECTOR_DESCRIPTION', 5],
6 => [ 'descriptionStartsWith(String desc)', 'SELECTOR_START_DESCRIPTION', 6],
7 => [ 'descriptionContains(String desc)', 'SELECTOR_CONTAINS_DESCRIPTION', 7],
8 => [ 'index(final int index)', 'SELECTOR_INDEX', 8],
9 => [ 'instance(final int instance)', 'SELECTOR_INSTANCE', 9],
10 => [ 'enabled(boolean val)', 'SELECTOR_ENABLED', 10],
11 => [ 'focused(boolean val)', 'SELECTOR_FOCUSED', 11],
12 => [ 'focusable(boolean val)', 'SELECTOR_FOCUSABLE', 12],
13 => [ 'scrollable(boolean val)', 'SELECTOR_SCROLLABLE', 13],
14 => [ 'clickable(boolean val)', 'SELECTOR_CLICKABLE', 14],
15 => [ 'checked(boolean val)', 'SELECTOR_CHECKED', 15],
16 => [ 'selected(boolean val)', 'SELECTOR_SELECTED', 16],
# // SELECTOR_ID = 17; // nothing.
18 => [ 'packageName(String name)', 'SELECTOR_PACKAGE_NAME', 18],
# // SELECTOR_CHILD = 19; // childSelector(UiSelector selector)
# // SELECTOR_CONTAINER = 20; // containerSelector(UiSelector selector)
# // SELECTOR_PATTERN = 21; // ! private ! patternSelector(UiSelector selector)
# // SELECTOR_PARENT = 22; // fromParent(UiSelector selector)
# // SELECTOR_COUNT = 23; // nothing.
24 => [ 'longClickable(boolean val)', 'SELECTOR_LONG_CLICKABLE', 24],
25 => [ 'textMatches(String regex)', 'SELECTOR_TEXT_REGEX', 25],
26 => [ 'classNameMatches(String regex)', 'SELECTOR_CLASS_REGEX', 26],
27 => [ 'descriptionMatches(String regex)', 'SELECTOR_DESCRIPTION_REGEX', 27],
28 => [ 'packageNameMatches(String regex)', 'SELECTOR_PACKAGE_NAME_REGEX', 28],
# // start internal methods at 100
100 => [ 'getStringAttribute("name")', 'GET_NAME', 100]
}
# @private
def dynamic_code_to_string code, value=false
result = @@map[code].first
return result unless value
result.split('(').first + "( \"#{value}\" )"
end
end # class Driver
end # module Appium