KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > sslexplorer > core > BrowserCheckerTest


1 /*
2  * SSL-Explorer
3  *
4  * Copyright (C) 2003-2006 3SP LTD. All Rights Reserved
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */

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 JavaDoc {
31         /*
32          * Match IE6 = IE6
33          */

34         assertTrue(new BrowserChecker(
35             "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)").isBrowserVersion(BrowserChecker.BROWSER_IE, 6));
36
37         /*
38          * Match Opera 9 = Opera 9
39          */

40         assertTrue(new BrowserChecker(
41             "Opera/9.01 (X11; Linux i686; U; en)").isBrowserVersion(BrowserChecker.BROWSER_OPERA, 9));
42
43         /*
44          * Reject PSP = IE4
45          */

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 JavaDoc {
52         /*
53          * Match IE5 >= IE5
54          */

55         assertTrue(new BrowserChecker(
56             "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)").isBrowserVersionExpression(BrowserChecker.BROWSER_IE, "+=5"));
57
58         /*
59          * Reject IE5.5 > IE6
60          */

61         assertFalse(new BrowserChecker(
62             "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)").isBrowserVersionExpression(BrowserChecker.BROWSER_IE, "+6"));
63
64         /*
65          * Reject IE5.5 > Firefox2
66          */

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 JavaDoc {
73         /*
74          * Match Firefox1 = ANY Firefox
75          */

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         /*
81          * Match Opera 8 = Opera Any Version
82          */

83         assertTrue(new BrowserChecker(
84             "Opera/8.0 (X11; Linux i686; U; cs)").isBrowserVersionExpression(BrowserChecker.BROWSER_OPERA, "*"));
85         
86         /*
87          * Reject Omniweb = Firefox Any Version
88          */

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 JavaDoc {
96         
97         /*
98          * Match Firefox1 < Firefox2
99          */

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         /*
104          * Match Opera 8 <= Opera 9
105          */

106         assertTrue(new BrowserChecker(
107             "Mozilla/5.0 (Windows NT 5.1; U; en) Opera 8.50").isBrowserVersionExpression(BrowserChecker.BROWSER_OPERA, "-=9"));
108         
109         /*
110          * Reject Safari 1 < IE4
111          */

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         /*
116          * Match Opera 8 <= Opera ANY
117          */

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 JavaDoc {
124         
125         /*
126          * Reject XXXXXX < Firefox2
127          */

128         assertFalse(new BrowserChecker(
129             "XXXXXX").isBrowserVersionExpression(BrowserChecker.BROWSER_FIREFOX, "-2"));
130         
131         /*
132          * Match Unknown Safari > Safar1
133          */

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         /*
138          * Match Unknown Safari > Safar1
139          */

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