hugolib: Fix reloading corner cases for shortcodes

This commit fixes two different, but related issues:

1) Live-reload when a new shortcode was defined in the content file before the shortcode itself was created.
2) Live-reload when a newly defined shortcode changed its "inner content" status.

This commit also improves the shortcode related error messages to include the full path to the content file in question.

Fixes #3156
This commit is contained in:
Bjørn Erik Pedersen
2017-03-10 20:54:50 +01:00
parent 5f443bd45b
commit 2f2ea42c09
6 changed files with 102 additions and 37 deletions

View File

@@ -352,7 +352,8 @@ func TestExtractShortcodes(t *testing.T) {
return nil
})
content, shortCodes, err := extractShortcodes(this.input, p)
s := newShortcodeHandler()
content, err := s.extractShortcodes(this.input, p)
if b, ok := this.expect.(bool); ok && !b {
if err == nil {
@@ -371,6 +372,8 @@ func TestExtractShortcodes(t *testing.T) {
}
}
shortCodes := s.shortcodes
var expected string
av := reflect.ValueOf(this.expect)
switch av.Kind() {