From 76e25898bbb7b1493e9a41928f7c95db451d9c75 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Tue, 12 Apr 2011 22:39:28 -0500 Subject: [PATCH] Couple of misc utf8, base64 python tests. --- tests/b64_vs_utf8.py | 29 +++++++++++++++++++++++++++++ tests/utf8-list.py | 19 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100755 tests/b64_vs_utf8.py create mode 100755 tests/utf8-list.py diff --git a/tests/b64_vs_utf8.py b/tests/b64_vs_utf8.py new file mode 100755 index 0000000..9af7b62 --- /dev/null +++ b/tests/b64_vs_utf8.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python + +from base64 import b64encode, b64decode +from codecs import (utf_8_encode, utf_8_decode, + latin_1_encode, latin_1_decode) +import random, time + +buf_len = 10000 +iterations = 10000 + +print "Generating random input buffer" +r = random.Random() +buf = "".join([chr(r.randint(0, 255)) for i in range(buf_len)]) + +tests = {'UTF8 encode': lambda: utf_8_encode(unicode(buf, 'latin-1'))[0], + 'B64 encode': lambda: b64encode(buf)} +utf8_buf = tests['UTF8 encode']() +b64_buf = tests['B64 encode']() +tests.update({'UTF8 decode': lambda: latin_1_encode(utf_8_decode(utf8_buf)[0])[0], + 'B64 decode': lambda: b64decode(b64_buf)}) + +print "Running tests" +for test in 'UTF8 encode', 'B64 encode', 'UTF8 decode', 'B64 decode': + start = time.time() + for i in range(iterations): + res_buf = tests[test]() + print "%s took %s seconds (result size %s)" % ( + test, (time.time() - start), len(res_buf)) + diff --git a/tests/utf8-list.py b/tests/utf8-list.py new file mode 100755 index 0000000..552646f --- /dev/null +++ b/tests/utf8-list.py @@ -0,0 +1,19 @@ +#!/usr/bin/python + +''' +Display UTF-8 encoding for 0-255.''' + +import sys, os, socket, ssl, time, traceback +from select import select + +sys.path.insert(0,os.path.dirname(__file__) + "/../utils/") +from websocket import WebSocketServer + +if __name__ == '__main__': + for c in range(0, 256): + print "%d: %s" % (c, repr(WebSocketServer.encode(chr(c))[1:-1])) + #nums = "".join([chr(c) for c in range(0,256)]) + #for char in WebSocketServer.encode(nums): + # print "%d" % ord(char), + #print repr(WebSocketServer.encode(nums)) +