1 package com.atlassian.pageobjects.browser;
2
3 import java.util.Locale;
4
5 public enum Browser
6 {
7 ALL,
8 FIREFOX,
9 OPERA,
10 /** Safari on the desktop, not iOS. */
11 SAFARI,
12 UNKNOWN,
13 IE,
14 CHROME,
15 /** HtmlUnit with javascript disabled. */
16 HTMLUNIT_NOJS,
17 /** HtmlUnit with javascript enabled. */
18 HTMLUNIT,
19 /** Simulator for any iOS device - runs on your OSX desktop. */
20 IPHONE_SIMULATOR,
21 /** Uses a real live iPhone. */
22 IPHONE,
23 /** Uses a real live iPad. */
24 IPAD,
25 /** Android emulator - runs on your desktop. */
26 ANDROID_EMULATOR,
27 /** Uses a real live Android phone, tablet or other android device. */
28 ANDROID;
29
30 /**
31 * @return a lowercase version of the name
32 */
33 public String getName()
34 {
35 return name().toLowerCase(Locale.ENGLISH);
36 }
37
38 public static Browser typeOf(String browserStartString)
39 {
40 for (Browser browser : Browser.values())
41 {
42 if (browserStartString.startsWith(browser.getName()))
43 {
44 return browser;
45 }
46 }
47 return UNKNOWN;
48 }
49
50 }