## @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() |