1 19 20 package com.sslexplorer.core; 21 22 import static org.junit.Assert.assertTrue; 23 import static org.junit.Assert.assertFalse; 24 25 import org.junit.Test; 26 27 public class BrowserCheckerTest { 28 29 @Test 30 public void browserExactMatch() throws Exception { 31 34 assertTrue(new BrowserChecker( 35 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)").isBrowserVersion(BrowserChecker.BROWSER_IE, 6)); 36 37 40 assertTrue(new BrowserChecker( 41 "Opera/9.01 (X11; Linux i686; U; en)").isBrowserVersion(BrowserChecker.BROWSER_OPERA, 9)); 42 43 46 assertFalse(new BrowserChecker( 47 "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)").isBrowserVersion(BrowserChecker.BROWSER_IE, 4)); 48 } 49 50 @Test 51 public void browserGreaterVersion() throws Exception { 52 55 assertTrue(new BrowserChecker( 56 "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)").isBrowserVersionExpression(BrowserChecker.BROWSER_IE, "+=5")); 57 58 61 assertFalse(new BrowserChecker( 62 "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)").isBrowserVersionExpression(BrowserChecker.BROWSER_IE, "+6")); 63 64 67 assertFalse(new BrowserChecker( 68 "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)").isBrowserVersionExpression(BrowserChecker.BROWSER_FIREFOX, ">2")); 69 } 70 71 @Test 72 public void browserAnyVersion() throws Exception { 73 76 assertTrue(new BrowserChecker( 77 "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5").isBrowserVersionExpression(BrowserChecker.BROWSER_FIREFOX, "*")); 78 79 80 83 assertTrue(new BrowserChecker( 84 "Opera/8.0 (X11; Linux i686; U; cs)").isBrowserVersionExpression(BrowserChecker.BROWSER_OPERA, "*")); 85 86 89 assertFalse(new BrowserChecker( 90 "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-US) AppleWebKit/125.4 (KHTML, like Gecko, Safari) OmniWeb/v563.51").isBrowserVersion(BrowserChecker.BROWSER_FIREFOX, -1)); 91 92 } 93 94 @Test 95 public void browserLessVersion() throws Exception { 96 97 100 assertTrue(new BrowserChecker( 101 "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.9) Gecko/20050711 Firefox/1.0.5").isBrowserVersionExpression(BrowserChecker.BROWSER_FIREFOX, "-2")); 102 103 106 assertTrue(new BrowserChecker( 107 "Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.50").isBrowserVersionExpression(BrowserChecker.BROWSER_OPERA, "-=9")); 108 109 112 assertFalse(new BrowserChecker( 113 "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/125").isBrowserVersionExpression(BrowserChecker.BROWSER_IE, "<4")); 114 115 118 assertTrue(new BrowserChecker( 119 "Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.50").isBrowserVersionExpression(BrowserChecker.BROWSER_OPERA, "*")); 120 } 121 122 @Test 123 public void unknownUserAgents() throws Exception { 124 125 128 assertFalse(new BrowserChecker( 129 "XXXXXX").isBrowserVersionExpression(BrowserChecker.BROWSER_FIREFOX, "-2")); 130 131 134 assertFalse(new BrowserChecker( 135 "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/999").isBrowserVersionExpression(BrowserChecker.BROWSER_SAFARI, "+1")); 136 137 140 assertFalse(new BrowserChecker( 141 "Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/124 (KHTML, like Gecko) Safari/999").isBrowserVersionExpression(BrowserChecker.BROWSER_SAFARI, "+1")); 142 143 } 144 }
| Popular Tags
|