---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/ruff/docstring.py
snapshot_kind: text
---
## Input
```python
def single_line_backslashes1():
  """ content\     """
  return


def single_line_backslashes2():
  """ content\\     """
  return


def single_line_backslashes3():
  """ content\\\     """
  return


def multiline_backslashes1():
  """This is a docstring with
  some lines of text\     """
  return


def multiline_backslashes2():
  """This is a docstring with
  some lines of text\\     """
  return


def multiline_backslashes3():
  """This is a docstring with
  some lines of text\\\     """
  return


def multiple_negatively_indented_docstring_lines():
    """a
 b
  c
   d
    e
    """


def overindentend_docstring():
    """a
            over-indented
    """


def comment_before_docstring():
    # don't lose this function comment ...
    """Does nothing.

    But it has comments
    """  # ... neither lose this function comment


class CommentBeforeDocstring():
    # don't lose this class comment ...
    """Empty class.

    But it has comments
    """  # ... neither lose this class comment


class IndentMeSome:
    def doc_string_without_linebreak_after_colon(self): """ This is somewhat strange
         a
      b
         We format this a is the docstring had started properly indented on the next
         line if the target indentation. This may we incorrect since source and target
         indentation can be incorrect, but this is also an edge case.
         """


class IgnoreImplicitlyConcatenatedStrings:
    """""" ""


def docstring_that_ends_with_quote_and_a_line_break1():
    """
    he said "the news of my death have been greatly exaggerated"
    """


def docstring_that_ends_with_quote_and_a_line_break2():
    """he said "the news of my death have been greatly exaggerated"
    """


def docstring_that_ends_with_quote_and_a_line_break3():
    """he said "the news of my death have been greatly exaggerated"

    """


class ByteDocstring:
    b"""   has leading whitespace"""
    first_statement = 1

class CommentAfterDocstring1:
    """Browse module classes and functions in IDLE."""
    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self):
        pass


class CommentAfterDocstring2:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self):
        pass


class CommentAfterDocstring3:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.
    def __init__(self):
        pass


class CommentAfterDocstring4:
    """Browse module classes and functions in IDLE."""


    # This class is also the base class for pathbrowser.PathBrowser.
    def __init__(self):
        pass


class CommentAfterDocstring5:
    """Browse module classes and functions in IDLE."""
    # This class is also the base class for pathbrowser.PathBrowser.


def f():
    """Browse module classes and functions in IDLE."""
    # ^ Do not insert a newline above here

    pass


class TabbedIndent:
	def tabbed_indent(self):
		"""check for correct tabbed formatting
		                            ^^^^^^^^^^
		Normal indented line
		  	- author
		"""


def single_quoted():
    ' content\     '
    return
```

## Outputs
### Output 1
```
indent-style               = space
line-width                 = 88
indent-width               = 4
quote-style                = Double
line-ending                = LineFeed
magic-trailing-comma       = Respect
docstring-code             = Disabled
docstring-code-line-width  = "dynamic"
preview                    = Disabled
target_version             = Py39
source_type                = Python
```

```python
def single_line_backslashes1():
    """content\ """
    return


def single_line_backslashes2():
    """content\\"""
    return


def single_line_backslashes3():
    """content\\\ """
    return


def multiline_backslashes1():
    """This is a docstring with
    some lines of text\ """
    return


def multiline_backslashes2():
    """This is a docstring with
    some lines of text\\"""
    return


def multiline_backslashes3():
    """This is a docstring with
    some lines of text\\\ """
    return


def multiple_negatively_indented_docstring_lines():
    """a
    b
     c
      d
       e
    """


def overindentend_docstring():
    """a
    over-indented
    """


def comment_before_docstring():
    # don't lose this function comment ...
    """Does nothing.

    But it has comments
    """  # ... neither lose this function comment


class CommentBeforeDocstring:
    # don't lose this class comment ...
    """Empty class.

    But it has comments
    """  # ... neither lose this class comment


class IndentMeSome:
    def doc_string_without_linebreak_after_colon(self):
        """This is somewhat strange
           a
        b
           We format this a is the docstring had started properly indented on the next
           line if the target indentation. This may we incorrect since source and target
           indentation can be incorrect, but this is also an edge case.
        """


class IgnoreImplicitlyConcatenatedStrings:
    """""" ""


def docstring_that_ends_with_quote_and_a_line_break1():
    """
    he said "the news of my death have been greatly exaggerated"
    """


def docstring_that_ends_with_quote_and_a_line_break2():
    """he said "the news of my death have been greatly exaggerated" """


def docstring_that_ends_with_quote_and_a_line_break3():
    """he said "the news of my death have been greatly exaggerated" """


class ByteDocstring:
    b"""   has leading whitespace"""
    first_statement = 1


class CommentAfterDocstring1:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self):
        pass


class CommentAfterDocstring2:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self):
        pass


class CommentAfterDocstring3:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.
    def __init__(self):
        pass


class CommentAfterDocstring4:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.
    def __init__(self):
        pass


class CommentAfterDocstring5:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.


def f():
    """Browse module classes and functions in IDLE."""
    # ^ Do not insert a newline above here

    pass


class TabbedIndent:
    def tabbed_indent(self):
        """check for correct tabbed formatting
                                    ^^^^^^^^^^
        Normal indented line
                - author
        """


def single_quoted():
    "content\ "
    return
```


### Output 2
```
indent-style               = space
line-width                 = 88
indent-width               = 2
quote-style                = Double
line-ending                = LineFeed
magic-trailing-comma       = Respect
docstring-code             = Disabled
docstring-code-line-width  = "dynamic"
preview                    = Disabled
target_version             = Py39
source_type                = Python
```

```python
def single_line_backslashes1():
  """content\ """
  return


def single_line_backslashes2():
  """content\\"""
  return


def single_line_backslashes3():
  """content\\\ """
  return


def multiline_backslashes1():
  """This is a docstring with
  some lines of text\ """
  return


def multiline_backslashes2():
  """This is a docstring with
  some lines of text\\"""
  return


def multiline_backslashes3():
  """This is a docstring with
  some lines of text\\\ """
  return


def multiple_negatively_indented_docstring_lines():
  """a
  b
   c
    d
     e
  """


def overindentend_docstring():
  """a
  over-indented
  """


def comment_before_docstring():
  # don't lose this function comment ...
  """Does nothing.

  But it has comments
  """  # ... neither lose this function comment


class CommentBeforeDocstring:
  # don't lose this class comment ...
  """Empty class.

  But it has comments
  """  # ... neither lose this class comment


class IndentMeSome:
  def doc_string_without_linebreak_after_colon(self):
    """This is somewhat strange
       a
    b
       We format this a is the docstring had started properly indented on the next
       line if the target indentation. This may we incorrect since source and target
       indentation can be incorrect, but this is also an edge case.
    """


class IgnoreImplicitlyConcatenatedStrings:
  """""" ""


def docstring_that_ends_with_quote_and_a_line_break1():
  """
  he said "the news of my death have been greatly exaggerated"
  """


def docstring_that_ends_with_quote_and_a_line_break2():
  """he said "the news of my death have been greatly exaggerated" """


def docstring_that_ends_with_quote_and_a_line_break3():
  """he said "the news of my death have been greatly exaggerated" """


class ByteDocstring:
  b"""   has leading whitespace"""
  first_statement = 1


class CommentAfterDocstring1:
  """Browse module classes and functions in IDLE."""

  # This class is also the base class for pathbrowser.PathBrowser.

  def __init__(self):
    pass


class CommentAfterDocstring2:
  """Browse module classes and functions in IDLE."""

  # This class is also the base class for pathbrowser.PathBrowser.

  def __init__(self):
    pass


class CommentAfterDocstring3:
  """Browse module classes and functions in IDLE."""

  # This class is also the base class for pathbrowser.PathBrowser.
  def __init__(self):
    pass


class CommentAfterDocstring4:
  """Browse module classes and functions in IDLE."""

  # This class is also the base class for pathbrowser.PathBrowser.
  def __init__(self):
    pass


class CommentAfterDocstring5:
  """Browse module classes and functions in IDLE."""

  # This class is also the base class for pathbrowser.PathBrowser.


def f():
  """Browse module classes and functions in IDLE."""
  # ^ Do not insert a newline above here

  pass


class TabbedIndent:
  def tabbed_indent(self):
    """check for correct tabbed formatting
                                ^^^^^^^^^^
    Normal indented line
            - author
    """


def single_quoted():
  "content\ "
  return
```


### Output 3
```
indent-style               = tab
line-width                 = 88
indent-width               = 8
quote-style                = Double
line-ending                = LineFeed
magic-trailing-comma       = Respect
docstring-code             = Disabled
docstring-code-line-width  = "dynamic"
preview                    = Disabled
target_version             = Py39
source_type                = Python
```

```python
def single_line_backslashes1():
	"""content\ """
	return


def single_line_backslashes2():
	"""content\\"""
	return


def single_line_backslashes3():
	"""content\\\ """
	return


def multiline_backslashes1():
	"""This is a docstring with
	some lines of text\ """
	return


def multiline_backslashes2():
	"""This is a docstring with
	some lines of text\\"""
	return


def multiline_backslashes3():
	"""This is a docstring with
	some lines of text\\\ """
	return


def multiple_negatively_indented_docstring_lines():
	"""a
	b
	 c
	  d
	   e
	"""


def overindentend_docstring():
	"""a
	over-indented
	"""


def comment_before_docstring():
	# don't lose this function comment ...
	"""Does nothing.

	But it has comments
	"""  # ... neither lose this function comment


class CommentBeforeDocstring:
	# don't lose this class comment ...
	"""Empty class.

	But it has comments
	"""  # ... neither lose this class comment


class IndentMeSome:
	def doc_string_without_linebreak_after_colon(self):
		"""This is somewhat strange
		   a
		b
		   We format this a is the docstring had started properly indented on the next
		   line if the target indentation. This may we incorrect since source and target
		   indentation can be incorrect, but this is also an edge case.
		"""


class IgnoreImplicitlyConcatenatedStrings:
	"""""" ""


def docstring_that_ends_with_quote_and_a_line_break1():
	"""
	he said "the news of my death have been greatly exaggerated"
	"""


def docstring_that_ends_with_quote_and_a_line_break2():
	"""he said "the news of my death have been greatly exaggerated" """


def docstring_that_ends_with_quote_and_a_line_break3():
	"""he said "the news of my death have been greatly exaggerated" """


class ByteDocstring:
	b"""   has leading whitespace"""
	first_statement = 1


class CommentAfterDocstring1:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.

	def __init__(self):
		pass


class CommentAfterDocstring2:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.

	def __init__(self):
		pass


class CommentAfterDocstring3:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.
	def __init__(self):
		pass


class CommentAfterDocstring4:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.
	def __init__(self):
		pass


class CommentAfterDocstring5:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.


def f():
	"""Browse module classes and functions in IDLE."""
	# ^ Do not insert a newline above here

	pass


class TabbedIndent:
	def tabbed_indent(self):
		"""check for correct tabbed formatting
		                            ^^^^^^^^^^
		Normal indented line
		        - author
		"""


def single_quoted():
	"content\ "
	return
```


### Output 4
```
indent-style               = tab
line-width                 = 88
indent-width               = 4
quote-style                = Double
line-ending                = LineFeed
magic-trailing-comma       = Respect
docstring-code             = Disabled
docstring-code-line-width  = "dynamic"
preview                    = Disabled
target_version             = Py39
source_type                = Python
```

```python
def single_line_backslashes1():
	"""content\ """
	return


def single_line_backslashes2():
	"""content\\"""
	return


def single_line_backslashes3():
	"""content\\\ """
	return


def multiline_backslashes1():
	"""This is a docstring with
	some lines of text\ """
	return


def multiline_backslashes2():
	"""This is a docstring with
	some lines of text\\"""
	return


def multiline_backslashes3():
	"""This is a docstring with
	some lines of text\\\ """
	return


def multiple_negatively_indented_docstring_lines():
	"""a
	b
	 c
	  d
	   e
	"""


def overindentend_docstring():
	"""a
	over-indented
	"""


def comment_before_docstring():
	# don't lose this function comment ...
	"""Does nothing.

	But it has comments
	"""  # ... neither lose this function comment


class CommentBeforeDocstring:
	# don't lose this class comment ...
	"""Empty class.

	But it has comments
	"""  # ... neither lose this class comment


class IndentMeSome:
	def doc_string_without_linebreak_after_colon(self):
		"""This is somewhat strange
		   a
		b
		   We format this a is the docstring had started properly indented on the next
		   line if the target indentation. This may we incorrect since source and target
		   indentation can be incorrect, but this is also an edge case.
		"""


class IgnoreImplicitlyConcatenatedStrings:
	"""""" ""


def docstring_that_ends_with_quote_and_a_line_break1():
	"""
	he said "the news of my death have been greatly exaggerated"
	"""


def docstring_that_ends_with_quote_and_a_line_break2():
	"""he said "the news of my death have been greatly exaggerated" """


def docstring_that_ends_with_quote_and_a_line_break3():
	"""he said "the news of my death have been greatly exaggerated" """


class ByteDocstring:
	b"""   has leading whitespace"""
	first_statement = 1


class CommentAfterDocstring1:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.

	def __init__(self):
		pass


class CommentAfterDocstring2:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.

	def __init__(self):
		pass


class CommentAfterDocstring3:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.
	def __init__(self):
		pass


class CommentAfterDocstring4:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.
	def __init__(self):
		pass


class CommentAfterDocstring5:
	"""Browse module classes and functions in IDLE."""

	# This class is also the base class for pathbrowser.PathBrowser.


def f():
	"""Browse module classes and functions in IDLE."""
	# ^ Do not insert a newline above here

	pass


class TabbedIndent:
	def tabbed_indent(self):
		"""check for correct tabbed formatting
		                            ^^^^^^^^^^
		Normal indented line
		        - author
		"""


def single_quoted():
	"content\ "
	return
```


### Output 5
```
indent-style               = space
line-width                 = 88
indent-width               = 4
quote-style                = Single
line-ending                = LineFeed
magic-trailing-comma       = Respect
docstring-code             = Disabled
docstring-code-line-width  = "dynamic"
preview                    = Disabled
target_version             = Py39
source_type                = Python
```

```python
def single_line_backslashes1():
    """content\ """
    return


def single_line_backslashes2():
    """content\\"""
    return


def single_line_backslashes3():
    """content\\\ """
    return


def multiline_backslashes1():
    """This is a docstring with
    some lines of text\ """
    return


def multiline_backslashes2():
    """This is a docstring with
    some lines of text\\"""
    return


def multiline_backslashes3():
    """This is a docstring with
    some lines of text\\\ """
    return


def multiple_negatively_indented_docstring_lines():
    """a
    b
     c
      d
       e
    """


def overindentend_docstring():
    """a
    over-indented
    """


def comment_before_docstring():
    # don't lose this function comment ...
    """Does nothing.

    But it has comments
    """  # ... neither lose this function comment


class CommentBeforeDocstring:
    # don't lose this class comment ...
    """Empty class.

    But it has comments
    """  # ... neither lose this class comment


class IndentMeSome:
    def doc_string_without_linebreak_after_colon(self):
        """This is somewhat strange
           a
        b
           We format this a is the docstring had started properly indented on the next
           line if the target indentation. This may we incorrect since source and target
           indentation can be incorrect, but this is also an edge case.
        """


class IgnoreImplicitlyConcatenatedStrings:
    """""" ''


def docstring_that_ends_with_quote_and_a_line_break1():
    """
    he said "the news of my death have been greatly exaggerated"
    """


def docstring_that_ends_with_quote_and_a_line_break2():
    """he said "the news of my death have been greatly exaggerated" """


def docstring_that_ends_with_quote_and_a_line_break3():
    """he said "the news of my death have been greatly exaggerated" """


class ByteDocstring:
    b"""   has leading whitespace"""
    first_statement = 1


class CommentAfterDocstring1:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self):
        pass


class CommentAfterDocstring2:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.

    def __init__(self):
        pass


class CommentAfterDocstring3:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.
    def __init__(self):
        pass


class CommentAfterDocstring4:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.
    def __init__(self):
        pass


class CommentAfterDocstring5:
    """Browse module classes and functions in IDLE."""

    # This class is also the base class for pathbrowser.PathBrowser.


def f():
    """Browse module classes and functions in IDLE."""
    # ^ Do not insert a newline above here

    pass


class TabbedIndent:
    def tabbed_indent(self):
        """check for correct tabbed formatting
                                    ^^^^^^^^^^
        Normal indented line
                - author
        """


def single_quoted():
    "content\ "
    return
```
