From 458120dd40db6b4df55a4e96b650e16798ef06a0 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Tue, 3 May 2011 11:25:13 +0000 Subject: add hg and python --- sys/src/cmd/python/Tools/unicode/comparecodecs.py | 53 +++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 sys/src/cmd/python/Tools/unicode/comparecodecs.py (limited to 'sys/src/cmd/python/Tools/unicode/comparecodecs.py') diff --git a/sys/src/cmd/python/Tools/unicode/comparecodecs.py b/sys/src/cmd/python/Tools/unicode/comparecodecs.py new file mode 100644 index 000000000..cd417a48b --- /dev/null +++ b/sys/src/cmd/python/Tools/unicode/comparecodecs.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python + +""" Compare the output of two codecs. + +(c) Copyright 2005, Marc-Andre Lemburg (mal@lemburg.com). + + Licensed to PSF under a Contributor Agreement. + +""" +import sys + +def compare_codecs(encoding1, encoding2): + + print 'Comparing encoding/decoding of %r and %r' % (encoding1, encoding2) + mismatch = 0 + # Check encoding + for i in range(sys.maxunicode): + u = unichr(i) + try: + c1 = u.encode(encoding1) + except UnicodeError, reason: + c1 = '' + try: + c2 = u.encode(encoding2) + except UnicodeError, reason: + c2 = '' + if c1 != c2: + print ' * encoding mismatch for 0x%04X: %-14r != %r' % \ + (i, c1, c2) + mismatch += 1 + # Check decoding + for i in range(256): + c = chr(i) + try: + u1 = c.decode(encoding1) + except UnicodeError: + u1 = u'' + try: + u2 = c.decode(encoding2) + except UnicodeError: + u2 = u'' + if u1 != u2: + print ' * decoding mismatch for 0x%04X: %-14r != %r' % \ + (i, u1, u2) + mismatch += 1 + if mismatch: + print + print 'Found %i mismatches' % mismatch + else: + print '-> Codecs are identical.' + +if __name__ == '__main__': + compare_codecs(sys.argv[1], sys.argv[2]) -- cgit v1.2.3