| 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"foobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobarfoobar\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() |