|
1 | 1 | """ Test suite for the code in msilib """ |
2 | | -import os.path |
| 2 | +import os |
3 | 3 | import unittest |
4 | 4 | from test.support import TESTFN, import_module, unlink |
5 | 5 | msilib = import_module('msilib') |
@@ -42,6 +42,29 @@ def test_view_fetch_returns_none(self): |
42 | 42 | ) |
43 | 43 | self.addCleanup(unlink, db_path) |
44 | 44 |
|
| 45 | + def test_summaryinfo_getproperty_issue1104(self): |
| 46 | + db, db_path = init_database() |
| 47 | + try: |
| 48 | + sum_info = db.GetSummaryInformation(99) |
| 49 | + title = sum_info.GetProperty(msilib.PID_TITLE) |
| 50 | + self.assertEqual(title, b"Installation Database") |
| 51 | + |
| 52 | + sum_info.SetProperty(msilib.PID_TITLE, "a" * 999) |
| 53 | + title = sum_info.GetProperty(msilib.PID_TITLE) |
| 54 | + self.assertEqual(title, b"a" * 999) |
| 55 | + |
| 56 | + sum_info.SetProperty(msilib.PID_TITLE, "a" * 1000) |
| 57 | + title = sum_info.GetProperty(msilib.PID_TITLE) |
| 58 | + self.assertEqual(title, b"a" * 1000) |
| 59 | + |
| 60 | + sum_info.SetProperty(msilib.PID_TITLE, "a" * 1001) |
| 61 | + title = sum_info.GetProperty(msilib.PID_TITLE) |
| 62 | + self.assertEqual(title, b"a" * 1001) |
| 63 | + finally: |
| 64 | + db = None |
| 65 | + sum_info = None |
| 66 | + os.unlink(db_path) |
| 67 | + |
45 | 68 | def test_database_open_failed(self): |
46 | 69 | with self.assertRaises(msilib.MSIError) as cm: |
47 | 70 | msilib.OpenDatabase('non-existent.msi', msilib.MSIDBOPEN_READONLY) |
@@ -92,7 +115,7 @@ def test_invalid_first_char(self): |
92 | 115 | def test_invalid_any_char(self): |
93 | 116 | self.assertEqual( |
94 | 117 | msilib.make_id(".s\x82ort"), "_.s_ort") |
95 | | - self.assertEqual ( |
| 118 | + self.assertEqual( |
96 | 119 | msilib.make_id(".s\x82o?*+rt"), "_.s_o___rt") |
97 | 120 |
|
98 | 121 |
|
|
0 commit comments