// Copyright 2022 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 highlight_test import ( "testing" "github.com/gohugoio/hugo/hugolib" ) func TestHighlightInline(t *testing.T) { t.Parallel() files := ` -- config.toml -- [markup] [markup.highlight] codeFences = true noClasses = false -- content/p1.md -- --- title: "p1" --- ## Inline in Shortcode Inline:{{< highlight emacs "hl_inline=true" >}}(message "this highlight shortcode"){{< /highlight >}}:End. Inline Unknown:{{< highlight foo "hl_inline=true" >}}(message "this highlight shortcode"){{< /highlight >}}:End. ## Inline in code block Not sure if this makes sense, but add a test for it: §§§bash {hl_inline=true} (message "highlight me") §§§ ## HighlightCodeBlock in hook §§§html (message "highlight me 2") §§§ ## Unknown lexer §§§foo {hl_inline=true} (message "highlight me 3") §§§ -- layouts/_default/_markup/render-codeblock-html.html -- {{ $opts := dict "hl_inline" true }} {{ $result := transform.HighlightCodeBlock . $opts }} HighlightCodeBlock: Wrapped:{{ $result.Wrapped }}|Inner:{{ $result.Inner }} -- layouts/_default/single.html -- {{ .Content }} ` b := hugolib.NewIntegrationTestBuilder( hugolib.IntegrationTestConfig{ T: t, TxtarString: files, NeedsOsFS: false, }, ).Build() b.AssertFileContent("public/p1/index.html", "Inline:(message "this highlight shortcode"):End.", "Inline Unknown:(message "this highlight shortcode"):End.", "Not sure if this makes sense, but add a test for it:

\n(message "highlight me")\n", "HighlightCodeBlock: Wrapped:(message "highlight me 2")|Inner:(message "highlight me 2")", "(message "highlight me 3")\n", ) }