[kupu-checkins] r33872 - in kupu/trunk/kupu/plone: . tests
duncan at codespeak.net
duncan at codespeak.net
Mon Oct 30 11:30:14 CET 2006
Author: duncan
Date: Mon Oct 30 11:30:12 2006
New Revision: 33872
Modified:
kupu/trunk/kupu/plone/plonelibrarytool.py
kupu/trunk/kupu/plone/tests/runme.cmd
kupu/trunk/kupu/plone/tests/test_browserSupportsKupu.py
Log:
Added tests that Opera >= 9.0 is detected as supported.
Modified: kupu/trunk/kupu/plone/plonelibrarytool.py
==============================================================================
--- kupu/trunk/kupu/plone/plonelibrarytool.py (original)
+++ kupu/trunk/kupu/plone/plonelibrarytool.py Mon Oct 30 11:30:12 2006
@@ -225,27 +225,36 @@
if not useragent:
useragent = REQUEST['HTTP_USER_AGENT']
- if 'Opera' in useragent or 'BEOS' in useragent:
- return False
-
- if not useragent.startswith('Mozilla/'):
+ if 'BEOS' in useragent:
return False
+ def getver(s):
+ """Extract a version number given the string which precedes it"""
+ pos = useragent.find(s)
+ if pos >= 0:
+ tail = useragent[pos+len(s):].strip()
+ verno = numerics(tail.split(' ')[0])
+ return verno
+ return None
+
try:
- mozillaver = numerics(useragent[len('Mozilla/'):].split(' ')[0])
+ v = getver('Opera/')
+ if not v:
+ v = getver('Opera ')
+ if v:
+ return v >= (9,0)
+
+ mozillaver = getver('Mozilla/')
if mozillaver > (5,0):
return True
elif mozillaver == (5,0):
- rv = useragent.find(' rv:')
- if rv >= 0:
- verno = numerics(useragent[rv+4:].split(')')[0])
+ verno = getver(' rv:')
+ if verno:
return verno >= (1,3,1)
- MSIE = useragent.find('MSIE')
- if MSIE >= 0:
- verno = numerics(useragent[MSIE+4:].split(';')[0])
+ verno = getver('MSIE')
+ if verno:
return verno >= (5,5)
-
except:
# In case some weird browser makes the test code blow up.
pass
Modified: kupu/trunk/kupu/plone/tests/runme.cmd
==============================================================================
--- kupu/trunk/kupu/plone/tests/runme.cmd (original)
+++ kupu/trunk/kupu/plone/tests/runme.cmd Mon Oct 30 11:30:12 2006
@@ -8,10 +8,10 @@
set INSTANCE_HOME=%PLONEHOME%\Data
set SOFTWARE_HOME=%PLONEHOME%\Zope\lib\python
@set PYTHON=C:\Plone20\Zope\bin\python.exe
-rem "%PLONEHOME%\Python\python.exe" %~D0%~P0test_browserSupportsKupu.py %2
-rem "%PLONEHOME%\Python\python.exe" %~D0%~P0test_librarymanager.py
-rem "%PLONEHOME%\Python\python.exe" %~D0%~P0test_html2captioned.py
-rem "%PLONEHOME%\Python\python.exe" %~D0%~P0test_resourcetypemapper.py
+"%PYTHON%" %~D0%~P0test_browserSupportsKupu.py %2
+rem "%PYTHON%" %~D0%~P0test_librarymanager.py
+rem "%PYTHON%" %~D0%~P0test_html2captioned.py
+rem "%PYTHON%" %~D0%~P0test_resourcetypemapper.py
rem "%PYTHON%" %~D0%~P0test_urls.py
-"%PYTHON%" "%~D0%~P0runalltests.py" %2
+rem "%PYTHON%" "%~D0%~P0runalltests.py" %2
endlocal
Modified: kupu/trunk/kupu/plone/tests/test_browserSupportsKupu.py
==============================================================================
--- kupu/trunk/kupu/plone/tests/test_browserSupportsKupu.py (original)
+++ kupu/trunk/kupu/plone/tests/test_browserSupportsKupu.py Mon Oct 30 11:30:12 2006
@@ -87,6 +87,7 @@
SUPPORTED = {
MOZILLA: (1,3,1),
INTERNET_EXPLORER: (5,5),
+ OPERA: (9,0),
}
# BROWSERS records contain:
@@ -405,7 +406,23 @@
('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; www.ASPSimply.com)', 'Windows 2000', '6.0', INTERNET_EXPLORER),
('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; ESB{59E9535D-AE57-4D68-A91A-F568540A69C8})', 'Windows 2000', '6.0', INTERNET_EXPLORER),
('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02', 'Windows XP', '1.0.2', MOZILLA),
- )
+ ('Opera/9.02 (X11; Linux i686; U; en)', 'Linux', '9.02', OPERA),
+ ('Opera/9.02 (Windows 98; U; en)', 'Windows 98', '9.02', OPERA),
+ ('Opera/9.02 (Macintosh; PPC Mac OS X; U; en)', 'PPC Mac', '9.02', OPERA),
+ ('Opera/9.01 (X11; Linux i686; U; en)', 'Linux', '9.01', OPERA),
+ ('Opera/9.01 (Macintosh; Intel Mac OS X; U; fr)', 'Intel Max', '9.01', OPERA),
+ ('Opera/9.00 (Macintosh; PPC Mac OS X; U; en)', 'PPC Mac', '9.00', OPERA),
+ ('Opera/9.00 (Windows NT 5.0; U; en)', 'Windows 2000', '9.00', OPERA),
+ ('Opera/9.00 (Macintosh; PPC Mac OS X; U; en)', 'PPC Mac', '9.00', OPERA),
+ ('Mozilla/5.0 (X11; Linux i686; U; en) Opera 9.00', 'Linux', '9.00', OPERA),
+ ('Mozilla/5.0 (Windows NT 5.1; U; en) Opera 9.01', 'Windows XP', '9.01', OPERA),
+ ('Mozilla/5.0 (Windows NT 5.1; U; en) Opera 9.00', 'Windows XP', '9.00', OPERA),
+ ('Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.0) Gecko/20060728 Firefox/1.5.0 Opera 9.10', 'Windows XP', '9.10', OPERA),
+ ('Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.0.7) Gecko/20060728 Firefox/1.5.0.7 Opera 9.10', 'Windows XP', '9.10', OPERA),
+ ('Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1b1) Gecko/20060728 Firefox/2.0 Opera 9.20', 'Windows XP', '9.20', OPERA),
+ ('Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; en) Opera 9.01', 'Windows XP', '9.01', OPERA),
+ ('Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux i686; en) Opera 9.00', 'Linux', '9.00', OPERA),
+ )
def createTest(sig, isSupported, index, os, browser, version):
def test(self):
More information about the kupu-checkins
mailing list