def test_appendToEmptyDocstring(self): """ Appending to an empty docstring simply replaces the docstring. """ def noDocstring(): pass _appendToDocstring(noDocstring, "Appended text.") self.assertEqual("Appended text.", noDocstring.__doc__)
def test_deprecatedUpdatesDocstring(self): """ The docstring of the deprecated function is appended with information about the deprecation. """ version = Version('Twisted', 8, 0, 0) dummy = deprecated(version)(dummyCallable) _appendToDocstring(dummyCallable, _getDeprecationDocstring(version)) self.assertEqual(dummyCallable.__doc__, dummy.__doc__)
def test_deprecatedUpdatesDocstring(self): """ The docstring of the deprecated function is appended with information about the deprecation. """ version = Version('Twisted', 8, 0, 0) dummy = deprecated(version)(dummyCallable) _appendToDocstring( dummyCallable, _getDeprecationDocstring(version)) self.assertEqual(dummyCallable.__doc__, dummy.__doc__)
def test_appendToSingleLineDocstring(self): """ Appending to a single line docstring places the message on a new line, with a blank line separating it from the rest of the docstring. The docstring ends with a newline, conforming to Twisted and PEP 8 standards. Unfortunately, the indentation is incorrect, since the existing docstring doesn't have enough info to help us indent properly. """ def singleLineDocstring(): """This doesn't comply with standards, but is here for a test.""" _appendToDocstring(singleLineDocstring, "Appended text.") self.assertEqual([ "This doesn't comply with standards, but is here for a test.", "", "Appended text." ], singleLineDocstring.__doc__.splitlines()) self.assertTrue(singleLineDocstring.__doc__.endswith('\n'))
def test_deprecatedUpdatesDocstring(self): """ The docstring of the deprecated function is appended with information about the deprecation. """ def localDummyCallable(): """ Do nothing. This is used to test the deprecation decorators. """ version = Version('Twisted', 8, 0, 0) dummy = deprecated(version)(localDummyCallable) _appendToDocstring(localDummyCallable, _getDeprecationDocstring(version, '')) self.assertEqual(localDummyCallable.__doc__, dummy.__doc__)
def test_appendToSingleLineDocstring(self): """ Appending to a single line docstring places the message on a new line, with a blank line separating it from the rest of the docstring. The docstring ends with a newline, conforming to Twisted and PEP 8 standards. Unfortunately, the indentation is incorrect, since the existing docstring doesn't have enough info to help us indent properly. """ def singleLineDocstring(): """This doesn't comply with standards, but is here for a test.""" _appendToDocstring(singleLineDocstring, "Appended text.") self.assertEqual( ["This doesn't comply with standards, but is here for a test.", "", "Appended text."], singleLineDocstring.__doc__.splitlines()) self.assertTrue(singleLineDocstring.__doc__.endswith('\n'))
def test_deprecatedUpdatesDocstring(self): """ The docstring of the deprecated function is appended with information about the deprecation. """ def localDummyCallable(): """ Do nothing. This is used to test the deprecation decorators. """ version = Version('Twisted', 8, 0, 0) dummy = deprecated(version)(localDummyCallable) _appendToDocstring( localDummyCallable, _getDeprecationDocstring(version, '')) self.assertEqual(localDummyCallable.__doc__, dummy.__doc__)
def test_appendToMultilineDocstring(self): """ Appending to a multi-line docstring places the messade on a new line, with a blank line separating it from the rest of the docstring. Because we have multiple lines, we have enough information to do indentation. """ def multiLineDocstring(): """ This is a multi-line docstring. """ def expectedDocstring(): """ This is a multi-line docstring. Appended text. """ _appendToDocstring(multiLineDocstring, "Appended text.") self.assertEqual(expectedDocstring.__doc__, multiLineDocstring.__doc__)
def test_appendToMultilineDocstring(self): """ Appending to a multi-line docstring places the messade on a new line, with a blank line separating it from the rest of the docstring. Because we have multiple lines, we have enough information to do indentation. """ def multiLineDocstring(): """ This is a multi-line docstring. """ def expectedDocstring(): """ This is a multi-line docstring. Appended text. """ _appendToDocstring(multiLineDocstring, "Appended text.") self.assertEqual( expectedDocstring.__doc__, multiLineDocstring.__doc__)