blob: dfccf371882dc886d3bbdf373c6ea83b2f7bc336 [file] [log] [blame]
load("@io_bazel_rules_closure//closure:defs.bzl", "closure_js_deps", "closure_js_library")
load("//javascript:defs.bzl", "closure_fragment", "closure_lang_file", "closure_test_suite")
closure_js_library(
name = "lib",
srcs = glob(["*.js"]),
suppress = [
"JSC_IMPLICITLY_NULLABLE_JSDOC",
"JSC_OPTIONAL_PARAM_NOT_MARKED_OPTIONAL",
"JSC_PREFER_BACKTICKS_TO_AT_SIGN_CODE",
"JSC_STRICT_INEXISTENT_PROPERTY",
"JSC_UNKNOWN_EXPR_TYPE",
"JSC_USE_OF_GOOG_PROVIDE",
],
deps = [
"//javascript/atoms:dom",
"//javascript/atoms:locators",
"@io_bazel_rules_closure//closure/library/dom",
"@io_bazel_rules_closure//closure/library/math:coordinate",
"@io_bazel_rules_closure//closure/library/math:rect",
"@io_bazel_rules_closure//closure/library/math:size",
"@io_bazel_rules_closure//closure/library/style",
],
)
closure_fragment(
name = "get-location",
browsers = ["chrome"],
function = "goog.style.getPageOffset",
module = "goog.style",
deps = [
"@io_bazel_rules_closure//closure/library/style",
],
)
closure_fragment(
name = "get-location-in-view",
browsers = ["chrome"],
function = "webdriver.chrome.getLocationInView",
module = "webdriver.chrome",
deps = [":lib"],
)
closure_fragment(
name = "get-first-client-rect",
browsers = ["chrome"],
function = "webdriver.chrome.getFirstClientRect",
module = "webdriver.chrome",
deps = [":lib"],
)
closure_fragment(
name = "is-element-clickable",
browsers = ["chrome"],
function = "webdriver.chrome.isElementClickable",
module = "webdriver.chrome",
deps = [":lib"],
)
closure_fragment(
name = "get-page-zoom",
browsers = ["chrome"],
function = "webdriver.chrome.getPageZoom",
module = "webdriver.chrome",
deps = [":lib"],
)
closure_fragment(
name = "is-element-displayed",
browsers = ["chrome"],
function = "webdriver.chrome.isElementDisplayed",
module = "webdriver.chrome",
deps = [":lib"],
)
closure_fragment(
name = "find-element",
browsers = ["chrome"],
function = "webdriver.chrome.findElement",
module = "webdriver.chrome",
deps = [":lib"],
)
ATOMS = [
":find-element-chrome",
":get-first-client-rect-chrome",
":get-location-chrome",
":get-location-in-view-chrome",
":get-page-zoom-chrome",
":is-element-clickable-chrome",
":is-element-displayed-chrome",
"//javascript/atoms/fragments:clear-chrome",
"//javascript/atoms/fragments:click-chrome",
"//javascript/atoms/fragments:execute-async-script-chrome",
"//javascript/atoms/fragments:execute-script-chrome",
"//javascript/atoms/fragments:execute-sql-chrome",
"//javascript/atoms/fragments:find-elements-chrome",
"//javascript/atoms/fragments:get-effective-style-chrome",
"//javascript/atoms/fragments:get-size-chrome",
"//javascript/atoms/fragments:is-displayed-chrome",
"//javascript/atoms/fragments:is-enabled-chrome",
"//javascript/atoms/fragments:submit-chrome",
"//javascript/webdriver/atoms:clear-local-storage-chrome",
"//javascript/webdriver/atoms:clear-session-storage-chrome",
"//javascript/webdriver/atoms:get-appcache-status-chrome",
"//javascript/webdriver/atoms:get-attribute-chrome",
"//javascript/webdriver/atoms:get-local-storage-item-chrome",
"//javascript/webdriver/atoms:get-local-storage-key-chrome",
"//javascript/webdriver/atoms:get-local-storage-keys-chrome",
"//javascript/webdriver/atoms:get-local-storage-size-chrome",
"//javascript/webdriver/atoms:get-session-storage-item-chrome",
"//javascript/webdriver/atoms:get-session-storage-key-chrome",
"//javascript/webdriver/atoms:get-session-storage-keys-chrome",
"//javascript/webdriver/atoms:get-session-storage-size-chrome",
"//javascript/webdriver/atoms:get-text-chrome",
"//javascript/webdriver/atoms:is-selected-chrome",
"//javascript/webdriver/atoms:remove-local-storage-item-chrome",
"//javascript/webdriver/atoms:remove-session-storage-item-chrome",
"//javascript/webdriver/atoms:set-local-storage-item-chrome",
"//javascript/webdriver/atoms:set-session-storage-item-chrome",
]
closure_lang_file(
name = "header",
out = "atoms.h",
lang = "hdecl",
utf8 = True,
deps = ATOMS,
)
closure_lang_file(
name = "source",
out = "atoms.cc",
lang = "cc",
utf8 = True,
deps = ATOMS,
)
closure_js_library(
name = "all_js_for_testing",
testonly = 1,
srcs = glob(["**/*.js"]),
visibility = ["//javascript:__pkg__"],
deps = [],
)
filegroup(
name = "all_files",
testonly = 1,
srcs = glob(
["**/*"],
exclude = [
"build.desc",
],
),
)
closure_js_deps(
name = "deps",
testonly = 1,
deps = [
":lib",
"//javascript/webdriver/atoms:all_js_for_testing",
],
)
closure_test_suite(
name = "test",
data = [
":all_files",
":deps",
],
)