def test_split_csymbol(self):
        cmd = [
            sys.executable, '-c',
            'import sys; sys.stdout.write("test_" + sys.stdin.read())']
        namespace = ast.Namespace('Test', '1.0')
        xformer = Transformer(namespace, symbol_filter_cmd=cmd)

        self.assertEqual(
            xformer.split_csymbol('foo_bar_quux')[1], "foo_bar_quux")
Exemple #2
0
    def test_record_deprecated_from_section(self):
        namespace = ast.Namespace('Test', '1.0')
        load_namespace_from_source_string(
            namespace, """
            /** SECTION:teststruct
            * foo
            * Deprecated: 1.2: something
            */
            typedef struct _TestStruct TestStruct;
            """)

        node = namespace.get('Struct')
        self.assertEqual(node.doc, "foo")
        self.assertEqual(node.deprecated, "1.2")
        self.assertEqual(node.deprecated_doc, "something")
Exemple #3
0
    def test_underscore_t_sed_filter(self):
        cmd = r"sed " \
              r"-e 's/^test_t$/TestContext/' " \
              r"-e 's/\(.*\)_t$/\1/' " \
              r"-e 's/^test_/Test_/' " \
              r"-e 's/_\([a-z]\)/" + '\\u' + r"\1/g'"

        namespace = ast.Namespace('Test', '1.0')
        xformer = Transformer(namespace, identifier_filter_cmd=cmd)

        self.assertEqual(xformer.strip_identifier('test_t'), 'Context')
        self.assertEqual(xformer.strip_identifier('test_foo_t'), 'Foo')
        self.assertEqual(xformer.strip_identifier('test_foot'), 'Foot')
        self.assertEqual(xformer.strip_identifier('test_foo_bart'), 'FooBart')
        self.assertEqual(xformer.strip_identifier('test_foo_tart'), 'FooTart')
    def test_underscore_t_identifier_filter(self):
        cmd = [sys.executable, '-c', textwrap.dedent("""
            import sys, re
            for line in sys.stdin:
                line = re.sub(r"^test_t$", "TestContext", line)
                line = re.sub(r"_t$", "", line)
                line = re.sub(r"^test_", "Test_", line)
                line = re.sub(r"_([a-z])", lambda m: m.group(1).title(),
                              line)
                sys.stdout.write(line)""")]

        namespace = ast.Namespace('Test', '1.0')
        xformer = Transformer(namespace, identifier_filter_cmd=cmd)

        self.assertEqual(xformer.strip_identifier('test_t'), 'Context')
        self.assertEqual(xformer.strip_identifier('test_foo_t'), 'Foo')
        self.assertEqual(xformer.strip_identifier('test_foot'), 'Foot')
        self.assertEqual(xformer.strip_identifier('test_foo_bart'), 'FooBart')
        self.assertEqual(xformer.strip_identifier('test_foo_tart'), 'FooTart')
Exemple #5
0
 def setUp(self):
     # Hack to set logging singleton
     self.namespace = ast.Namespace('Test', '1.0')
     logger = MessageLogger.get(namespace=self.namespace)
     logger.enable_warnings((WARNING, ERROR, FATAL))
Exemple #6
0
 def test_invalid_argument(self):
     cmd = r'sed --not-a-valid-argument'
     namespace = ast.Namespace('Test', '1.0')
     xformer = Transformer(namespace, identifier_filter_cmd=cmd)
     self.assertRaises(ValueError, xformer.strip_identifier, 'test_t')
Exemple #7
0
 def test_invalid_command(self):
     cmd = r'this-is-not-a-real-command'
     namespace = ast.Namespace('Test', '1.0')
     xformer = Transformer(namespace, identifier_filter_cmd=cmd)
     self.assertRaises(ValueError, xformer.strip_identifier, 'test_t')