Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

TestVBrowserDetailsUserAgentParser.java 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485
  1. package com.vaadin.terminal.gwt.client;
  2. import junit.framework.TestCase;
  3. public class TestVBrowserDetailsUserAgentParser extends TestCase {
  4. private static final String FIREFOX30_WINDOWS = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6";
  5. private static final String FIREFOX30_LINUX = "Mozilla/5.0 (X11; U; Linux x86_64; es-ES; rv:1.9.0.12) Gecko/2009070811 Ubuntu/9.04 (jaunty) Firefox/3.0.12";
  6. private static final String FIREFOX35_WINDOWS = "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.8) Gecko/20100202 Firefox/3.5.8 (.NET CLR 3.5.30729) FirePHP/0.4";
  7. private static final String FIREFOX36_WINDOWS = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)";
  8. private static final String FIREFOX36B_MAC = "UAString mozilla/5.0 (macintosh; u; intel mac os x 10.6; en-us; rv:1.9.2) gecko/20100115 firefox/3.6";
  9. private static final String FIREFOX_30B5_MAC = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9b5) Gecko/2008032619 Firefox/3.0b5";
  10. private static final String FIREFOX_40B7_WIN = "Mozilla/5.0 (Windows NT 5.1; rv:2.0b7) Gecko/20100101 Firefox/4.0b7";
  11. private static final String FIREFOX_40B11_WIN = "Mozilla/5.0 (Windows NT 5.1; rv:2.0b11) Gecko/20100101 Firefox/4.0b11";
  12. private static final String KONQUEROR_LINUX = "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.5 (like Gecko) (Exabot-Thumbnails)";
  13. private static final String IE6_WINDOWS = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
  14. private static final String IE7_WINDOWS = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
  15. private static final String IE8_WINDOWS = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";
  16. private static final String IE8_IN_IE7_MODE_WINDOWS = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)";
  17. private static final String IE9_BETA_IN_IE7_MODE_WINDOWS_7 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)";
  18. private static final String IE9_BETA_IN_IE8_MODE_WINDOWS_7 = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)";
  19. private static final String IE9_BETA_WINDOWS_7 = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)";
  20. // "Version/" was added in 10.00
  21. private static final String OPERA964_WINDOWS = "Opera/9.64(Windows NT 5.1; U; en) Presto/2.1.1";
  22. private static final String OPERA1010_WINDOWS = "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.10";
  23. private static final String OPERA1050_WINDOWS = "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.5.22 Version/10.50";
  24. private static final String CHROME3_MAC = "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.198 Safari/532.0";
  25. private static final String CHROME4_WINDOWS = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.89 Safari/532.5";
  26. private static final String SAFARI3_WINDOWS = "Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ) AppleWebKit/525.28.3 (KHTML, like Gecko) Version/3.2.3 Safari/525.29";
  27. private static final String SAFARI4_MAC = "Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_5_8; en-us) AppleWebKit/531.22.7 (KHTML, like Gecko) Version/4.0.5 Safari/531.22.7";
  28. private static final String IPHONE_IOS_5_1 = "Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3";
  29. private static final String IPHONE_IOS_4_0 = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7";
  30. private static final String IPAD_IOS_4_3_1 = "Mozilla/5.0 (iPad; U; CPU OS 4_3_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5";
  31. private static final String ANDROID_HTC_2_1 = "Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; ADR6300 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17";
  32. private static final String ANDROID_GOOGLE_NEXUS_2_2 = "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1";
  33. private static final String ANDROID_MOTOROLA_3_0 = "Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13";
  34. private static final String ANDROID_GALAXY_NEXUS_4_0_4_CHROME = "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19";
  35. public void testSafari3() {
  36. VBrowserDetails bd = new VBrowserDetails(SAFARI3_WINDOWS);
  37. assertWebKit(bd);
  38. assertSafari(bd);
  39. assertBrowserMajorVersion(bd, 3);
  40. assertBrowserMinorVersion(bd, 2);
  41. assertEngineVersion(bd, 525.0f);
  42. assertWindows(bd);
  43. }
  44. public void testSafari4() {
  45. VBrowserDetails bd = new VBrowserDetails(SAFARI4_MAC);
  46. assertWebKit(bd);
  47. assertSafari(bd);
  48. assertBrowserMajorVersion(bd, 4);
  49. assertBrowserMinorVersion(bd, 0);
  50. assertEngineVersion(bd, 531f);
  51. assertMacOSX(bd);
  52. }
  53. public void testIPhoneIOS5() {
  54. VBrowserDetails bd = new VBrowserDetails(IPHONE_IOS_5_1);
  55. assertWebKit(bd);
  56. assertSafari(bd);
  57. assertBrowserMajorVersion(bd, 5);
  58. assertBrowserMinorVersion(bd, 1);
  59. assertEngineVersion(bd, 534f);
  60. assertIOS(bd, 5, 1);
  61. }
  62. public void testIPhoneIOS4() {
  63. VBrowserDetails bd = new VBrowserDetails(IPHONE_IOS_4_0);
  64. assertWebKit(bd);
  65. assertSafari(bd);
  66. assertBrowserMajorVersion(bd, 4);
  67. assertBrowserMinorVersion(bd, 0);
  68. assertEngineVersion(bd, 532f);
  69. assertIOS(bd, 4, 0);
  70. }
  71. public void testIPadIOS4() {
  72. VBrowserDetails bd = new VBrowserDetails(IPAD_IOS_4_3_1);
  73. assertWebKit(bd);
  74. assertSafari(bd);
  75. assertBrowserMajorVersion(bd, 5);
  76. assertBrowserMinorVersion(bd, 0);
  77. assertEngineVersion(bd, 533f);
  78. assertIOS(bd, 4, 3);
  79. }
  80. public void testAndroid21() {
  81. VBrowserDetails bd = new VBrowserDetails(ANDROID_HTC_2_1);
  82. assertWebKit(bd);
  83. assertSafari(bd);
  84. assertBrowserMajorVersion(bd, 4);
  85. assertBrowserMinorVersion(bd, 0);
  86. assertEngineVersion(bd, 530f);
  87. assertAndroid(bd, 2, 1);
  88. }
  89. public void testAndroid22() {
  90. VBrowserDetails bd = new VBrowserDetails(ANDROID_GOOGLE_NEXUS_2_2);
  91. assertWebKit(bd);
  92. assertSafari(bd);
  93. assertBrowserMajorVersion(bd, 4);
  94. assertBrowserMinorVersion(bd, 0);
  95. assertEngineVersion(bd, 533f);
  96. assertAndroid(bd, 2, 2);
  97. }
  98. public void testAndroid30() {
  99. VBrowserDetails bd = new VBrowserDetails(ANDROID_MOTOROLA_3_0);
  100. assertWebKit(bd);
  101. assertSafari(bd);
  102. assertBrowserMajorVersion(bd, 4);
  103. assertBrowserMinorVersion(bd, 0);
  104. assertEngineVersion(bd, 534f);
  105. assertAndroid(bd, 3, 0);
  106. }
  107. public void testAndroid40Chrome() {
  108. VBrowserDetails bd = new VBrowserDetails(
  109. ANDROID_GALAXY_NEXUS_4_0_4_CHROME);
  110. assertWebKit(bd);
  111. assertChrome(bd);
  112. assertBrowserMajorVersion(bd, 18);
  113. assertBrowserMinorVersion(bd, 0);
  114. assertEngineVersion(bd, 535f);
  115. assertAndroid(bd, 4, 0);
  116. }
  117. private void assertOSMajorVersion(VBrowserDetails bd, int i) {
  118. assertEquals(i, bd.getOperatingSystemMajorVersion());
  119. }
  120. private void assertOSMinorVersion(VBrowserDetails bd, int i) {
  121. assertEquals(i, bd.getOperatingSystemMinorVersion());
  122. }
  123. public void testChrome3() {
  124. VBrowserDetails bd = new VBrowserDetails(CHROME3_MAC);
  125. assertWebKit(bd);
  126. assertChrome(bd);
  127. assertBrowserMajorVersion(bd, 3);
  128. assertBrowserMinorVersion(bd, 0);
  129. assertEngineVersion(bd, 532.0f);
  130. assertMacOSX(bd);
  131. }
  132. public void testChrome4() {
  133. VBrowserDetails bd = new VBrowserDetails(CHROME4_WINDOWS);
  134. assertWebKit(bd);
  135. assertChrome(bd);
  136. assertBrowserMajorVersion(bd, 4);
  137. assertBrowserMinorVersion(bd, 0);
  138. assertEngineVersion(bd, 532f);
  139. assertWindows(bd);
  140. }
  141. public void testFirefox3() {
  142. VBrowserDetails bd = new VBrowserDetails(FIREFOX30_WINDOWS);
  143. assertGecko(bd);
  144. assertFirefox(bd);
  145. assertBrowserMajorVersion(bd, 3);
  146. assertBrowserMinorVersion(bd, 0);
  147. assertEngineVersion(bd, 1.9f);
  148. assertWindows(bd);
  149. bd = new VBrowserDetails(FIREFOX30_LINUX);
  150. assertGecko(bd);
  151. assertFirefox(bd);
  152. assertBrowserMajorVersion(bd, 3);
  153. assertBrowserMinorVersion(bd, 0);
  154. assertEngineVersion(bd, 1.9f);
  155. assertLinux(bd);
  156. }
  157. public void testFirefox35() {
  158. VBrowserDetails bd = new VBrowserDetails(FIREFOX35_WINDOWS);
  159. assertGecko(bd);
  160. assertFirefox(bd);
  161. assertBrowserMajorVersion(bd, 3);
  162. assertBrowserMinorVersion(bd, 5);
  163. assertEngineVersion(bd, 1.9f);
  164. assertWindows(bd);
  165. }
  166. public void testFirefox36() {
  167. VBrowserDetails bd = new VBrowserDetails(FIREFOX36_WINDOWS);
  168. assertGecko(bd);
  169. assertFirefox(bd);
  170. assertBrowserMajorVersion(bd, 3);
  171. assertBrowserMinorVersion(bd, 6);
  172. assertEngineVersion(bd, 1.9f);
  173. assertWindows(bd);
  174. }
  175. public void testFirefox30b5() {
  176. VBrowserDetails bd = new VBrowserDetails(FIREFOX_30B5_MAC);
  177. assertGecko(bd);
  178. assertFirefox(bd);
  179. assertBrowserMajorVersion(bd, 3);
  180. assertBrowserMinorVersion(bd, 0);
  181. assertEngineVersion(bd, 1.9f);
  182. assertMacOSX(bd);
  183. }
  184. public void testFirefox40b11() {
  185. VBrowserDetails bd = new VBrowserDetails(FIREFOX_40B11_WIN);
  186. assertGecko(bd);
  187. assertFirefox(bd);
  188. assertBrowserMajorVersion(bd, 4);
  189. assertBrowserMinorVersion(bd, 0);
  190. assertEngineVersion(bd, 2.0f);
  191. assertWindows(bd);
  192. }
  193. public void testFirefox40b7() {
  194. VBrowserDetails bd = new VBrowserDetails(FIREFOX_40B7_WIN);
  195. assertGecko(bd);
  196. assertFirefox(bd);
  197. assertBrowserMajorVersion(bd, 4);
  198. assertBrowserMinorVersion(bd, 0);
  199. assertEngineVersion(bd, 2.0f);
  200. assertWindows(bd);
  201. }
  202. public void testKonquerorLinux() {
  203. // Just ensure detection does not crash
  204. VBrowserDetails bd = new VBrowserDetails(KONQUEROR_LINUX);
  205. assertLinux(bd);
  206. }
  207. public void testFirefox36b() {
  208. VBrowserDetails bd = new VBrowserDetails(FIREFOX36B_MAC);
  209. assertGecko(bd);
  210. assertFirefox(bd);
  211. assertBrowserMajorVersion(bd, 3);
  212. assertBrowserMinorVersion(bd, 6);
  213. assertEngineVersion(bd, 1.9f);
  214. assertMacOSX(bd);
  215. }
  216. public void testOpera964() {
  217. VBrowserDetails bd = new VBrowserDetails(OPERA964_WINDOWS);
  218. assertPresto(bd);
  219. assertOpera(bd);
  220. assertBrowserMajorVersion(bd, 9);
  221. assertBrowserMinorVersion(bd, 64);
  222. assertWindows(bd);
  223. }
  224. public void testOpera1010() {
  225. VBrowserDetails bd = new VBrowserDetails(OPERA1010_WINDOWS);
  226. assertPresto(bd);
  227. assertOpera(bd);
  228. assertBrowserMajorVersion(bd, 10);
  229. assertBrowserMinorVersion(bd, 10);
  230. assertWindows(bd);
  231. }
  232. public void testOpera1050() {
  233. VBrowserDetails bd = new VBrowserDetails(OPERA1050_WINDOWS);
  234. assertPresto(bd);
  235. assertOpera(bd);
  236. assertBrowserMajorVersion(bd, 10);
  237. assertBrowserMinorVersion(bd, 50);
  238. assertWindows(bd);
  239. }
  240. public void testIE6() {
  241. VBrowserDetails bd = new VBrowserDetails(IE6_WINDOWS);
  242. // assertTrident(bd);
  243. assertIE(bd);
  244. assertBrowserMajorVersion(bd, 6);
  245. assertBrowserMinorVersion(bd, 0);
  246. assertWindows(bd);
  247. }
  248. public void testIE7() {
  249. VBrowserDetails bd = new VBrowserDetails(IE7_WINDOWS);
  250. // assertTrident(bd);
  251. assertIE(bd);
  252. assertBrowserMajorVersion(bd, 7);
  253. assertBrowserMinorVersion(bd, 0);
  254. assertWindows(bd);
  255. }
  256. public void testIE8() {
  257. VBrowserDetails bd = new VBrowserDetails(IE8_WINDOWS);
  258. // assertTrident(bd);
  259. assertIE(bd);
  260. assertBrowserMajorVersion(bd, 8);
  261. assertBrowserMinorVersion(bd, 0);
  262. assertWindows(bd);
  263. }
  264. public void testIE8CompatibilityMode() {
  265. VBrowserDetails bd = new VBrowserDetails(IE8_IN_IE7_MODE_WINDOWS);
  266. bd.setIEMode(7);
  267. // assertTrident(bd);
  268. assertIE(bd);
  269. assertBrowserMajorVersion(bd, 7);
  270. assertBrowserMinorVersion(bd, 0);
  271. assertWindows(bd);
  272. }
  273. public void testIE9() {
  274. VBrowserDetails bd = new VBrowserDetails(IE9_BETA_WINDOWS_7);
  275. // assertTrident(bd);
  276. assertIE(bd);
  277. assertBrowserMajorVersion(bd, 9);
  278. assertBrowserMinorVersion(bd, 0);
  279. assertWindows(bd);
  280. }
  281. public void testIE9InIE7CompatibilityMode() {
  282. VBrowserDetails bd = new VBrowserDetails(IE9_BETA_IN_IE7_MODE_WINDOWS_7);
  283. // bd.setIE8InCompatibilityMode();
  284. // assertTrident(bd);
  285. assertIE(bd);
  286. assertBrowserMajorVersion(bd, 7);
  287. assertBrowserMinorVersion(bd, 0);
  288. assertWindows(bd);
  289. }
  290. public void testIE9InIE8CompatibilityMode() {
  291. VBrowserDetails bd = new VBrowserDetails(IE9_BETA_IN_IE8_MODE_WINDOWS_7);
  292. // bd.setIE8InCompatibilityMode();
  293. // assertTrident(bd);
  294. assertIE(bd);
  295. assertBrowserMajorVersion(bd, 8);
  296. assertBrowserMinorVersion(bd, 0);
  297. assertWindows(bd);
  298. }
  299. /*
  300. * Helper methods below
  301. */
  302. private void assertEngineVersion(VBrowserDetails browserDetails,
  303. float version) {
  304. assertEquals(version, browserDetails.getBrowserEngineVersion());
  305. }
  306. private void assertBrowserMajorVersion(VBrowserDetails browserDetails,
  307. int version) {
  308. assertEquals(version, browserDetails.getBrowserMajorVersion());
  309. }
  310. private void assertBrowserMinorVersion(VBrowserDetails browserDetails,
  311. int version) {
  312. assertEquals(version, browserDetails.getBrowserMinorVersion());
  313. }
  314. private void assertGecko(VBrowserDetails browserDetails) {
  315. // Engine
  316. assertTrue(browserDetails.isGecko());
  317. assertFalse(browserDetails.isWebKit());
  318. assertFalse(browserDetails.isPresto());
  319. }
  320. private void assertPresto(VBrowserDetails browserDetails) {
  321. // Engine
  322. assertFalse(browserDetails.isGecko());
  323. assertFalse(browserDetails.isWebKit());
  324. assertTrue(browserDetails.isPresto());
  325. }
  326. private void assertWebKit(VBrowserDetails browserDetails) {
  327. // Engine
  328. assertFalse(browserDetails.isGecko());
  329. assertTrue(browserDetails.isWebKit());
  330. assertFalse(browserDetails.isPresto());
  331. }
  332. private void assertFirefox(VBrowserDetails browserDetails) {
  333. // Browser
  334. assertTrue(browserDetails.isFirefox());
  335. assertFalse(browserDetails.isChrome());
  336. assertFalse(browserDetails.isIE());
  337. assertFalse(browserDetails.isOpera());
  338. assertFalse(browserDetails.isSafari());
  339. }
  340. private void assertChrome(VBrowserDetails browserDetails) {
  341. // Browser
  342. assertFalse(browserDetails.isFirefox());
  343. assertTrue(browserDetails.isChrome());
  344. assertFalse(browserDetails.isIE());
  345. assertFalse(browserDetails.isOpera());
  346. assertFalse(browserDetails.isSafari());
  347. }
  348. private void assertIE(VBrowserDetails browserDetails) {
  349. // Browser
  350. assertFalse(browserDetails.isFirefox());
  351. assertFalse(browserDetails.isChrome());
  352. assertTrue(browserDetails.isIE());
  353. assertFalse(browserDetails.isOpera());
  354. assertFalse(browserDetails.isSafari());
  355. }
  356. private void assertOpera(VBrowserDetails browserDetails) {
  357. // Browser
  358. assertFalse(browserDetails.isFirefox());
  359. assertFalse(browserDetails.isChrome());
  360. assertFalse(browserDetails.isIE());
  361. assertTrue(browserDetails.isOpera());
  362. assertFalse(browserDetails.isSafari());
  363. }
  364. private void assertSafari(VBrowserDetails browserDetails) {
  365. // Browser
  366. assertFalse(browserDetails.isFirefox());
  367. assertFalse(browserDetails.isChrome());
  368. assertFalse(browserDetails.isIE());
  369. assertFalse(browserDetails.isOpera());
  370. assertTrue(browserDetails.isSafari());
  371. }
  372. private void assertMacOSX(VBrowserDetails browserDetails) {
  373. assertFalse(browserDetails.isLinux());
  374. assertFalse(browserDetails.isWindows());
  375. assertTrue(browserDetails.isMacOSX());
  376. assertFalse(browserDetails.isAndroid());
  377. }
  378. private void assertAndroid(VBrowserDetails browserDetails,
  379. int majorVersion, int minorVersion) {
  380. assertFalse(browserDetails.isLinux());
  381. assertFalse(browserDetails.isWindows());
  382. assertFalse(browserDetails.isMacOSX());
  383. assertFalse(browserDetails.isIOS());
  384. assertTrue(browserDetails.isAndroid());
  385. assertOSMajorVersion(browserDetails, majorVersion);
  386. assertOSMinorVersion(browserDetails, minorVersion);
  387. }
  388. private void assertIOS(VBrowserDetails browserDetails, int majorVersion,
  389. int minorVersion) {
  390. assertFalse(browserDetails.isLinux());
  391. assertFalse(browserDetails.isWindows());
  392. assertFalse(browserDetails.isMacOSX());
  393. assertTrue(browserDetails.isIOS());
  394. assertFalse(browserDetails.isAndroid());
  395. assertOSMajorVersion(browserDetails, majorVersion);
  396. assertOSMinorVersion(browserDetails, minorVersion);
  397. }
  398. private void assertWindows(VBrowserDetails browserDetails) {
  399. assertFalse(browserDetails.isLinux());
  400. assertTrue(browserDetails.isWindows());
  401. assertFalse(browserDetails.isMacOSX());
  402. assertFalse(browserDetails.isIOS());
  403. assertFalse(browserDetails.isAndroid());
  404. }
  405. private void assertLinux(VBrowserDetails browserDetails) {
  406. assertTrue(browserDetails.isLinux());
  407. assertFalse(browserDetails.isWindows());
  408. assertFalse(browserDetails.isMacOSX());
  409. assertFalse(browserDetails.isIOS());
  410. assertFalse(browserDetails.isAndroid());
  411. }
  412. }