mirror of
https://github.com/adrienverge/yamllint.git
synced 2025-02-25 18:55:20 -06:00
document-end: Fix spurious "missing document end"
DocumentStartToken is preceded by DirectiveToken.
This commit is contained in:
parent
7f2c071545
commit
a68c3aa69e
@ -71,3 +71,22 @@ class DocumentEndTestCase(RuleTestCase):
|
||||
'---\n'
|
||||
'third: document\n'
|
||||
'...\n', conf, problem=(6, 1))
|
||||
|
||||
def test_directives(self):
|
||||
conf = 'document-end: {present: true}'
|
||||
self.check('%YAML 1.2\n'
|
||||
'---\n'
|
||||
'document: end\n'
|
||||
'...\n', conf)
|
||||
self.check('%YAML 1.2\n'
|
||||
'%TAG ! tag:clarkevans.com,2002:\n'
|
||||
'---\n'
|
||||
'document: end\n'
|
||||
'...\n', conf)
|
||||
self.check('---\n'
|
||||
'first: document\n'
|
||||
'...\n'
|
||||
'%YAML 1.2\n'
|
||||
'---\n'
|
||||
'second: document\n'
|
||||
'...\n', conf)
|
||||
|
@ -99,11 +99,13 @@ def check(conf, token, prev, next, nextnext, context):
|
||||
prev_is_end_or_stream_start = isinstance(
|
||||
prev, (yaml.DocumentEndToken, yaml.StreamStartToken)
|
||||
)
|
||||
prev_is_directive = isinstance(prev, yaml.DirectiveToken)
|
||||
|
||||
if is_stream_end and not prev_is_end_or_stream_start:
|
||||
yield LintProblem(token.start_mark.line, 1,
|
||||
'missing document end "..."')
|
||||
elif is_start and not prev_is_end_or_stream_start:
|
||||
elif is_start and not (prev_is_end_or_stream_start
|
||||
or prev_is_directive):
|
||||
yield LintProblem(token.start_mark.line + 1, 1,
|
||||
'missing document end "..."')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user