| Index: sitescripts/stats/test/common.py | 
| =================================================================== | 
| --- a/sitescripts/stats/test/common.py | 
| +++ b/sitescripts/stats/test/common.py | 
| @@ -26,19 +26,24 @@ class Test(unittest.TestCase): | 
| def test_fileencoding(self): | 
| tests = [ | 
| ("foo_bar", True), | 
| ("1234.txt", True), | 
| ("xYz.DAT", True), | 
| ("foo/bar.txt", False), | 
| ("foo/bar+bas-xyz.txt", False), | 
| (u"foo\u1234-bar\u4321", False), | 
| + ("foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar", u"foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfo\u2026") | 
| ] | 
| for name, expect_identical in tests: | 
| path = common.filename_encode(name) | 
| - if expect_identical: | 
| + if expect_identical == True: | 
| self.assertEqual(path, name, "Encoding '%s' shouldn't change string" % name) | 
| else: | 
| self.assertTrue(re.match(r"^[\w\.\-]*$", path), "Encoding '%s' should replace all special characters" % name) | 
| - self.assertEqual(common.filename_decode(path), name, "Encoding and decoding '%s' should produce the original string" % name) | 
| + | 
| + if isinstance(expect_identical, basestring): | 
| + self.assertEqual(common.filename_decode(path), expect_identical, "Encoding and decoding '%s' should produce a truncated string as result" % name) | 
| + else: | 
| + self.assertEqual(common.filename_decode(path), name, "Encoding and decoding '%s' should produce the original string" % name) | 
| if __name__ == '__main__': | 
| unittest.main() |