Merge pull request #1194 from joshbodily/josh/fix_scoped_class2

Fix scoped enum not working in gmock-gen.py
This commit is contained in:
Gennadiy Civil 2018-08-21 10:32:21 -04:00 committed by GitHub
commit b88511ef64
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 0 deletions

View File

@ -1264,6 +1264,9 @@ class AstBuilder(object):
return self._GetNestedType(Union) return self._GetNestedType(Union)
def handle_enum(self): def handle_enum(self):
token = self._GetNextToken()
if not (token.token_type == tokenize.NAME and token.name == 'class'):
self._AddBackToken(token)
return self._GetNestedType(Enum) return self._GetNestedType(Enum)
def handle_auto(self): def handle_auto(self):

View File

@ -440,6 +440,24 @@ public:
MOCK_METHOD1(Bar, MOCK_METHOD1(Bar,
void(const FooType& test_arg)); void(const FooType& test_arg));
}; };
"""
self.assertEqualIgnoreLeadingWhitespace(
expected, self.GenerateMocks(source))
def testEnumClass(self):
source = """
class Test {
public:
enum class Baz { BAZINGA };
virtual void Bar(const FooType& test_arg);
};
"""
expected = """\
class MockTest : public Test {
public:
MOCK_METHOD1(Bar,
void(const FooType& test_arg));
};
""" """
self.assertEqualIgnoreLeadingWhitespace( self.assertEqualIgnoreLeadingWhitespace(
expected, self.GenerateMocks(source)) expected, self.GenerateMocks(source))