Commit 05c4a036 authored by Abseil Team's avatar Abseil Team Committed by Mark Barolak
Browse files

Googletest export

Update auto_mock to support C++17 nested namespaces

PiperOrigin-RevId: 318192214
parent 849ed6b1
......@@ -1599,12 +1599,11 @@ class AstBuilder(object):
bases, templated_types, body, self.namespace_stack)
def handle_namespace(self):
token = self._GetNextToken()
# Support anonymous namespaces.
name = None
if token.token_type == tokenize.NAME:
name = token.name
token = self._GetNextToken()
name_tokens, token = self.GetName()
if name_tokens:
name = ''.join([t.name for t in name_tokens])
self.namespace_stack.append(name)
assert token.token_type == tokenize.SYNTAX, token
# Create an internal token that denotes when the namespace is complete.
......
......@@ -361,26 +361,26 @@ class GenerateMocksTest(TestCase):
source = """
namespace Foo {
namespace Bar { class Forward; }
namespace Baz {
namespace Baz::Qux {
class Test {
public:
virtual void Foo();
};
} // namespace Baz
} // namespace Baz::Qux
} // namespace Foo
"""
expected = """\
namespace Foo {
namespace Baz {
namespace Baz::Qux {
class MockTest : public Test {
public:
MOCK_METHOD(void, Foo, (), (override));
};
} // namespace Baz
} // namespace Baz::Qux
} // namespace Foo
"""
self.assertEqualIgnoreLeadingWhitespace(expected,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment