Example #1
0
    def test_extract_docstring_from_source(self):
        source_code = b""
        with self.assertRaises(TypeError):
            docstring, source = extract_docstring_from_source(source_code)

        source_code = ""
        docstring, source = extract_docstring_from_source(source_code)
        self.assertEqual(("", ""), (docstring, source))

        source_code = '''""" Module description """\nx=1\ny=2'''
        docstring, source = extract_docstring_from_source(source_code)
        expected = (" Module description ", "x=1\ny=2")
        self.assertEqual(expected, (docstring, source))
Example #2
0
 def test_string_in_docstring(self):
     source_code = "\n".join(
         ['"""', "Docstring", '"string in docstring"', '"""', "a = 1"])
     docstring, source = extract_docstring_from_source(source_code)
     self.assertEqual(
         docstring,
         "\n".join(["", "Docstring", '"string in docstring"', ""]),
     )
     self.assertEqual(source, "\n".join(["a = 1"]))
Example #3
0
 def test_ignore_starting_comment(self):
     source_code = "\n".join([
         "# Copyright notice.",
         "# Something about the author.",
         '"""',
         "Docstring",
         '"""',
         "a = 1",
     ])
     docstring, source = extract_docstring_from_source(source_code)
     self.assertEqual(docstring, "\nDocstring\n")
     self.assertEqual(
         source,
         "\n".join([
             "# Copyright notice.",
             "# Something about the author.",
             "a = 1",
         ]),
     )
Example #4
0
 def test_ignore_class_docstring(self):
     source_code = "\n".join(["class Foo:", '    """Class docstring"""'])
     docstring, source = extract_docstring_from_source(source_code)
     self.assertEqual(docstring, "")
     self.assertEqual(
         source, "\n".join(["class Foo:", '    """Class docstring"""']))
Example #5
0
 def test_alternate_quotes(self):
     source_code = "\n".join(["'''", "Docstring", "'''", "a = 1"])
     docstring, source = extract_docstring_from_source(source_code)
     self.assertEqual(docstring, "\nDocstring\n")
     self.assertEqual(source, "a = 1")
Example #6
0
 def test_simple_source(self):
     source_code = "\n".join(['"""', "Docstring", '"""', "a = 1"])
     docstring, source = extract_docstring_from_source(source_code)
     self.assertEqual(docstring, "\nDocstring\n")
     self.assertEqual(source, "a = 1")