1# Note that we can only test things here all implementations must support
2valid_data = [
3    ("acceptInsecureCerts", [
4        False, None,
5    ]),
6    ("browserName", [
7        None,
8    ]),
9    ("browserVersion", [
10        None,
11    ]),
12    ("platformName", [
13        None,
14    ]),
15    ("pageLoadStrategy", [
16        None,
17        "none",
18        "eager",
19        "normal",
20    ]),
21    ("proxy", [
22        None,
23    ]),
24    ("timeouts", [
25        None, {},
26        {"script": 0, "pageLoad": 2.0, "implicit": 2**53 - 1},
27        {"script": 50, "pageLoad": 25},
28        {"script": 500},
29    ]),
30    ("strictFileInteractability", [
31        True, False, None,
32    ]),
33    ("unhandledPromptBehavior", [
34        "dismiss",
35        "accept",
36        None,
37    ]),
38    ("test:extension", [
39        None, False, "abc", 123, [],
40        {"key": "value"},
41    ]),
42]
43
44invalid_data = [
45    ("acceptInsecureCerts", [
46        1, [], {}, "false",
47    ]),
48    ("browserName", [
49        1, [], {}, False,
50    ]),
51    ("browserVersion", [
52        1, [], {}, False,
53    ]),
54    ("platformName", [
55        1, [], {}, False,
56    ]),
57    ("pageLoadStrategy", [
58        1, [], {}, False,
59        "invalid",
60        "NONE",
61        "Eager",
62        "eagerblah",
63        "interactive",
64        " eager",
65        "eager "]),
66    ("proxy", [
67        1, [], "{}",
68        {"proxyType": "SYSTEM"},
69        {"proxyType": "systemSomething"},
70        {"proxy type": "pac"},
71        {"proxy-Type": "system"},
72        {"proxy_type": "system"},
73        {"proxytype": "system"},
74        {"PROXYTYPE": "system"},
75        {"proxyType": None},
76        {"proxyType": 1},
77        {"proxyType": []},
78        {"proxyType": {"value": "system"}},
79        {" proxyType": "system"},
80        {"proxyType ": "system"},
81        {"proxyType ": " system"},
82        {"proxyType": "system "},
83    ]),
84    ("timeouts", [
85        1, [], "{}", False,
86        {"invalid": 10},
87        {"PAGELOAD": 10},
88        {"page load": 10},
89        {" pageLoad": 10},
90        {"pageLoad ": 10},
91        {"pageLoad": None},
92        {"pageLoad": False},
93        {"pageLoad": []},
94        {"pageLoad": "10"},
95        {"pageLoad": 2.5},
96        {"pageLoad": -1},
97        {"pageLoad": 2**53},
98        {"pageLoad": {"value": 10}},
99        {"pageLoad": 10, "invalid": 10},
100    ]),
101    ("strictFileInteractability", [
102        1, [], {}, "false",
103    ]),
104    ("unhandledPromptBehavior", [
105        1, [], {}, False,
106        "DISMISS",
107        "dismissABC",
108        "Accept",
109        " dismiss",
110        "dismiss ",
111    ])
112]
113
114invalid_extensions = [
115    "automaticInspection",
116    "automaticProfiling",
117    "browser",
118    "chromeOptions",
119    "ensureCleanSession",
120    "firefox",
121    "firefox_binary",
122    "firefoxOptions",
123    "initialBrowserUrl",
124    "javascriptEnabled",
125    "logFile",
126    "logLevel",
127    "nativeEvents",
128    "platform",
129    "platformVersion",
130    "profile",
131    "requireWindowFocus",
132    "safari.options",
133    "seleniumProtocol",
134    "trustAllSSLCertificates",
135    "version",
136]
137