summaryrefslogtreecommitdiff
path: root/vendor/github.com/playwright-community/playwright-go/locator_helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/playwright-community/playwright-go/locator_helpers.go')
-rw-r--r--vendor/github.com/playwright-community/playwright-go/locator_helpers.go133
1 files changed, 0 insertions, 133 deletions
diff --git a/vendor/github.com/playwright-community/playwright-go/locator_helpers.go b/vendor/github.com/playwright-community/playwright-go/locator_helpers.go
deleted file mode 100644
index 2836fca..0000000
--- a/vendor/github.com/playwright-community/playwright-go/locator_helpers.go
+++ /dev/null
@@ -1,133 +0,0 @@
-package playwright
-
-import (
- "encoding/json"
- "fmt"
- "regexp"
- "strings"
-)
-
-func convertRegexp(reg *regexp.Regexp) (pattern, flags string) {
- matches := regexp.MustCompile(`\(\?([imsU]+)\)(.+)`).FindStringSubmatch(reg.String())
-
- if len(matches) == 3 {
- pattern = matches[2]
- flags = matches[1]
- } else {
- pattern = reg.String()
- }
- return
-}
-
-func escapeForAttributeSelector(text interface{}, exact bool) string {
- switch text := text.(type) {
- case *regexp.Regexp:
- return escapeRegexForSelector(text)
- default:
- suffix := "i"
- if exact {
- suffix = "s"
- }
- return fmt.Sprintf(`"%s"%s`, strings.Replace(strings.Replace(text.(string), `\`, `\\`, -1), `"`, `\"`, -1), suffix)
- }
-}
-
-func escapeForTextSelector(text interface{}, exact bool) string {
- switch text := text.(type) {
- case *regexp.Regexp:
- return escapeRegexForSelector(text)
- default:
- if exact {
- return fmt.Sprintf(`%ss`, escapeText(text.(string)))
- }
- return fmt.Sprintf(`%si`, escapeText(text.(string)))
- }
-}
-
-func escapeRegexForSelector(re *regexp.Regexp) string {
- pattern, flag := convertRegexp(re)
- return fmt.Sprintf(`/%s/%s`, strings.ReplaceAll(pattern, `>>`, `\>\>`), flag)
-}
-
-func escapeText(s string) string {
- builder := &strings.Builder{}
- encoder := json.NewEncoder(builder)
- encoder.SetEscapeHTML(false)
- _ = encoder.Encode(s)
- return strings.TrimSpace(builder.String())
-}
-
-func getByAltTextSelector(text interface{}, exact bool) string {
- return getByAttributeTextSelector("alt", text, exact)
-}
-
-func getByAttributeTextSelector(attrName string, text interface{}, exact bool) string {
- return fmt.Sprintf(`internal:attr=[%s=%s]`, attrName, escapeForAttributeSelector(text, exact))
-}
-
-func getByLabelSelector(text interface{}, exact bool) string {
- return fmt.Sprintf(`internal:label=%s`, escapeForTextSelector(text, exact))
-}
-
-func getByPlaceholderSelector(text interface{}, exact bool) string {
- return getByAttributeTextSelector("placeholder", text, exact)
-}
-
-func getByRoleSelector(role AriaRole, options ...LocatorGetByRoleOptions) string {
- props := make(map[string]string)
- if len(options) == 1 {
- if options[0].Checked != nil {
- props["checked"] = fmt.Sprintf("%t", *options[0].Checked)
- }
- if options[0].Disabled != nil {
- props["disabled"] = fmt.Sprintf("%t", *options[0].Disabled)
- }
- if options[0].Selected != nil {
- props["selected"] = fmt.Sprintf("%t", *options[0].Selected)
- }
- if options[0].Expanded != nil {
- props["expanded"] = fmt.Sprintf("%t", *options[0].Expanded)
- }
- if options[0].IncludeHidden != nil {
- props["include-hidden"] = fmt.Sprintf("%t", *options[0].IncludeHidden)
- }
- if options[0].Level != nil {
- props["level"] = fmt.Sprintf("%d", *options[0].Level)
- }
- if options[0].Name != nil {
- exact := false
- if options[0].Exact != nil {
- exact = *options[0].Exact
- }
- props["name"] = escapeForAttributeSelector(options[0].Name, exact)
- }
- if options[0].Pressed != nil {
- props["pressed"] = fmt.Sprintf("%t", *options[0].Pressed)
- }
- }
- propsStr := ""
- for k, v := range props {
- propsStr += "[" + k + "=" + v + "]"
- }
- return fmt.Sprintf("internal:role=%s%s", role, propsStr)
-}
-
-func getByTextSelector(text interface{}, exact bool) string {
- return fmt.Sprintf(`internal:text=%s`, escapeForTextSelector(text, exact))
-}
-
-func getByTestIdSelector(testIdAttributeName string, testId interface{}) string {
- return fmt.Sprintf(`internal:testid=[%s=%s]`, testIdAttributeName, escapeForAttributeSelector(testId, true))
-}
-
-func getByTitleSelector(text interface{}, exact bool) string {
- return getByAttributeTextSelector("title", text, exact)
-}
-
-func getTestIdAttributeName() string {
- return testIdAttributeName
-}
-
-func setTestIdAttributeName(name string) {
- testIdAttributeName = name
-}