| ## @file | |
| # Routines for generating Pcd Database | |
| # | |
| # Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> | |
| # SPDX-License-Identifier: BSD-2-Clause-Patent | |
| import unittest | |
| from Common.Misc import RemoveCComments | |
| from Workspace.BuildClassObject import ArrayIndex | |
| class TestRe(unittest.TestCase): | |
| def test_ccomments(self): | |
| TestStr1 = """ {0x01,0x02} """ | |
| self.assertEquals(TestStr1, RemoveCComments(TestStr1)) | |
| TestStr2 = """ L'TestString' """ | |
| self.assertEquals(TestStr2, RemoveCComments(TestStr2)) | |
| TestStr3 = """ 'TestString' """ | |
| self.assertEquals(TestStr3, RemoveCComments(TestStr3)) | |
| TestStr4 = """ | |
| {CODE({ | |
| {0x01, {0x02, 0x03, 0x04 }},// Data comment | |
| {0x01, {0x02, 0x03, 0x04 }},// Data comment | |
| }) | |
| } /* | |
| This is multiple line comments | |
| The seconde line comment | |
| */ | |
| // This is a comment | |
| """ | |
| Expect_TestStr4 = """{CODE({ | |
| {0x01, {0x02, 0x03, 0x04 }}, | |
| {0x01, {0x02, 0x03, 0x04 }}, | |
| }) | |
| }""" | |
| self.assertEquals(Expect_TestStr4, RemoveCComments(TestStr4).strip()) | |
| def Test_ArrayIndex(self): | |
| TestStr1 = """[1]""" | |
| self.assertEquals(['[1]'], ArrayIndex.findall(TestStr1)) | |
| TestStr2 = """[1][2][0x1][0x01][]""" | |
| self.assertEquals(['[1]','[2]','[0x1]','[0x01]','[]'], ArrayIndex.findall(TestStr2)) | |
| if __name__ == '__main__': | |
| unittest.main() |