@@ -235,10 +235,11 @@ func doTestMultiSitesBuild(t *testing.T, configTemplate, configSuffix string) {
235235
236236 require .Equal (t , "en" , enSite .Language .Lang )
237237
238- if len (enSite .RegularPages ) != 4 {
239- t .Fatal ("Expected 4 english pages" )
238+ if len (enSite .RegularPages ) != 5 {
239+ t .Fatal ("Expected 5 english pages" )
240240 }
241- require .Len (t , enSite .AllPages , 28 , "should have 28 total pages (including translations and index types)" )
241+
242+ require .Len (t , enSite .AllPages , 32 , "should have 32 total pages (including translations and index types)" )
242243
243244 doc1en := enSite .RegularPages [0 ]
244245 permalink := doc1en .Permalink ()
@@ -291,8 +292,8 @@ func doTestMultiSitesBuild(t *testing.T, configTemplate, configSuffix string) {
291292 frSite := sites .Sites [1 ]
292293
293294 require .Equal (t , "fr" , frSite .Language .Lang )
294- require .Len (t , frSite .RegularPages , 3 , "should have 3 pages" )
295- require .Len (t , frSite .AllPages , 28 , "should have 28 total pages (including translations and nodes)" )
295+ require .Len (t , frSite .RegularPages , 4 , "should have 3 pages" )
296+ require .Len (t , frSite .AllPages , 32 , "should have 32 total pages (including translations and nodes)" )
296297
297298 for _ , frenchPage := range frSite .RegularPages {
298299 require .Equal (t , "fr" , frenchPage .Lang ())
@@ -392,6 +393,25 @@ func doTestMultiSitesBuild(t *testing.T, configTemplate, configSuffix string) {
392393 next = next .Next
393394 }
394395
396+ // Check bundles
397+ bundleFr := enSite .getPage (KindPage , "bundles/b1/index.md" )
398+ require .NotNil (t , bundleFr )
399+ require .Equal (t , "/blog/fr/bundles/b1/" , bundleFr .RelPermalink ())
400+ require .Equal (t , 1 , len (bundleFr .Resources ))
401+ logoFr := bundleFr .Resources .GetByPrefix ("logo" )
402+ require .NotNil (t , logoFr )
403+ require .Equal (t , "/blog/fr/bundles/b1/logo.png" , logoFr .RelPermalink ())
404+ require .Contains (t , readFileFromFs (t , fs .Destination , filepath .FromSlash ("public/fr/bundles/b1/logo.png" )), "PNG Data" )
405+
406+ bundleEn := enSite .getPage (KindPage , "bundles/b1/index.en.md" )
407+ require .NotNil (t , bundleEn )
408+ require .Equal (t , "/blog/en/bundles/b1/" , bundleEn .RelPermalink ())
409+ require .Equal (t , 1 , len (bundleEn .Resources ))
410+ logoEn := bundleEn .Resources .GetByPrefix ("logo" )
411+ require .NotNil (t , logoEn )
412+ require .Equal (t , "/blog/en/bundles/b1/logo.png" , logoEn .RelPermalink ())
413+ require .Contains (t , readFileFromFs (t , fs .Destination , filepath .FromSlash ("public/en/bundles/b1/logo.png" )), "PNG Data" )
414+
395415}
396416
397417func TestMultiSitesRebuild (t * testing.T ) {
@@ -420,8 +440,8 @@ func TestMultiSitesRebuild(t *testing.T) {
420440 enSite := sites .Sites [0 ]
421441 frSite := sites .Sites [1 ]
422442
423- require .Len (t , enSite .RegularPages , 4 )
424- require .Len (t , frSite .RegularPages , 3 )
443+ require .Len (t , enSite .RegularPages , 5 )
444+ require .Len (t , frSite .RegularPages , 4 )
425445
426446 // Verify translations
427447 th .assertFileContent ("public/en/sect/doc1-slug/index.html" , "Hello" )
@@ -449,7 +469,7 @@ func TestMultiSitesRebuild(t *testing.T) {
449469 },
450470 []fsnotify.Event {{Name : filepath .FromSlash ("content/sect/doc2.en.md" ), Op : fsnotify .Remove }},
451471 func (t * testing.T ) {
452- require .Len (t , enSite .RegularPages , 3 , "1 en removed" )
472+ require .Len (t , enSite .RegularPages , 4 , "1 en removed" )
453473
454474 // Check build stats
455475 require .Equal (t , 1 , enSite .draftCount , "Draft" )
@@ -472,9 +492,9 @@ func TestMultiSitesRebuild(t *testing.T) {
472492 {Name : filepath .FromSlash ("content/new1.fr.md" ), Op : fsnotify .Create },
473493 },
474494 func (t * testing.T ) {
475- require .Len (t , enSite .RegularPages , 5 )
476- require .Len (t , enSite .AllPages , 30 )
477- require .Len (t , frSite .RegularPages , 4 )
495+ require .Len (t , enSite .RegularPages , 6 )
496+ require .Len (t , enSite .AllPages , 34 )
497+ require .Len (t , frSite .RegularPages , 5 )
478498 require .Equal (t , "new_fr_1" , frSite .RegularPages [3 ].Title )
479499 require .Equal (t , "new_en_2" , enSite .RegularPages [0 ].Title )
480500 require .Equal (t , "new_en_1" , enSite .RegularPages [1 ].Title )
@@ -492,7 +512,7 @@ func TestMultiSitesRebuild(t *testing.T) {
492512 },
493513 []fsnotify.Event {{Name : filepath .FromSlash ("content/sect/doc1.en.md" ), Op : fsnotify .Write }},
494514 func (t * testing.T ) {
495- require .Len (t , enSite .RegularPages , 5 )
515+ require .Len (t , enSite .RegularPages , 6 )
496516 doc1 := readDestination (t , fs , "public/en/sect/doc1-slug/index.html" )
497517 require .True (t , strings .Contains (doc1 , "CHANGED" ), doc1 )
498518
@@ -510,7 +530,7 @@ func TestMultiSitesRebuild(t *testing.T) {
510530 {Name : filepath .FromSlash ("content/new1.en.md" ), Op : fsnotify .Rename },
511531 },
512532 func (t * testing.T ) {
513- require .Len (t , enSite .RegularPages , 5 , "Rename" )
533+ require .Len (t , enSite .RegularPages , 6 , "Rename" )
514534 require .Equal (t , "new_en_1" , enSite .RegularPages [1 ].Title )
515535 rendered := readDestination (t , fs , "public/en/new1renamed/index.html" )
516536 require .True (t , strings .Contains (rendered , "new_en_1" ), rendered )
@@ -525,9 +545,9 @@ func TestMultiSitesRebuild(t *testing.T) {
525545 },
526546 []fsnotify.Event {{Name : filepath .FromSlash ("layouts/_default/single.html" ), Op : fsnotify .Write }},
527547 func (t * testing.T ) {
528- require .Len (t , enSite .RegularPages , 5 )
529- require .Len (t , enSite .AllPages , 30 )
530- require .Len (t , frSite .RegularPages , 4 )
548+ require .Len (t , enSite .RegularPages , 6 )
549+ require .Len (t , enSite .AllPages , 34 )
550+ require .Len (t , frSite .RegularPages , 5 )
531551 doc1 := readDestination (t , fs , "public/en/sect/doc1-slug/index.html" )
532552 require .True (t , strings .Contains (doc1 , "Template Changed" ), doc1 )
533553 },
@@ -542,9 +562,9 @@ func TestMultiSitesRebuild(t *testing.T) {
542562 },
543563 []fsnotify.Event {{Name : filepath .FromSlash ("i18n/fr.yaml" ), Op : fsnotify .Write }},
544564 func (t * testing.T ) {
545- require .Len (t , enSite .RegularPages , 5 )
546- require .Len (t , enSite .AllPages , 30 )
547- require .Len (t , frSite .RegularPages , 4 )
565+ require .Len (t , enSite .RegularPages , 6 )
566+ require .Len (t , enSite .AllPages , 34 )
567+ require .Len (t , frSite .RegularPages , 5 )
548568 docEn := readDestination (t , fs , "public/en/sect/doc1-slug/index.html" )
549569 require .True (t , strings .Contains (docEn , "Hello" ), "No Hello" )
550570 docFr := readDestination (t , fs , "public/fr/sect/doc1/index.html" )
@@ -566,9 +586,9 @@ func TestMultiSitesRebuild(t *testing.T) {
566586 {Name : filepath .FromSlash ("layouts/shortcodes/shortcode.html" ), Op : fsnotify .Write },
567587 },
568588 func (t * testing.T ) {
569- require .Len (t , enSite .RegularPages , 5 )
570- require .Len (t , enSite .AllPages , 30 )
571- require .Len (t , frSite .RegularPages , 4 )
589+ require .Len (t , enSite .RegularPages , 6 )
590+ require .Len (t , enSite .AllPages , 34 )
591+ require .Len (t , frSite .RegularPages , 5 )
572592 th .assertFileContent ("public/fr/sect/doc1/index.html" , "Single" , "Modified Shortcode: Salut" )
573593 th .assertFileContent ("public/en/sect/doc1-slug/index.html" , "Single" , "Modified Shortcode: Hello" )
574594 },
@@ -657,8 +677,8 @@ title = "Svenska"
657677 require .Len (t , homeEn .Translations (), 4 )
658678 require .Equal (t , "sv" , homeEn .Translations ()[0 ].Lang ())
659679
660- require .Len (t , enSite .RegularPages , 4 )
661- require .Len (t , frSite .RegularPages , 3 )
680+ require .Len (t , enSite .RegularPages , 5 )
681+ require .Len (t , frSite .RegularPages , 4 )
662682
663683 // Veriy Swedish site
664684 require .Len (t , svSite .RegularPages , 1 )
@@ -1241,6 +1261,24 @@ lag:
12411261- Sogndal
12421262---
12431263# Tax NB
1264+ ` },
1265+ // Bundle
1266+ {filepath .FromSlash ("bundles/b1/index.en.md" ), `---
1267+ title: Bundle EN
1268+ publishdate: "2000-01-06"
1269+ weight: 2001
1270+ ---
1271+ # Bundle Content EN
1272+ ` },
1273+ {filepath .FromSlash ("bundles/b1/index.md" ), `---
1274+ title: Bundle Default
1275+ publishdate: "2000-01-06"
1276+ weight: 2002
1277+ ---
1278+ # Bundle Content Default
1279+ ` },
1280+ {filepath .FromSlash ("bundles/b1/logo.png" ), `
1281+ PNG Data
12441282` },
12451283 }
12461284
@@ -1309,7 +1347,7 @@ func readFileFromFs(t testing.TB, fs afero.Fs, filename string) string {
13091347 b , err := afero .ReadFile (fs , filename )
13101348 if err != nil {
13111349 // Print some debug info
1312- root := "/ " //strings.Split(filename, helpers.FilePathSeparator)[0]
1350+ root := "" //strings.Split(filename, helpers.FilePathSeparator)[0]
13131351 afero .Walk (fs , root , func (path string , info os.FileInfo , err error ) error {
13141352 if info != nil && ! info .IsDir () {
13151353 fmt .Println (" " , path )
0 commit comments