URI: 
       Fix the shortcode ref tests - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 506e131f281be411c94b411324ef8bffc352cb66
   DIR parent 54141f71dd0ffbd2af326581b78ecafe7f054f51
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Sun,  7 Aug 2016 22:29:27 +0200
       
       Fix the shortcode ref tests
       
       See #2309
       
       Diffstat:
         M hugolib/embedded_shortcodes_test.go |      24 ++++++++++++++----------
         M hugolib/site.go                     |      11 +----------
       
       2 files changed, 15 insertions(+), 20 deletions(-)
       ---
   DIR diff --git a/hugolib/embedded_shortcodes_test.go b/hugolib/embedded_shortcodes_test.go
       @@ -19,11 +19,13 @@ import (
                "os"
                "path/filepath"
                "regexp"
       +        "strings"
                "testing"
        
                "github.com/spf13/hugo/helpers"
                "github.com/spf13/hugo/tpl"
                "github.com/spf13/viper"
       +        "github.com/stretchr/testify/require"
        )
        
        const (
       @@ -37,6 +39,9 @@ func TestShortcodeCrossrefs(t *testing.T) {
        }
        
        func doTestShortcodeCrossrefs(t *testing.T, relative bool) {
       +        testCommonResetState()
       +        viper.Set("baseURL", baseURL)
       +
                var refShortcode string
                var expectedBase string
        
       @@ -50,21 +55,20 @@ func doTestShortcodeCrossrefs(t *testing.T, relative bool) {
        
                path := filepath.FromSlash("blog/post.md")
                in := fmt.Sprintf(`{{< %s "%s" >}}`, refShortcode, path)
       +
       +        writeSource(t, "content/"+path, simplePageWithURL+": "+in)
       +
                expected := fmt.Sprintf(`%s/simple/url/`, expectedBase)
        
       -        templ := tpl.New()
       -        p, _ := pageFromString(simplePageWithURL, path)
       -        p.Node.Site = newSiteInfoDefaultLanguage(
       -                helpers.SanitizeURLKeepTrailingSlash(baseURL),
       -                p)
       +        sites, err := newHugoSitesDefaultLanguage()
       +        require.NoError(t, err)
        
       -        output, err := HandleShortcodes(in, p, templ)
       +        require.NoError(t, sites.Build(BuildCfg{}))
       +        require.Len(t, sites.Sites[0].Pages, 1)
        
       -        if err != nil {
       -                t.Fatal("Handle shortcode error", err)
       -        }
       +        output := string(sites.Sites[0].Pages[0].Content)
        
       -        if output != expected {
       +        if !strings.Contains(output, expected) {
                        t.Errorf("Got\n%q\nExpected\n%q", output, expected)
                }
        }
   DIR diff --git a/hugolib/site.go b/hugolib/site.go
       @@ -247,16 +247,7 @@ func (s *SiteInfo) refLink(ref string, page *Page, relative bool) (string, error
                var link string
        
                if refURL.Path != "" {
       -                // We may be in a shortcode and a not finished site, so look it the
       -                // "raw page" collection.
       -                // This works, but it also means AllPages and Pages will be empty for other
       -                // shortcode use, which may be a slap in the face for many.
       -                // TODO(bep) ml move shortcode handling to a "pre-render" handler, which also
       -                // will fix a few other problems.
       -                for _, page := range []*Page(*s.rawAllPages) {
       -                        if !page.shouldBuild() {
       -                                continue
       -                        }
       +                for _, page := range []*Page(*s.AllPages) {
                                refPath := filepath.FromSlash(refURL.Path)
                                if page.Source.Path() == refPath || page.Source.LogicalName() == refPath {
                                        target = page