mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			47 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								""" 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()
							 |