diff options
Diffstat (limited to 'parser/pageparser/pagelexer_intro_test.go')
-rw-r--r-- | parser/pageparser/pagelexer_intro_test.go | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/parser/pageparser/pagelexer_intro_test.go b/parser/pageparser/pagelexer_intro_test.go new file mode 100644 index 000000000..c074e6f50 --- /dev/null +++ b/parser/pageparser/pagelexer_intro_test.go @@ -0,0 +1,46 @@ +// Copyright 2024 The Hugo Authors. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package pageparser + +import ( + "testing" + + qt "github.com/frankban/quicktest" +) + +func Test_lexIntroSection(t *testing.T) { + t.Parallel() + c := qt.New(t) + for i, tt := range []struct { + input string + expectItemType ItemType + expectSummaryDivider []byte + }{ + {"{\"title\": \"JSON\"}\n", TypeFrontMatterJSON, summaryDivider}, + {"#+TITLE: ORG\n", TypeFrontMatterORG, summaryDividerOrg}, + {"+++\ntitle = \"TOML\"\n+++\n", TypeFrontMatterTOML, summaryDivider}, + {"---\ntitle: YAML\n---\n", TypeFrontMatterYAML, summaryDivider}, + // Issue 13152 + {"# ATX Header Level 1\n", tText, summaryDivider}, + } { + errMsg := qt.Commentf("[%d] %v", i, tt.input) + + l := newPageLexer([]byte(tt.input), lexIntroSection, Config{}) + l.run() + + c.Assert(l.items[0].Type, qt.Equals, tt.expectItemType, errMsg) + c.Assert(l.summaryDivider, qt.DeepEquals, tt.expectSummaryDivider, errMsg) + + } +} |