OSDN Git Service

Apilint: properly parse packages with numbers
authorAdrian Roos <roosa@google.com>
Thu, 28 Feb 2019 11:42:22 +0000 (12:42 +0100)
committerAdrian Roos <roosa@google.com>
Thu, 28 Feb 2019 11:46:23 +0000 (12:46 +0100)
Test: python apilint_tests.py
Change-Id: Ib0ad635e3994bbcbfecefddbd4899c3551ab65cf

tools/apilint/apilint.py
tools/apilint/apilint_test.py

index 295e3de..643d377 100644 (file)
@@ -224,7 +224,7 @@ class Class():
 
 
 class Package():
-    NAME = re.compile("package(?: .*)? ([A-Za-z.]+)")
+    NAME = re.compile("package(?: .*)? ([A-Za-z0-9.]+)")
 
     def __init__(self, line, raw, blame):
         self.line = line
index f34492d..5cb43db 100644 (file)
@@ -242,6 +242,10 @@ class V2ParserTests(unittest.TestCase):
         cls = self._cls("class Class {")
         return apilint.Field(cls, 1, raw, '', sig_format=2)
 
+    def test_parse_package(self):
+        pkg = apilint.Package(999, "package wifi.p2p {", None)
+        self.assertEquals("wifi.p2p", pkg.name)
+
     def test_class(self):
         cls = self._cls("@Deprecated @IntRange(from=1, to=2) public static abstract class Some.Name extends Super<Class> implements Interface<Class> {")
         self.assertTrue('deprecated' in cls.split)