| 
									
										
										
										
											2011-03-27 21:05:51 +02:00
										 |  |  | """ Test suite for the code in msilib """ | 
					
						
							|  |  |  | import unittest | 
					
						
							| 
									
										
										
										
											2015-04-13 15:00:43 -05:00
										 |  |  | from test.support import import_module | 
					
						
							| 
									
										
										
										
											2011-03-27 21:05:51 +02:00
										 |  |  | 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") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							| 
									
										
										
										
											2015-04-13 15:00:43 -05:00
										 |  |  |     unittest.main() |