| /******************************************************************************* |
| * Copyright (c) 2006, 2016 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.ua.tests.help.webapp; |
| |
| import static org.junit.Assert.assertEquals; |
| import static org.junit.Assert.assertFalse; |
| import static org.junit.Assert.assertTrue; |
| |
| import org.eclipse.help.internal.webapp.data.UrlUtil; |
| import org.junit.Test; |
| |
| /** |
| * Tests for the code which identifies the browser kind and version based upon the |
| * User-Agent attribute of the HTTP request header. Each test uses a string derived |
| * from a specific browser. |
| */ |
| public class BrowserIdentificationTest { |
| @Test |
| public void testIE_6() { |
| final String agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"; |
| assertTrue(UrlUtil.isIE(agent)); |
| assertFalse(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertFalse(UrlUtil.isGecko(agent)); |
| assertEquals("6.0", UrlUtil.getIEVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testWindowsFirefox_1_8() { |
| final String agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.8) Gecko/20061025 (CK-IBM) Firefox/1.5.0.8"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertTrue(UrlUtil.isGecko(agent)); |
| assertEquals("1.8.0.8", UrlUtil.getMozillaVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testGTKFirefox_1_4() { |
| final String agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030922"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertTrue(UrlUtil.isGecko(agent)); |
| assertEquals("1.4", UrlUtil.getMozillaVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testGTKKonqueror_3_1() { |
| final String agent = "Mozilla/5.0 (compatible; Konqueror/3.1; Linux)"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertTrue(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertFalse(UrlUtil.isGecko(agent)); |
| assertFalse(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testMacMozilla1_7_3 () { |
| final String agent = "Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.7.3) Gecko/20040910"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertTrue(UrlUtil.isGecko(agent)); |
| assertEquals("1.7.3", UrlUtil.getMozillaVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testSafari_417_8 () { |
| final String agent = "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/417.9 (KHTML, like Gecko) Safari/417.8"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertTrue(UrlUtil.isSafari(agent)); |
| assertFalse(UrlUtil.isGecko(agent)); |
| assertEquals("417", UrlUtil.getSafariVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testOpera_9() { |
| final String agent = "Opera/9.02 (Windows NT 5.1; U; en)"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertFalse(UrlUtil.isMozilla(agent)); |
| assertTrue(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertFalse(UrlUtil.isGecko(agent)); |
| assertEquals("9.02", UrlUtil.getOperaVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testOpera_9_IEMode () { |
| final String agent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.02"; |
| assertTrue(UrlUtil.isIE(agent)); |
| assertFalse(UrlUtil.isMozilla(agent)); |
| assertTrue(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertFalse(UrlUtil.isGecko(agent)); |
| assertEquals("6.0", UrlUtil.getIEVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testXulRunnerOnUbuntu() { |
| final String agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) Gecko"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertTrue(UrlUtil.isGecko(agent)); |
| assertEquals("1.9", UrlUtil.getMozillaVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testXulRunnerTruncated() { |
| final String agent = "Mozilla/5.0 (X11; U; Linux i686;"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertFalse(UrlUtil.isGecko(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| @Test |
| public void testFirefox3() { |
| final String agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/2008031"; |
| assertFalse(UrlUtil.isIE(agent)); |
| assertTrue(UrlUtil.isMozilla(agent)); |
| assertFalse(UrlUtil.isOpera(agent)); |
| assertFalse(UrlUtil.isKonqueror(agent)); |
| assertFalse(UrlUtil.isSafari(agent)); |
| assertTrue(UrlUtil.isGecko(agent)); |
| assertEquals("1.8.1.13", UrlUtil.getMozillaVersion(agent)); |
| assertTrue(UrlUtil.isAdvanced(agent)); |
| } |
| |
| |
| |
| } |