/
usr
/
lib64
/
python2.6
/
site-packages
/
mx
/
URL
/
mxURL
/
/usr/lib64/python2.6/site-packages/mx/URL/mxURL
mkdir
upload
Name
Size
Mode
Actions
mxURL.so
37424
0644
edit
dl
rm
test.py
6091
0644
edit
dl
rm
test.pyc
5074
0644
edit
dl
rm
test.pyo
4539
0644
edit
dl
rm
__init__.py
172
0644
edit
dl
rm
__init__.pyc
324
0644
edit
dl
rm
__init__.pyo
324
0644
edit
dl
rm
Edit:
/usr/lib64/python2.6/site-packages/mx/URL/mxURL/test.py
(6091B)
import mx.URL from mx.URL import * print 'Testing URL version %s ...' % mx.URL.__version__ # # Join tests adapted from Python 1.5 urlparse.py: # print ' Join tests.' a = URL('http://a/b/c/d') tests = ( (a+URL('http:h'),'http://a/b/c/h'), (a+URL('http:g'),'http://a/b/c/g'), (a+URL('http:'),'http://a/b/c/d'), (a+URL('g'),'http://a/b/c/g'), (a+URL('./g'),'http://a/b/c/g'), (a+URL('g/'),'http://a/b/c/g/'), (a+URL('/g'),'http://a/g'), (a+URL('//g'),'http://g'), (a+URL('?y'),'http://a/b/c/d?y'), (a+URL('g?y'),'http://a/b/c/g?y'), (a+URL('g?y/./x'),'http://a/b/c/g?y/./x'), (a+URL('.'),'http://a/b/c/'), (a+URL('./'),'http://a/b/c/'), (a+URL('..'),'http://a/b/'), (a+URL('../'),'http://a/b/'), (a+URL('../g'),'http://a/b/g'), (a+URL('../..'),'http://a/'), (a+URL('../../g'),'http://a/g'), (a+URL('../../../g'),'http://a/g'), (a+URL('./../g'),'http://a/b/g'), (a+URL('./g/.'),'http://a/b/c/g/'), (a+URL('/./g'),'http://a/g'), (a+URL('g/./h'),'http://a/b/c/g/h'), (a+URL('g/../h'),'http://a/b/c/h'), (URL('..') + URL('file:a/b/'),'file:../a/b/'), (URL('a/..') + URL('b/..'),'./'), (URL('/') + URL('a/..') + URL('b/.'),'/b/'), (URL('file:abc') + URL('http:abc'),'http:abc'), (URL('//www.test.com'),'//www.test.com'), (URL('http://www.test.com') + URL('a/b/c'),'http://www.test.com/a/b/c'), ((URL('http://www.test.com') + URL('a/b/c')).netloc,'www.test.com'), ) # # More tests adapated from SF bug report #450225: "urljoin fails RFC tests" # # XXX The commented tests currently fail. # base = URL('http://a/b/c/d;p?q') tests = tests + ( (base + URL('ftp:h'), 'ftp:h'), (base + URL('g'), 'http://a/b/c/g'), (base + URL('./g'), 'http://a/b/c/g'), (base + URL('g/'), 'http://a/b/c/g/'), (base + URL('/g'), 'http://a/g'), (base + URL('//g'), 'http://g'), # (base + URL('?y'), 'http://a/b/c/?y'), # Why not http://a/b/c/d;phttp://a/b/c/d;p?y ? (base + URL('g?y'), 'http://a/b/c/g?y'), (base + URL('#s'), 'http://a/b/c/d;p?q#s'), (base + URL('g#s'), 'http://a/b/c/g#s'), (base + URL('g?y#s'), 'http://a/b/c/g?y#s'), # (base + URL(';x'), 'http://a/b/c/;x'), # Why not http://a/b/c/d;phttp://a/b/c/d;x ? (base + URL('g;x'), 'http://a/b/c/g;x'), (base + URL('g;x?y#s'), 'http://a/b/c/g;x?y#s'), (base + URL('.'), 'http://a/b/c/'), (base + URL('./'), 'http://a/b/c/'), (base + URL('..'), 'http://a/b/'), (base + URL('../'), 'http://a/b/'), (base + URL('../g'), 'http://a/b/g'), (base + URL('../..'), 'http://a/'), (base + URL('../../'), 'http://a/'), (base + URL('../../g'), 'http://a/g'), (base + URL(''), base.url), # (base + URL('../../../g') , 'http://a/../g'), # (base + URL('../../../../g'), 'http://a/../../g'), # (base + URL('/./g'), 'http://a/./g'), # (base + URL('/../g') , 'http://a/../g'), # Why should the additional ..'s be preserved ? (base + URL('g.') , 'http://a/b/c/g.'), (base + URL('.g') , 'http://a/b/c/.g'), (base + URL('g..') , 'http://a/b/c/g..'), (base + URL('..g') , 'http://a/b/c/..g'), (base + URL('./../g') , 'http://a/b/g'), (base + URL('./g/.') , 'http://a/b/c/g/'), (base + URL('g/./h') , 'http://a/b/c/g/h'), (base + URL('g/../h') , 'http://a/b/c/h'), # (base + URL('g;x=1/./y') , 'http://a/b/c/g;x=1/y'), # (base + URL('g;x=1/../y') , 'http://a/b/c/y'), # Parameters in other locations that the last path part are # currently not supported. (base + URL('g?y/./x') , 'http://a/b/c/g?y/./x'), (base + URL('g?y/../x') , 'http://a/b/c/g?y/../x'), (base + URL('g#s/./x') , 'http://a/b/c/g#s/./x'), (base + URL('g#s/../x') , 'http://a/b/c/g#s/../x'), ) works = 1 for i in range(len(tests)): test,result = tests[i] try: assert str(test) == result except: print 'Test',i,'failed:',test,'!=',result works = 0 assert works ### Component tests print ' Component tests.' url = URL('ftp://mal:passwd@myhost:123/myfile.tgz') assert url.scheme == 'ftp' assert url.user == 'mal' assert url.passwd == 'passwd' assert url.host == 'myhost' assert url.port == 123 assert url.path == '/myfile.tgz' assert url.ext == 'tgz' assert url.file == 'myfile.tgz' url = url + './abc/abc.html' assert url.path == '/abc/abc.html' assert url.ext == 'html' assert url.file == 'abc.html' print 'Works.' print ### Benchmarking import time import urlparse basestr = 'http://a/b/c/d' relstr = '../../g' print 'Benchmark: basestr=%s relstr=%s' % (repr(basestr),repr(relstr)) loops = range(10000) # Calibration t = time.clock() for i in loops: urljoin basestr relstr calibration = time.clock() - t urljoin = urlparse.urljoin t = time.clock() for i in loops: urljoin(basestr,relstr) print ' urlparse.urljoin(basestr,relstr):',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.' loops = range(50000) urljoin = mx.URL.urljoin t = time.clock() for i in loops: urljoin(basestr,relstr) print ' URL.urljoin(basestr,relstr):',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.' t = time.clock() baseurl = URL(basestr) for i in loops: baseurl + URL(relstr) print ' baseurl+URL(relstr):',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.' t = time.clock() baseurl = URL(basestr) for i in loops: baseurl + RawURL(relstr) print ' baseurl+RawURL(relstr):',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.' t = time.clock() baseurl = URL(basestr) for i in loops: baseurl + relstr print ' baseurl+relstr:',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.' t = time.clock() for i in loops: basestr + '/' + relstr print ' basestr + "/" + relstr:',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.' urlstr = basestr + relstr t = time.clock() for i in loops: URL(urlstr) print ' URL(basestr+relstr):',(time.clock() - t - calibration)/len(loops)*1000.0,'msec.'
Save
cmd:
run