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