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