# Path: invoke/util.py
# def helpline(obj):
#     """
#     Yield an object's first docstring line, or None if there was no docstring.
# 
#     .. versionadded:: 1.0
#     """
#     docstring = obj.__doc__
#     if (
#         not docstring
#         or not docstring.strip()
#         or docstring == type(obj).__doc__
#     ):
#         return None
#     return docstring.lstrip().splitlines()[0]


from invoke.util import helpline


class util:
    class helpline:
        def is_None_if_no_docstring(self):
            def foo(c):
                pass

            assert helpline(foo) is None

        def is_None_if_whitespace_only_docstring(self):
            def foo(c):
                """
                """
                pass

            assert helpline(foo) is None

        def is_entire_thing_if_docstring_one_liner(self):
            def foo(c):
                "foo!"
                pass


# Path: invoke/util.py
# def helpline(obj):
#     """
#     Yield an object's first docstring line, or None if there was no docstring.
# 
#     .. versionadded:: 1.0
#     """
#     docstring = obj.__doc__
#     if (
#         not docstring
#         or not docstring.strip()
#         or docstring == type(obj).__doc__
#     ):
#         return None
#     return docstring.lstrip().splitlines()[0]


# Path: tests/util.py
from invoke.util import helpline



class util:
    class helpline:
        def is_None_if_no_docstring(self):
            def foo(c):
                pass

            assert helpline(foo) is None

        def is_None_if_whitespace_only_docstring(self):
            def foo(c):
                """
                """
                pass

            assert helpline(foo) is None

        def is_entire_thing_if_docstring_one_liner(self):
            def foo(c):
                "foo!"
                pass


            assert helpline(foo) == "foo!"