| #!/usr/bin/env python |
| # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import unittest |
| |
| from cpp_util import ( |
| Classname, CloseNamespace, GenerateIfndefName, OpenNamespace) |
| |
| class CppUtilTest(unittest.TestCase): |
| def testClassname(self): |
| self.assertEquals('Permissions', Classname('permissions')) |
| self.assertEquals('UpdateAllTheThings', |
| Classname('updateAllTheThings')) |
| self.assertEquals('Aa_Bb_Cc', Classname('aa.bb.cc')) |
| |
| def testNamespaceDeclaration(self): |
| self.assertEquals('namespace foo {', |
| OpenNamespace('foo').Render()) |
| self.assertEquals('} // namespace foo', |
| CloseNamespace('foo').Render()) |
| |
| self.assertEquals( |
| 'namespace extensions {\n' |
| 'namespace foo {', |
| OpenNamespace('extensions::foo').Render()) |
| self.assertEquals( |
| '} // namespace foo\n' |
| '} // namespace extensions', |
| CloseNamespace('extensions::foo').Render()) |
| |
| self.assertEquals( |
| 'namespace extensions {\n' |
| 'namespace gen {\n' |
| 'namespace api {', |
| OpenNamespace('extensions::gen::api').Render()) |
| self.assertEquals( |
| '} // namespace api\n' |
| '} // namespace gen\n' |
| '} // namespace extensions', |
| CloseNamespace('extensions::gen::api').Render()) |
| |
| self.assertEquals( |
| 'namespace extensions {\n' |
| 'namespace gen {\n' |
| 'namespace api {\n' |
| 'namespace foo {', |
| OpenNamespace('extensions::gen::api::foo').Render()) |
| self.assertEquals( |
| '} // namespace foo\n' |
| '} // namespace api\n' |
| '} // namespace gen\n' |
| '} // namespace extensions', |
| CloseNamespace('extensions::gen::api::foo').Render()) |
| |
| def testGenerateIfndefName(self): |
| self.assertEquals('FOO_BAR_BAZ_H__', GenerateIfndefName('foo\\bar\\baz.h')) |
| self.assertEquals('FOO_BAR_BAZ_H__', GenerateIfndefName('foo/bar/baz.h')) |
| |
| |
| if __name__ == '__main__': |
| unittest.main() |