blob: f656f7234e2d333810f154ce51436dfda32ced58 [file] [log] [blame]
Martin v. Löwisf8d887e2011-03-27 21:05:51 +02001""" Test suite for the code in msilib """
2import unittest
Zachary Ware38c707e2015-04-13 15:00:43 -05003from test.support import import_module
Martin v. Löwisf8d887e2011-03-27 21:05:51 +02004msilib = import_module('msilib')
5
6class Test_make_id(unittest.TestCase):
7 #http://msdn.microsoft.com/en-us/library/aa369212(v=vs.85).aspx
8 """The Identifier data type is a text string. Identifiers may contain the
9 ASCII characters A-Z (a-z), digits, underscores (_), or periods (.).
10 However, every identifier must begin with either a letter or an
11 underscore.
12 """
13
14 def test_is_no_change_required(self):
15 self.assertEqual(
16 msilib.make_id("short"), "short")
17 self.assertEqual(
18 msilib.make_id("nochangerequired"), "nochangerequired")
19 self.assertEqual(
20 msilib.make_id("one.dot"), "one.dot")
21 self.assertEqual(
22 msilib.make_id("_"), "_")
23 self.assertEqual(
24 msilib.make_id("a"), "a")
25 #self.assertEqual(
26 # msilib.make_id(""), "")
27
28 def test_invalid_first_char(self):
29 self.assertEqual(
30 msilib.make_id("9.short"), "_9.short")
31 self.assertEqual(
32 msilib.make_id(".short"), "_.short")
33
34 def test_invalid_any_char(self):
35 self.assertEqual(
36 msilib.make_id(".s\x82ort"), "_.s_ort")
37 self.assertEqual (
38 msilib.make_id(".s\x82o?*+rt"), "_.s_o___rt")
39
40
Martin v. Löwisf8d887e2011-03-27 21:05:51 +020041if __name__ == '__main__':
Zachary Ware38c707e2015-04-13 15:00:43 -050042 unittest.main()