'''))
self.assertFalse([msgid for msgid in msgids if 'doc' in msgid])
+ def test_moduledocstring(self):
+ for doc in ('"""doc"""', "r'''doc'''", "R'doc'", 'u"doc"'):
+ with self.subTest(doc):
+ msgids = self.extract_docstrings_from_str(dedent('''\
+ %s
+ ''' % doc))
+ self.assertIn('doc', msgids)
+
+ def test_moduledocstring_bytes(self):
+ msgids = self.extract_docstrings_from_str(dedent('''\
+ b"""doc"""
+ '''))
+ self.assertFalse([msgid for msgid in msgids if 'doc' in msgid])
+
+ def test_moduledocstring_fstring(self):
+ msgids = self.extract_docstrings_from_str(dedent('''\
+ f"""doc"""
+ '''))
+ self.assertFalse([msgid for msgid in msgids if 'doc' in msgid])
+
def test_msgid(self):
msgids = self.extract_docstrings_from_str(
'''_("""doc""" r'str' u"ing")''')
if ttype == tokenize.STRING and is_literal_string(tstring):
self.__addentry(safe_eval(tstring), lineno, isdocstring=1)
self.__freshmodule = 0
- elif ttype not in (tokenize.COMMENT, tokenize.NL):
- self.__freshmodule = 0
- return
+ return
+ if ttype in (tokenize.COMMENT, tokenize.NL, tokenize.ENCODING):
+ return
+ self.__freshmodule = 0
# class or func/method docstring?
if ttype == tokenize.NAME and tstring in ('class', 'def'):
self.__state = self.__suiteseen