diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2011-03-27 19:05:51 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2011-03-27 19:05:51 (GMT) |
commit | f8d887e0d36afb48381b6e47aba53b9bb54c3b89 (patch) | |
tree | 87c0379eb97eb3af10f196aa9d33d15274435b39 /Lib/test/test_msilib.py | |
parent | 92b60d55d9115af9661618d7d24da929f181be68 (diff) | |
download | cpython-f8d887e0d36afb48381b6e47aba53b9bb54c3b89.zip cpython-f8d887e0d36afb48381b6e47aba53b9bb54c3b89.tar.gz cpython-f8d887e0d36afb48381b6e47aba53b9bb54c3b89.tar.bz2 |
Closes #11696: Fix ID generation in msilib.
Patch by Mark Mc Mahon.
Diffstat (limited to 'Lib/test/test_msilib.py')
-rw-r--r-- | Lib/test/test_msilib.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/test/test_msilib.py b/Lib/test/test_msilib.py new file mode 100644 index 0000000..ccdaec7 --- /dev/null +++ b/Lib/test/test_msilib.py @@ -0,0 +1,46 @@ +""" Test suite for the code in msilib """ +import unittest +import os +from test.support import run_unittest, import_module +msilib = import_module('msilib') + +class Test_make_id(unittest.TestCase): + #http://msdn.microsoft.com/en-us/library/aa369212(v=vs.85).aspx + """The Identifier data type is a text string. Identifiers may contain the + ASCII characters A-Z (a-z), digits, underscores (_), or periods (.). + However, every identifier must begin with either a letter or an + underscore. + """ + + def test_is_no_change_required(self): + self.assertEqual( + msilib.make_id("short"), "short") + self.assertEqual( + msilib.make_id("nochangerequired"), "nochangerequired") + self.assertEqual( + msilib.make_id("one.dot"), "one.dot") + self.assertEqual( + msilib.make_id("_"), "_") + self.assertEqual( + msilib.make_id("a"), "a") + #self.assertEqual( + # msilib.make_id(""), "") + + def test_invalid_first_char(self): + self.assertEqual( + msilib.make_id("9.short"), "_9.short") + self.assertEqual( + msilib.make_id(".short"), "_.short") + + def test_invalid_any_char(self): + self.assertEqual( + msilib.make_id(".s\x82ort"), "_.s_ort") + self.assertEqual ( + msilib.make_id(".s\x82o?*+rt"), "_.s_o___rt") + + +def test_main(): + run_unittest(__name__) + +if __name__ == '__main__': + test_main() |