From ad06db0030dc1cbedf37a69561f9aa727cdeaa4b Mon Sep 17 00:00:00 2001 From: plastikfan Date: Sun, 8 Sep 2024 22:46:15 +0100 Subject: [PATCH] test(laboratory): rename helpers pkg to laboratory (#171) --- collections/positional-set_test.go | 38 +-- internal/feat/filter/filter-suite_test.go | 6 +- internal/feat/hiber/hibernate-suite_test.go | 4 +- internal/feat/hiber/hibernate_test.go | 40 +-- internal/feat/hiber/with-filter_test.go | 28 +-- .../feat/sampling/navigator-sample_test.go | 232 +++++++++--------- internal/filtering/filter-custom_test.go | 36 +-- .../filtering/filter-extended-glob_test.go | 144 +++++------ internal/filtering/filter-glob_test.go | 54 ++-- internal/filtering/filter-hybrid_test.go | 34 +-- internal/filtering/filter-poly_test.go | 66 ++--- internal/filtering/filter-regex_test.go | 72 +++--- .../navigator-folders-with-files_test.go | 30 +-- internal/kernel/navigator-simple_test.go | 82 +++---- internal/{helpers => laboratory}/assert.go | 2 +- internal/{helpers => laboratory}/callbacks.go | 2 +- .../directory-tree-builder.go | 2 +- .../{helpers => laboratory}/helper-defs.go | 2 +- internal/{helpers => laboratory}/matchers.go | 2 +- .../{helpers => laboratory}/test-utilities.go | 2 +- locale/messages-errors_test.go | 6 +- nfs/ensure-path-at_test.go | 8 +- tapable/tapable_test.go | 24 +- 23 files changed, 458 insertions(+), 458 deletions(-) rename internal/{helpers => laboratory}/assert.go (99%) rename internal/{helpers => laboratory}/callbacks.go (99%) rename internal/{helpers => laboratory}/directory-tree-builder.go (99%) rename internal/{helpers => laboratory}/helper-defs.go (98%) rename internal/{helpers => laboratory}/matchers.go (99%) rename internal/{helpers => laboratory}/test-utilities.go (99%) diff --git a/collections/positional-set_test.go b/collections/positional-set_test.go index bef6af0..825ad65 100644 --- a/collections/positional-set_test.go +++ b/collections/positional-set_test.go @@ -7,7 +7,7 @@ import ( . "github.com/onsi/gomega" //nolint:revive // ok "github.com/snivilised/traverse/collections" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" ) var ( @@ -20,7 +20,7 @@ func assertColoursAreInOrder(set *collections.PositionalSet[string]) { for _, colour := range rainbow { pos, _ := set.Position(colour) - Expect(pos < anchor).To(BeTrue(), helpers.Reason( + Expect(pos < anchor).To(BeTrue(), lab.Reason( fmt.Sprintf("position(%v) of colour: %v should be less than anchor's(%v)", pos, colour, anchor), )) @@ -47,7 +47,7 @@ var _ = Describe("PositionalSet", func() { Context("Count", func() { When("no items added", func() { It("๐Ÿงช should: contain just the anchor", func() { - Expect(set.Count()).To(Equal(1), helpers.Reason("only anchor should be present")) + Expect(set.Count()).To(Equal(1), lab.Reason("only anchor should be present")) }) }) }) @@ -55,30 +55,30 @@ var _ = Describe("PositionalSet", func() { Context("Insert", func() { When("requested item is the anchor", func() { It("๐Ÿงช should: not insert", func() { - Expect(set.Insert("ANCHOR")).To(BeFalse(), helpers.Reason("inserting anchor is invalid")) - Expect(set.Count()).To(Equal(1), helpers.Reason("only anchor should be present")) + Expect(set.Insert("ANCHOR")).To(BeFalse(), lab.Reason("inserting anchor is invalid")) + Expect(set.Count()).To(Equal(1), lab.Reason("only anchor should be present")) }) }) When("valid item requested", func() { It("๐Ÿงช should: insert", func() { - Expect(set.Insert("richard")).To(BeTrue(), helpers.Reason("richard is in order list")) - Expect(set.Count()).To(Equal(2), helpers.Reason("richard, anchor")) + Expect(set.Insert("richard")).To(BeTrue(), lab.Reason("richard is in order list")) + Expect(set.Count()).To(Equal(2), lab.Reason("richard, anchor")) }) }) When("valid item already present", func() { It("๐Ÿงช should: not insert", func() { set.Insert("richard") - Expect(set.Insert("richard")).To(BeFalse(), helpers.Reason("richard already in order list")) - Expect(set.Count()).To(Equal(2), helpers.Reason("richard, anchor")) + Expect(set.Insert("richard")).To(BeFalse(), lab.Reason("richard already in order list")) + Expect(set.Count()).To(Equal(2), lab.Reason("richard, anchor")) }) }) When("invalid item requested", func() { It("๐Ÿงช should: not insert", func() { - Expect(set.Insert("gold")).To(BeFalse(), helpers.Reason("gold not in order list")) - Expect(set.Count()).To(Equal(1), helpers.Reason("only anchor should be present")) + Expect(set.Insert("gold")).To(BeFalse(), lab.Reason("gold not in order list")) + Expect(set.Count()).To(Equal(1), lab.Reason("only anchor should be present")) }) }) }) @@ -88,8 +88,8 @@ var _ = Describe("PositionalSet", func() { It("๐Ÿงช should: insert all", func() { Expect(set.All( "richard", "of", "york", "gave", "battle", "in", "vain", - )).To(BeTrue(), helpers.Reason("all items are valid")) - Expect(set.Count()).To(Equal(8), helpers.Reason("should contain all items")) + )).To(BeTrue(), lab.Reason("all items are valid")) + Expect(set.Count()).To(Equal(8), lab.Reason("should contain all items")) }) }) @@ -97,8 +97,8 @@ var _ = Describe("PositionalSet", func() { It("๐Ÿงช should: insert only valid", func() { Expect(set.All( "richard", "gold", "of", "silver", "york", "bronze", - )).To(BeFalse(), helpers.Reason("all items are valid")) - Expect(set.Count()).To(Equal(4), helpers.Reason("should contain valid items")) + )).To(BeFalse(), lab.Reason("all items are valid")) + Expect(set.Count()).To(Equal(4), lab.Reason("should contain valid items")) }) }) }) @@ -107,7 +107,7 @@ var _ = Describe("PositionalSet", func() { When("requested item is the anchor", func() { It("๐Ÿงช should: not delete", func() { set.Delete("ANCHOR") - Expect(set.Count()).To(Equal(1), helpers.Reason("anchor should still be present")) + Expect(set.Count()).To(Equal(1), lab.Reason("anchor should still be present")) }) }) @@ -115,21 +115,21 @@ var _ = Describe("PositionalSet", func() { It("๐Ÿงช should: delete", func() { set.Insert("york") set.Delete("york") - Expect(set.Count()).To(Equal(1), helpers.Reason("york should deleted")) + Expect(set.Count()).To(Equal(1), lab.Reason("york should deleted")) }) }) When("requested valid item is not present", func() { It("๐Ÿงช should: not delete", func() { set.Delete("york") - Expect(set.Count()).To(Equal(1), helpers.Reason("only anchor should be present")) + Expect(set.Count()).To(Equal(1), lab.Reason("only anchor should be present")) }) }) When("requested valid item is not valid", func() { It("๐Ÿงช should: not delete", func() { set.Delete("silver") - Expect(set.Count()).To(Equal(1), helpers.Reason("only anchor should be present")) + Expect(set.Count()).To(Equal(1), lab.Reason("only anchor should be present")) }) }) }) diff --git a/internal/feat/filter/filter-suite_test.go b/internal/feat/filter/filter-suite_test.go index 599cc3b..266d229 100644 --- a/internal/feat/filter/filter-suite_test.go +++ b/internal/feat/filter/filter-suite_test.go @@ -8,7 +8,7 @@ import ( . "github.com/onsi/gomega" //nolint:revive // ok "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/third/lo" ) @@ -18,7 +18,7 @@ func TestFilter(t *testing.T) { } type FilterTE struct { - helpers.NaviTE + lab.NaviTE Description string Pattern string Scope enums.FilterScope @@ -31,7 +31,7 @@ type FilterTE struct { } type PolyTE struct { - helpers.NaviTE + lab.NaviTE File core.FilterDef Folder core.FilterDef } diff --git a/internal/feat/hiber/hibernate-suite_test.go b/internal/feat/hiber/hibernate-suite_test.go index 6b90a79..2c24ae9 100644 --- a/internal/feat/hiber/hibernate-suite_test.go +++ b/internal/feat/hiber/hibernate-suite_test.go @@ -6,7 +6,7 @@ import ( . "github.com/onsi/ginkgo/v2" //nolint:revive // ok . "github.com/onsi/gomega" //nolint:revive // ok "github.com/snivilised/traverse/core" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" ) func TestHibernate(t *testing.T) { @@ -15,7 +15,7 @@ func TestHibernate(t *testing.T) { } type hibernateTE struct { - helpers.NaviTE + lab.NaviTE Hibernate *core.HibernateOptions Mute bool } diff --git a/internal/feat/hiber/hibernate_test.go b/internal/feat/hiber/hibernate_test.go index 850d625..6fa2c14 100644 --- a/internal/feat/hiber/hibernate_test.go +++ b/internal/feat/hiber/hibernate_test.go @@ -14,7 +14,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" ) @@ -30,7 +30,7 @@ var _ = Describe("feature", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), filepath.Join("MUSICO", "edm"), ) @@ -46,7 +46,7 @@ var _ = Describe("feature", Ordered, func() { When("folders: wake and sleep", func() { It("๐Ÿงช should: invoke inside hibernation range", Label("example"), func(ctx SpecContext) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") result, _ := tv.Walk().Configure().Extent(tv.Prime( &tv.Using{ Root: path, @@ -90,7 +90,7 @@ var _ = Describe("feature", Ordered, func() { tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), @@ -101,7 +101,7 @@ var _ = Describe("feature", Ordered, func() { // using a different file system should not need to use // this hook for this purpose. // - return rsys.ReadDir(helpers.TrimRoot(dirname)) + return rsys.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) @@ -116,7 +116,7 @@ var _ = Describe("feature", Ordered, func() { DescribeTable("simple hibernate", func(ctx SpecContext, entry *hibernateTE) { - recording := make(helpers.RecordingMap) + recording := make(lab.RecordingMap) once := func(node *tv.Node) error { //nolint:unparam // return nil error ok _, found := recording[node.Extension.Name] Expect(found).To(BeFalse()) @@ -125,7 +125,7 @@ var _ = Describe("feature", Ordered, func() { return nil } - path := helpers.Path( + path := lab.Path( root, lo.Ternary(entry.NaviTE.Relative == "", "RETRO-WAVE", @@ -173,18 +173,18 @@ var _ = Describe("feature", Ordered, func() { tv.IfOption(entry.CaseSensitive, tv.WithHookCaseSensitiveSort()), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rsys fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rsys.ReadDir(helpers.TrimRoot(dirname)) + return rsys.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -201,7 +201,7 @@ var _ = Describe("feature", Ordered, func() { // === folders ======================================================= Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "wake and sleep (folders, inclusive:default)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, @@ -211,7 +211,7 @@ var _ = Describe("feature", Ordered, func() { Prohibited: []string{"RETRO-WAVE", "Chromatics", "Electric Youth", "Innerworld", }, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 4, }, }, @@ -234,7 +234,7 @@ var _ = Describe("feature", Ordered, func() { }), Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "wake and sleep (folders, excl:wake, inc:sleep, mute)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, @@ -244,7 +244,7 @@ var _ = Describe("feature", Ordered, func() { Prohibited: []string{"Night Drive", "RETRO-WAVE", "Chromatics", "Innerworld", }, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 4, }, }, @@ -268,7 +268,7 @@ var _ = Describe("feature", Ordered, func() { }), Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "wake only (folders, inclusive:default)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, @@ -276,7 +276,7 @@ var _ = Describe("feature", Ordered, func() { "Teenage Color", "Electric Youth", "Innerworld", }, Prohibited: []string{"RETRO-WAVE", "Chromatics"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 6, }, }, @@ -294,7 +294,7 @@ var _ = Describe("feature", Ordered, func() { }), Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "sleep only (folders, inclusive:default)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, @@ -302,7 +302,7 @@ var _ = Describe("feature", Ordered, func() { "Northern Council", "Teenage Color", }, Prohibited: []string{"Electric Youth", "Innerworld"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 6, }, }, @@ -321,7 +321,7 @@ var _ = Describe("feature", Ordered, func() { }), Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "sleep only (folders, inclusive:default)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, @@ -329,7 +329,7 @@ var _ = Describe("feature", Ordered, func() { Prohibited: []string{"Night Drive", "College", "Northern Council", "Teenage Color", "Electric Youth", "Innerworld", }, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, }, }, diff --git a/internal/feat/hiber/with-filter_test.go b/internal/feat/hiber/with-filter_test.go index fc2766b..ff07d21 100644 --- a/internal/feat/hiber/with-filter_test.go +++ b/internal/feat/hiber/with-filter_test.go @@ -14,7 +14,7 @@ import ( "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/pref" ) @@ -30,7 +30,7 @@ var _ = Describe("feature", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), filepath.Join("MUSICO", "edm"), ) @@ -44,7 +44,7 @@ var _ = Describe("feature", Ordered, func() { DescribeTable("filter and listen both active", func(ctx SpecContext, entry *hibernateTE) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") result, err := tv.Walk().Configure().Extent(tv.Prime( &tv.Using{ Root: path, @@ -58,8 +58,8 @@ var _ = Describe("feature", Ordered, func() { }, }, - tv.WithOnBegin(helpers.Begin("๐Ÿ›ก๏ธ")), - tv.WithOnEnd(helpers.End("๐Ÿ")), + tv.WithOnBegin(lab.Begin("๐Ÿ›ก๏ธ")), + tv.WithOnEnd(lab.End("๐Ÿ")), tv.WithFilter(&pref.FilterOptions{ Node: &core.FilterDef{ @@ -96,13 +96,13 @@ var _ = Describe("feature", Ordered, func() { tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rsys fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rsys.ReadDir(helpers.TrimRoot(dirname)) + return rsys.ReadDir(lab.TrimRoot(dirname)) }, ), tv.WithOnWake(func(description string) { @@ -113,7 +113,7 @@ var _ = Describe("feature", Ordered, func() { }), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Path: path, Result: result, @@ -132,7 +132,7 @@ var _ = Describe("feature", Ordered, func() { }, Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "File Subscription", Should: "wake, then apply filter until the end", Subscription: enums.SubscribeFiles, @@ -141,7 +141,7 @@ var _ = Describe("feature", Ordered, func() { return nil }, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 6, }, }, @@ -156,7 +156,7 @@ var _ = Describe("feature", Ordered, func() { }), Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "File Subscription", Should: "apply filter until sleep", Subscription: enums.SubscribeFiles, @@ -165,7 +165,7 @@ var _ = Describe("feature", Ordered, func() { return nil }, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 2, }, }, @@ -180,7 +180,7 @@ var _ = Describe("feature", Ordered, func() { }), Entry(nil, &hibernateTE{ - NaviTE: helpers.NaviTE{ + NaviTE: lab.NaviTE{ Given: "File Subscription", Should: "apply filter within hibernation range", Subscription: enums.SubscribeFiles, @@ -189,7 +189,7 @@ var _ = Describe("feature", Ordered, func() { return nil }, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 4, }, }, diff --git a/internal/feat/sampling/navigator-sample_test.go b/internal/feat/sampling/navigator-sample_test.go index ae836d5..cd95aac 100644 --- a/internal/feat/sampling/navigator-sample_test.go +++ b/internal/feat/sampling/navigator-sample_test.go @@ -12,7 +12,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/locale" @@ -30,7 +30,7 @@ var _ = Describe("feature", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), filepath.Join("MUSICO", "edm"), ) @@ -45,7 +45,7 @@ var _ = Describe("feature", Ordered, func() { Context("comprehension", func() { When("universal: slice sample", func() { It("๐Ÿงช should: foo", Label("example"), func(ctx SpecContext) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") result, _ := tv.Walk().Configure().Extent(tv.Prime( &tv.Using{ Root: path, @@ -72,12 +72,12 @@ var _ = Describe("feature", Ordered, func() { }), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rsys fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rsys.ReadDir(helpers.TrimRoot(dirname)) + return rsys.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) @@ -91,8 +91,8 @@ var _ = Describe("feature", Ordered, func() { }) DescribeTable("sample", - func(ctx SpecContext, entry *helpers.SampleTE) { - recording := make(helpers.RecordingMap) + func(ctx SpecContext, entry *lab.SampleTE) { + recording := make(lab.RecordingMap) once := func(node *tv.Node) error { //nolint:unparam // return nil error ok _, found := recording[node.Extension.Name] Expect(found).To(BeFalse()) @@ -101,7 +101,7 @@ var _ = Describe("feature", Ordered, func() { return nil } - path := helpers.Path( + path := lab.Path( root, lo.Ternary(entry.NaviTE.Relative == "", "RETRO-WAVE", @@ -114,7 +114,7 @@ var _ = Describe("feature", Ordered, func() { "---> ๐ŸŒŠ SAMPLE-CALLBACK: '%v'\n", node.Path, ) prohibited := fmt.Sprintf("%v, was invoked, but does not satisfy sample criteria", - helpers.Reason(node.Extension.Name), + lab.Reason(node.Extension.Name), ) Expect(entry.Prohibited).ToNot(ContainElement(node.Extension.Name), prohibited) @@ -167,17 +167,17 @@ var _ = Describe("feature", Ordered, func() { tv.IfOption(entry.CaseSensitive, tv.WithHookCaseSensitiveSort()), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rsys fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rsys.ReadDir(helpers.TrimRoot(dirname)) + return rsys.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -186,18 +186,18 @@ var _ = Describe("feature", Ordered, func() { ExpectedErr: entry.ExpectedErr, }) }, - func(entry *helpers.SampleTE) string { + func(entry *lab.SampleTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v', should: '%v'", entry.Given, entry.Should) }, // === universal ===================================================== - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(slice): first, with 2 files", Should: "invoke for at most 2 files per directory", Subscription: enums.SubscribeUniversal, Prohibited: []string{"cover.night-drive.jpg"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 8, }, @@ -208,13 +208,13 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(slice): first, with 2 folders", Should: "invoke for at most 2 folders per directory", Subscription: enums.SubscribeUniversal, Prohibited: []string{"Electric Youth"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 11, Folders: 6, }, @@ -225,13 +225,13 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(slice): first, with 2 files and 2 folders", Should: "invoke for at most 2 files and 2 folders per directory", Subscription: enums.SubscribeUniversal, Prohibited: []string{"cover.night-drive.jpg", "Electric Youth"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 6, Folders: 6, }, @@ -243,19 +243,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(filter): first, single file, first 2 folders", Should: "invoke for at most single file per directory", Relative: "edm", Subscription: enums.SubscribeUniversal, Prohibited: []string{"02 - Swab.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 7, Folders: 14, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with .flac suffix", Type: enums.FilterTypeGlob, Pattern: "*.flac", @@ -268,19 +268,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(filter): first, single file, first 2 folders", Should: "invoke for at most single file per directory", Relative: "edm", Subscription: enums.SubscribeUniversal, Prohibited: []string{"02 - Swab.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 7, Folders: 14, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items with .flac suffix", Type: enums.FilterTypeRegex, Pattern: "\\.flac$", @@ -293,19 +293,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(filter): last, last single files, last 2 folders", Should: "invoke for at most single file per directory", Relative: "edm", Subscription: enums.SubscribeUniversal, Prohibited: []string{"01 - Dre.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 15, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with .flac suffix", Type: enums.FilterTypeGlob, Pattern: "*.flac", @@ -319,19 +319,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(filter): last, last single files, last 2 folders", Should: "invoke for at most single file per directory", Relative: "edm", Subscription: enums.SubscribeUniversal, Prohibited: []string{"01 - Dre.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 15, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items with .flac suffix", Type: enums.FilterTypeRegex, Pattern: "\\.flac$", @@ -347,13 +347,13 @@ var _ = Describe("feature", Ordered, func() { // === folders ======================================================= - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "folders(slice): first, with 2 folders", Should: "invoke for at most 2 folders per directory", Subscription: enums.SubscribeFolders, Prohibited: []string{"Electric Youth"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 6, }, }, @@ -363,13 +363,13 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "folders(slice): last, with last single folder", Should: "invoke for only last folder per directory", Subscription: enums.SubscribeFolders, Prohibited: []string{"Chromatics"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 3, }, }, @@ -380,19 +380,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders(filter): first, with 2 folders that start with A", Should: "invoke for at most 2 folders per directory", Relative: "edm", Subscription: enums.SubscribeFolders, Prohibited: []string{"Tales Of Ephidrina"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ // AMBIENT-TECHNO, Amorphous Androgynous, Aphex Twin Folders: 3, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with that start with A", Type: enums.FilterTypeGlob, Pattern: "A*", @@ -404,19 +404,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders(filter): first, with 2 folders that start with A", Should: "invoke for at most 2 folders per directory", Relative: "edm", Subscription: enums.SubscribeFolders, Prohibited: []string{"Tales Of Ephidrina"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ // AMBIENT-TECHNO, Amorphous Androgynous, Aphex Twin Folders: 3, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items with that start with A", Type: enums.FilterTypeRegex, Pattern: "^A", @@ -428,18 +428,18 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders(filter): last, with single folder that start with A", Should: "invoke for at most a single folder per directory", Relative: "edm", Subscription: enums.SubscribeFolders, Prohibited: []string{"Amorphous Androgynous"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with that start with A", Type: enums.FilterTypeGlob, Pattern: "A*", @@ -452,18 +452,18 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders(filter): last, with single folder that start with A", Should: "invoke for at most a single folder per directory", Relative: "edm", Subscription: enums.SubscribeFolders, Prohibited: []string{"Amorphous Androgynous"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items with that start with A", Type: enums.FilterTypeRegex, Pattern: "^A", @@ -478,13 +478,13 @@ var _ = Describe("feature", Ordered, func() { // === folders with files ============================================ - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "folders with files(slice): first, with 2 folders", Should: "invoke for at most 2 folders per directory", Subscription: enums.SubscribeFoldersWithFiles, Prohibited: []string{"Electric Youth"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 6, Children: map[string]int{ "Night Drive": 4, @@ -499,13 +499,13 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "folders with files(slice): last, with last single folder", Should: "invoke for only last folder per directory", Subscription: enums.SubscribeFoldersWithFiles, Prohibited: []string{"Chromatics"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 3, Children: map[string]int{ "Innerworld": 3, @@ -519,19 +519,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders with files(filter): last, with single folder that start with A", Should: "invoke for at most a single folder per directory", Relative: "edm", Subscription: enums.SubscribeFoldersWithFiles, Prohibited: []string{"Amorphous Androgynous"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, Children: map[string]int{}, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ this is folder filter, not child filter + Filter: &lab.FilterTE{ // ๐Ÿง„ this is folder filter, not child filter Description: "glob: items that start with A", Type: enums.FilterTypeGlob, Pattern: "A*", @@ -544,19 +544,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders with files(filter): last, with single folder that start with A", Should: "invoke for at most a single folder per directory", Relative: "edm", Subscription: enums.SubscribeFoldersWithFiles, Prohibited: []string{"Amorphous Androgynous"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, Children: map[string]int{}, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items that start with A", Type: enums.FilterTypeRegex, Pattern: "^A", @@ -571,13 +571,13 @@ var _ = Describe("feature", Ordered, func() { // === files ========================================================= - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "files(slice): first, with 2 files", Should: "invoke for at most 2 files per directory", Subscription: enums.SubscribeFiles, Prohibited: []string{"cover.night-drive.jpg"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, }, }, @@ -587,13 +587,13 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "files(slice): last, with last single file", Should: "invoke for only last file per directory", Subscription: enums.SubscribeFiles, Prohibited: []string{"A1 - The Telephone Call.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 4, }, }, @@ -609,18 +609,18 @@ var _ = Describe("feature", Ordered, func() { // a directory's contents are read, but sampling filter is // applied at the point the contents are read. Any scopes other // than file/folder are ignored. - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered files(filter): first, 2 files", Should: "invoke for at most 2 files per directory", Relative: "edm/ELECTRONICA", Subscription: enums.SubscribeFiles, Prohibited: []string{"03 - Mountain Goat.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 24, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with .flac suffix", Type: enums.FilterTypeGlob, Pattern: "*.flac", @@ -632,18 +632,18 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered files(filter): first, 2 files", Should: "invoke for at most 2 files per directory", Relative: "edm/ELECTRONICA", Subscription: enums.SubscribeFiles, Prohibited: []string{"03 - Mountain Goat.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 24, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items with .flac suffix", Type: enums.FilterTypeRegex, Pattern: "\\.flac$", @@ -655,18 +655,18 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered files(filter): last, last 2 files", Should: "invoke for at most 2 files per directory", Relative: "edm", Subscription: enums.SubscribeFiles, Prohibited: []string{"01 - Liquid Insects.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 42, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with .flac suffix", Type: enums.FilterTypeGlob, Pattern: "*.flac", @@ -679,18 +679,18 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered files(filter): last, last 2 files", Should: "invoke for at most 2 files per directory", Relative: "edm", Subscription: enums.SubscribeFiles, Prohibited: []string{"01 - Liquid Insects.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 42, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿš€ + Filter: &lab.FilterTE{ // ๐Ÿš€ Description: "regex: items with .flac suffix", Type: enums.FilterTypeRegex, Pattern: "\\.flac$", @@ -705,19 +705,19 @@ var _ = Describe("feature", Ordered, func() { // === custom ======================================================== - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "universal(custom): first, single file, 2 folders", Should: "invoke for at most single file per directory", Relative: "edm", Subscription: enums.SubscribeUniversal, Prohibited: []string{"02 - Swab.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 7, Folders: 14, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿ’ + Filter: &lab.FilterTE{ // ๐Ÿ’ Type: enums.FilterTypeCustom, Sample: &customSamplingFilter{ Sample: tv.NewCustomSampleFilter(enums.ScopeFile), @@ -732,18 +732,18 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered folders(custom): last, single folder that starts with A", Should: "invoke for at most a single folder per directory", Relative: "edm", Subscription: enums.SubscribeFolders, Prohibited: []string{"Amorphous Androgynous"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿ’ + Filter: &lab.FilterTE{ // ๐Ÿ’ Type: enums.FilterTypeCustom, Sample: &customSamplingFilter{ Sample: tv.NewCustomSampleFilter(enums.ScopeFolder), @@ -758,18 +758,18 @@ var _ = Describe("feature", Ordered, func() { Reverse: true, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "filtered files(custom): last, last 2 files", Should: "invoke for at most 2 files per directory", Relative: "edm", Subscription: enums.SubscribeFiles, Prohibited: []string{"01 - Liquid Insects.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 42, }, }, - Filter: &helpers.FilterTE{ // ๐Ÿ’ + Filter: &lab.FilterTE{ // ๐Ÿ’ Type: enums.FilterTypeCustom, Sample: &customSamplingFilter{ Sample: tv.NewCustomSampleFilter(enums.ScopeFile), @@ -786,19 +786,19 @@ var _ = Describe("feature", Ordered, func() { // === errors ======================================================== - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "folder spec, without no of folders", Should: "return invalid folder spec error", Relative: "edm/ELECTRONICA", Subscription: enums.SubscribeFiles, Prohibited: []string{"03 - Mountain Goat.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 24, }, ExpectedErr: locale.ErrInvalidFolderSamplingSpecMissingFolders, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with .flac suffix", Type: enums.FilterTypeGlob, Pattern: "*.flac", @@ -810,19 +810,19 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.SampleTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.SampleTE{ + NaviTE: lab.NaviTE{ Given: "file spec, without no of files", Should: "return invalid file spec error", Relative: "edm/ELECTRONICA", Subscription: enums.SubscribeFiles, Prohibited: []string{"03 - Mountain Goat.flac"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 24, }, ExpectedErr: locale.ErrInvalidFileSamplingSpecMissingFiles, }, - Filter: &helpers.FilterTE{ // ๐Ÿง„ + Filter: &lab.FilterTE{ // ๐Ÿง„ Description: "glob: items with .flac suffix", Type: enums.FilterTypeGlob, Pattern: "*.flac", diff --git a/internal/filtering/filter-custom_test.go b/internal/filtering/filter-custom_test.go index 50fa912..d820523 100644 --- a/internal/filtering/filter-custom_test.go +++ b/internal/filtering/filter-custom_test.go @@ -12,7 +12,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/pref" @@ -29,7 +29,7 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), ) Expect(root).NotTo(BeEmpty()) @@ -41,8 +41,8 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { }) DescribeTable("custom-filter (glob)", - func(ctx SpecContext, entry *helpers.FilterTE) { - recording := make(helpers.RecordingMap) + func(ctx SpecContext, entry *lab.FilterTE) { + recording := make(lab.RecordingMap) customFilter := &customFilter{ name: entry.Description, pattern: entry.Pattern, @@ -50,7 +50,7 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { negate: entry.Negate, } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) callback := func(item *core.Node) error { indicator := lo.Ternary(item.IsFolder(), "๐Ÿ“", "๐Ÿ’ ") GinkgoWriter.Printf( @@ -86,17 +86,17 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { }), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -104,18 +104,18 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { Err: err, }) }, - func(entry *helpers.FilterTE) string { + func(entry *lab.FilterTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, // === universal ===================================================== - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): custom filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 0, }, @@ -125,12 +125,12 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { Scope: enums.ScopeFile, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): custom filter (negate)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 6, Folders: 8, }, @@ -141,12 +141,12 @@ var _ = Describe("NavigatorFilterCustom", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(undefined scope): custom filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 0, }, diff --git a/internal/filtering/filter-extended-glob_test.go b/internal/filtering/filter-extended-glob_test.go index 9c69cdb..342f7e1 100644 --- a/internal/filtering/filter-extended-glob_test.go +++ b/internal/filtering/filter-extended-glob_test.go @@ -12,7 +12,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/pref" @@ -29,7 +29,7 @@ var _ = Describe("filtering", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "rock"), ) Expect(root).NotTo(BeEmpty()) @@ -44,7 +44,7 @@ var _ = Describe("filtering", Ordered, func() { When("universal: filtering with extended glob", func() { It("should: invoke for filtered nodes only", Label("example"), func(ctx SpecContext) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypeExtendedGlob, @@ -73,12 +73,12 @@ var _ = Describe("filtering", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) @@ -93,12 +93,12 @@ var _ = Describe("filtering", Ordered, func() { }) DescribeTable("folders with files", - func(ctx SpecContext, entry *helpers.FilterTE) { + func(ctx SpecContext, entry *lab.FilterTE) { var ( traverseFilter core.TraverseFilter ) - recording := make(helpers.RecordingMap) + recording := make(lab.RecordingMap) filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypeExtendedGlob, @@ -113,7 +113,7 @@ var _ = Describe("filtering", Ordered, func() { }, } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) callback := func(node *core.Node) error { indicator := lo.Ternary(node.IsFolder(), "๐Ÿ“", "๐Ÿ’ ") @@ -148,17 +148,17 @@ var _ = Describe("filtering", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -167,18 +167,18 @@ var _ = Describe("filtering", Ordered, func() { }) }, - func(entry *helpers.FilterTE) string { + func(entry *lab.FilterTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, // === universal ===================================================== - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): extended glob filter", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 5, }, @@ -189,12 +189,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): extended glob filter, with dot extension", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 5, }, @@ -205,12 +205,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): extended glob filter, with multiple extensions", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 19, Folders: 5, }, @@ -222,12 +222,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): extended glob filter, without extension", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 5, }, @@ -239,12 +239,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(file scope): extended glob filter (negate)", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 7, Folders: 5, }, @@ -256,12 +256,12 @@ var _ = Describe("filtering", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(undefined scope): extended glob filter", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 5, }, @@ -271,12 +271,12 @@ var _ = Describe("filtering", Ordered, func() { Pattern: "*|flac", }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): extended glob filter, any extension", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 4, Folders: 1, }, @@ -290,12 +290,12 @@ var _ = Describe("filtering", Ordered, func() { // === folders ======================================================= - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(any scope): extended glob filter", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 2, }, @@ -307,12 +307,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeFolder, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(folder scope): extended glob filter (negate)", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 3, }, @@ -325,12 +325,12 @@ var _ = Describe("filtering", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(undefined scope): extended glob filter", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 2, }, @@ -343,12 +343,12 @@ var _ = Describe("filtering", Ordered, func() { // === files ========================================================= - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "files(file scope): extended glob filter", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 0, }, @@ -360,12 +360,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeFile, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "files(any scope): extended glob filter, with dot extension", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 0, }, @@ -377,12 +377,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeFile, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "files(file scope): extended glob filter, with multiple extensions", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 19, Folders: 0, }, @@ -394,12 +394,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeFile, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "file(file scope): extended glob filter, without extension", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 0, }, @@ -411,12 +411,12 @@ var _ = Describe("filtering", Ordered, func() { Scope: enums.ScopeFile, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "file(file scope): extended glob filter (negate)", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 7, Folders: 0, }, @@ -429,12 +429,12 @@ var _ = Describe("filtering", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "file(undefined scope): extended glob filter", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 0, }, @@ -445,12 +445,12 @@ var _ = Describe("filtering", Ordered, func() { Pattern: "*|flac", }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "file(any scope): extended glob filter, any extension", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 4, Folders: 0, }, @@ -464,12 +464,12 @@ var _ = Describe("filtering", Ordered, func() { // === ifNotApplicable =============================================== - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(leaf scope): extended glob filter (ifNotApplicable=true)", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 5, }, @@ -482,12 +482,12 @@ var _ = Describe("filtering", Ordered, func() { IfNotApplicable: enums.TriStateBoolTrue, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(leaf scope): extended glob filter (ifNotApplicable=false)", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 16, Folders: 4, }, @@ -501,12 +501,12 @@ var _ = Describe("filtering", Ordered, func() { // === with-exclusion ================================================ - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): extended glob filter with exclusion", Relative: "rock/PROGRESSIVE-ROCK/Marillion", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 12, Folders: 0, }, diff --git a/internal/filtering/filter-glob_test.go b/internal/filtering/filter-glob_test.go index 7c8131a..c3caa62 100644 --- a/internal/filtering/filter-glob_test.go +++ b/internal/filtering/filter-glob_test.go @@ -13,7 +13,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/pref" @@ -30,7 +30,7 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), ) Expect(root).NotTo(BeEmpty()) @@ -45,7 +45,7 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { When("universal: filtering with glob", func() { It("should: invoke for filtered nodes only", Label("example"), func(ctx SpecContext) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypeGlob, @@ -74,12 +74,12 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) @@ -94,12 +94,12 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { }) DescribeTable("glob-filter", - func(ctx SpecContext, entry *helpers.FilterTE) { + func(ctx SpecContext, entry *lab.FilterTE) { var ( traverseFilter core.TraverseFilter ) - recording := make(helpers.RecordingMap) + recording := make(lab.RecordingMap) filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypeGlob, @@ -114,7 +114,7 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { }, } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) callback := func(node *core.Node) error { indicator := lo.Ternary(node.IsFolder(), "๐Ÿ“", "๐Ÿ’ ") @@ -149,17 +149,17 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -167,16 +167,16 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { Err: err, }) }, - func(entry *helpers.FilterTE) string { + func(entry *lab.FilterTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): glob filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 0, }, @@ -186,12 +186,12 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): glob filter (negate)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 6, Folders: 8, }, @@ -202,12 +202,12 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(undefined scope): glob filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 0, }, @@ -218,12 +218,12 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { // === ifNotApplicable =============================================== - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(any scope): glob filter (ifNotApplicable=true)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 4, }, @@ -235,12 +235,12 @@ var _ = Describe("NavigatorFilterGlob", Ordered, func() { IfNotApplicable: enums.TriStateBoolTrue, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "universal(leaf scope): glob filter (ifNotApplicable=false)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 8, Folders: 0, }, diff --git a/internal/filtering/filter-hybrid_test.go b/internal/filtering/filter-hybrid_test.go index 5c7227d..fea87f6 100644 --- a/internal/filtering/filter-hybrid_test.go +++ b/internal/filtering/filter-hybrid_test.go @@ -13,7 +13,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/locale" "github.com/snivilised/traverse/pref" @@ -30,7 +30,7 @@ var _ = Describe("feature", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), ) Expect(root).NotTo(BeEmpty()) @@ -48,12 +48,12 @@ var _ = Describe("feature", Ordered, func() { }) DescribeTable("folders with files filtered", - func(ctx SpecContext, entry *helpers.HybridFilterTE) { + func(ctx SpecContext, entry *lab.HybridFilterTE) { var ( childFilter core.ChildTraverseFilter ) - recording := make(helpers.RecordingMap) + recording := make(lab.RecordingMap) filterDefs := &pref.FilterOptions{ Node: &entry.NodeDef, Child: &entry.ChildDef, @@ -62,7 +62,7 @@ var _ = Describe("feature", Ordered, func() { }, } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) callback := func(item *core.Node) error { actualNoChildren := len(item.Children) GinkgoWriter.Printf( @@ -92,22 +92,22 @@ var _ = Describe("feature", Ordered, func() { return FS }, }, - tv.WithOnBegin(helpers.Begin("๐Ÿ›ก๏ธ")), - tv.WithOnEnd(helpers.End("๐Ÿ")), + tv.WithOnBegin(lab.Begin("๐Ÿ›ก๏ธ")), + tv.WithOnEnd(lab.End("๐Ÿ")), tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -115,16 +115,16 @@ var _ = Describe("feature", Ordered, func() { Err: err, }) }, - func(entry *helpers.HybridFilterTE) string { + func(entry *lab.HybridFilterTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, - Entry(nil, &helpers.HybridFilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.HybridFilterTE{ + NaviTE: lab.NaviTE{ Given: "folder(with files): glob filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFoldersWithFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 6, Children: map[string]int{ "Northern Council": 2, @@ -146,12 +146,12 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.HybridFilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.HybridFilterTE{ + NaviTE: lab.NaviTE{ Given: "folder(with files): glob filter (negate)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFoldersWithFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Folders: 2, Children: map[string]int{ "Night Drive": 3, diff --git a/internal/filtering/filter-poly_test.go b/internal/filtering/filter-poly_test.go index 037fcc2..4c90a35 100644 --- a/internal/filtering/filter-poly_test.go +++ b/internal/filtering/filter-poly_test.go @@ -13,7 +13,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/pref" @@ -30,7 +30,7 @@ var _ = Describe("feature", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), ) Expect(root).NotTo(BeEmpty()) @@ -45,7 +45,7 @@ var _ = Describe("feature", Ordered, func() { When("universal: filtering with poly-filter", func() { It("should: invoke for filtered nodes only", Label("example"), func(ctx SpecContext) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypePoly, @@ -85,12 +85,12 @@ var _ = Describe("feature", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) @@ -105,12 +105,12 @@ var _ = Describe("feature", Ordered, func() { }) DescribeTable("poly-filter", - func(ctx SpecContext, entry *helpers.PolyTE) { + func(ctx SpecContext, entry *lab.PolyTE) { var ( traverseFilter core.TraverseFilter ) - recording := make(helpers.RecordingMap) + recording := make(lab.RecordingMap) filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypePoly, @@ -124,7 +124,7 @@ var _ = Describe("feature", Ordered, func() { }, } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) callback := func(node *core.Node) error { indicator := lo.Ternary(node.IsFolder(), "๐Ÿ“", "๐Ÿ’ ") @@ -159,17 +159,17 @@ var _ = Describe("feature", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -177,18 +177,18 @@ var _ = Describe("feature", Ordered, func() { Err: err, }) }, - func(entry *helpers.PolyTE) string { + func(entry *lab.PolyTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, // === universal(file:regex; folder:glob) ============================ - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly - files:regex; folders:glob", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ // file is 2 not 3 because *i* is case sensitive so Innerworld is not a match // The next(not this one) regex test case, fixes this because folder regex has better // control over case sensitivity @@ -212,12 +212,12 @@ var _ = Describe("feature", Ordered, func() { // === universal(file:regex; folder:regex) =========================== - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly - files:regex; folders:regex", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 8, }, @@ -238,12 +238,12 @@ var _ = Describe("feature", Ordered, func() { // === universal(file:extended-glob; folder:glob) ==================== - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly - files:extended-glob; folders:glob", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ // file is 2 not 3 because *i* is case sensitive so Innerworld is not a match // The next 2 tests regex/extended-glob test case, fixes this because they // have better control over case sensitivity @@ -266,12 +266,12 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly - files:extended-glob; folders:regex", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 8, }, @@ -290,12 +290,12 @@ var _ = Describe("feature", Ordered, func() { }, }), - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly - files:extended-glob; folders:extended-glob", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 8, }, @@ -318,12 +318,12 @@ var _ = Describe("feature", Ordered, func() { // they can be set automatically, the client is not forced to set them. This test // checks that when the file/folder scopes are not set, then poly filtering still works // properly. - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly(scopes omitted) - files:regex; folders:regex", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 8, }, @@ -344,12 +344,12 @@ var _ = Describe("feature", Ordered, func() { // === files (file:regex; folder:regex) ============================== - Entry(nil, &helpers.PolyTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.PolyTE{ + NaviTE: lab.NaviTE{ Given: "poly(subscribe:files)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 3, Folders: 0, }, diff --git a/internal/filtering/filter-regex_test.go b/internal/filtering/filter-regex_test.go index 842d2f8..2b8de16 100644 --- a/internal/filtering/filter-regex_test.go +++ b/internal/filtering/filter-regex_test.go @@ -12,7 +12,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/pref" @@ -29,7 +29,7 @@ var _ = Describe("feature", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), filepath.Join("MUSICO", "PROGRESSIVE-HOUSE"), ) @@ -45,7 +45,7 @@ var _ = Describe("feature", Ordered, func() { When("files: filtering with regex", func() { It("should: invoke for filtered nodes only", Label("example"), func(ctx SpecContext) { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypeRegex, @@ -74,12 +74,12 @@ var _ = Describe("feature", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) @@ -94,12 +94,12 @@ var _ = Describe("feature", Ordered, func() { }) DescribeTable("regex", - func(ctx SpecContext, entry *helpers.FilterTE) { + func(ctx SpecContext, entry *lab.FilterTE) { var ( traverseFilter core.TraverseFilter ) - recording := make(helpers.RecordingMap) + recording := make(lab.RecordingMap) filterDefs := &pref.FilterOptions{ Node: &core.FilterDef{ Type: enums.FilterTypeRegex, @@ -114,7 +114,7 @@ var _ = Describe("feature", Ordered, func() { }, } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) callback := func(item *core.Node) error { indicator := lo.Ternary(item.IsFolder(), "๐Ÿ“", "๐Ÿ’ ") @@ -149,17 +149,17 @@ var _ = Describe("feature", Ordered, func() { tv.WithFilter(filterDefs), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(&entry.NaviTE, &helpers.TestOptions{ + lab.AssertNavigation(&entry.NaviTE, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -167,18 +167,18 @@ var _ = Describe("feature", Ordered, func() { Err: err, }) }, - func(entry *helpers.FilterTE) string { + func(entry *lab.FilterTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, // === files ========================================================= - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "files(any scope): regex filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 4, Folders: 0, }, @@ -188,12 +188,12 @@ var _ = Describe("feature", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "files(any scope): regex filter (negate)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 10, Folders: 0, }, @@ -204,12 +204,12 @@ var _ = Describe("feature", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "files(default to any scope): regex filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 4, Folders: 0, }, @@ -220,12 +220,12 @@ var _ = Describe("feature", Ordered, func() { // === folders ======================================================= - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(any scope): regex filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 2, }, @@ -235,12 +235,12 @@ var _ = Describe("feature", Ordered, func() { Scope: enums.ScopeAll, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(any scope): regex filter (negate)", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 6, }, @@ -251,12 +251,12 @@ var _ = Describe("feature", Ordered, func() { Negate: true, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(undefined scope): regex filter", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 2, }, @@ -267,12 +267,12 @@ var _ = Describe("feature", Ordered, func() { // === ifNotApplicable =============================================== - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(top): regex filter (ifNotApplicable=true)", Relative: "PROGRESSIVE-HOUSE", Subscription: enums.SubscribeFolders, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 10, }, @@ -284,13 +284,13 @@ var _ = Describe("feature", Ordered, func() { IfNotApplicable: enums.TriStateBoolTrue, }), - Entry(nil, &helpers.FilterTE{ - NaviTE: helpers.NaviTE{ + Entry(nil, &lab.FilterTE{ + NaviTE: lab.NaviTE{ Given: "folders(top): regex filter (ifNotApplicable=false)", Relative: "", Subscription: enums.SubscribeFolders, Mandatory: []string{"PROGRESSIVE-HOUSE"}, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 1, }, diff --git a/internal/kernel/navigator-folders-with-files_test.go b/internal/kernel/navigator-folders-with-files_test.go index 8322fd4..cdb7f8d 100644 --- a/internal/kernel/navigator-folders-with-files_test.go +++ b/internal/kernel/navigator-folders-with-files_test.go @@ -12,7 +12,7 @@ import ( "github.com/snivilised/li18ngo" tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/locale" ) @@ -28,7 +28,7 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), ) Expect(root).NotTo(BeEmpty()) @@ -47,8 +47,8 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { Context("glob", func() { DescribeTable("Filter Children (glob)", - func(ctx SpecContext, entry *helpers.NaviTE) { - recording := make(helpers.RecordingMap) + func(ctx SpecContext, entry *lab.NaviTE) { + recording := make(lab.RecordingMap) once := func(node *tv.Node) error { _, found := recording[node.Extension.Name] Expect(found).To(BeFalse()) @@ -56,7 +56,7 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { return entry.Callback(node) } - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) result, err := tv.Walk().Configure().Extent(tv.Prime( &tv.Using{ Root: path, @@ -72,17 +72,17 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { tv.IfOption(entry.CaseSensitive, tv.WithHookCaseSensitiveSort()), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(entry, &helpers.TestOptions{ + lab.AssertNavigation(entry, &lab.TestOptions{ Recording: recording, Path: path, Result: result, @@ -90,18 +90,18 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { }) }, - func(entry *helpers.NaviTE) string { + func(entry *lab.NaviTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, // === folders (with files) ========================================== - Entry(nil, &helpers.NaviTE{ + Entry(nil, &lab.NaviTE{ Given: "folders(with files): Path is leaf", Relative: "RETRO-WAVE/Chromatics/Night Drive", Subscription: enums.SubscribeFoldersWithFiles, - Callback: helpers.FoldersCallback("LEAF-PATH"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FoldersCallback("LEAF-PATH"), + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 1, Children: map[string]int{ @@ -110,12 +110,12 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { }, }), - Entry(nil, &helpers.NaviTE{ + Entry(nil, &lab.NaviTE{ Given: "folders(with files): Path contains folders (check all invoked)", Relative: "RETRO-WAVE", Visit: true, Subscription: enums.SubscribeFoldersWithFiles, - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 8, Children: map[string]int{ @@ -125,7 +125,7 @@ var _ = Describe("NavigatorFoldersWithFiles", Ordered, func() { "Innerworld": 3, }, }, - Callback: helpers.FoldersCallback("CONTAINS-FOLDERS (check all invoked)"), + Callback: lab.FoldersCallback("CONTAINS-FOLDERS (check all invoked)"), }), ) }) diff --git a/internal/kernel/navigator-simple_test.go b/internal/kernel/navigator-simple_test.go index fb7822a..0166ba2 100644 --- a/internal/kernel/navigator-simple_test.go +++ b/internal/kernel/navigator-simple_test.go @@ -12,7 +12,7 @@ import ( "github.com/snivilised/li18ngo" tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/enums" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/internal/services" "github.com/snivilised/traverse/internal/third/lo" "github.com/snivilised/traverse/locale" @@ -29,7 +29,7 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { verbose = false ) - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), filepath.Join("MUSICO", "rock", "metal"), ) @@ -48,8 +48,8 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { }) DescribeTable("Ensure Callback Invoked Once", Label("simple"), - func(ctx SpecContext, entry *helpers.NaviTE) { - recording := make(helpers.RecordingMap) + func(ctx SpecContext, entry *lab.NaviTE) { + recording := make(lab.RecordingMap) once := func(node *tv.Node) error { _, found := recording[node.Path] // TODO: should this be name not path? Expect(found).To(BeFalse()) @@ -65,7 +65,7 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { callback := lo.Ternary(entry.Once, once, lo.Ternary(entry.Visit, visitor, entry.Callback), ) - path := helpers.Path(root, entry.Relative) + path := lab.Path(root, entry.Relative) result, err := tv.Walk().Configure().Extent(tv.Prime( &tv.Using{ @@ -79,22 +79,22 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { return FS }, }, - tv.WithOnBegin(helpers.Begin("๐Ÿ›ก๏ธ")), - tv.WithOnEnd(helpers.End("๐Ÿ")), + tv.WithOnBegin(lab.Begin("๐Ÿ›ก๏ธ")), + tv.WithOnEnd(lab.End("๐Ÿ")), tv.IfOption(entry.CaseSensitive, tv.WithHookCaseSensitiveSort()), tv.WithHookQueryStatus( func(qsys fs.StatFS, path string) (fs.FileInfo, error) { - return qsys.Stat(helpers.TrimRoot(path)) + return qsys.Stat(lab.TrimRoot(path)) }, ), tv.WithHookReadDirectory( func(rfs fs.ReadDirFS, dirname string) ([]fs.DirEntry, error) { - return rfs.ReadDir(helpers.TrimRoot(dirname)) + return rfs.ReadDir(lab.TrimRoot(dirname)) }, ), )).Navigate(ctx) - helpers.AssertNavigation(entry, &helpers.TestOptions{ + lab.AssertNavigation(entry, &lab.TestOptions{ FS: FS, Recording: recording, Path: path, @@ -106,41 +106,41 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { }, }) }, - func(entry *helpers.NaviTE) string { + func(entry *lab.NaviTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v'", entry.Given) }, // === universal ===================================================== - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "universal: Path is leaf", Relative: "RETRO-WAVE/Chromatics/Night Drive", Subscription: enums.SubscribeUniversal, - Callback: helpers.UniversalCallback("LEAF-PATH"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.UniversalCallback("LEAF-PATH"), + ExpectedNoOf: lab.Quantities{ Files: 4, Folders: 1, }, }), - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "universal: Path contains folders", Relative: "RETRO-WAVE", Subscription: enums.SubscribeUniversal, - Callback: helpers.UniversalCallback("CONTAINS-FOLDERS"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.UniversalCallback("CONTAINS-FOLDERS"), + ExpectedNoOf: lab.Quantities{ Files: 14, Folders: 8, }, }), - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "universal: Path contains folders (visit)", Relative: "RETRO-WAVE", Visit: true, Subscription: enums.SubscribeUniversal, - Callback: helpers.UniversalCallback("VISIT-CONTAINS-FOLDERS"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.UniversalCallback("VISIT-CONTAINS-FOLDERS"), + ExpectedNoOf: lab.Quantities{ Files: 14, Folders: 8, }, @@ -148,46 +148,46 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { // === folders ======================================================= - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "folders: Path is leaf", Relative: "RETRO-WAVE/Chromatics/Night Drive", Subscription: enums.SubscribeFolders, - Callback: helpers.FoldersCallback("LEAF-PATH"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FoldersCallback("LEAF-PATH"), + ExpectedNoOf: lab.Quantities{ Folders: 1, }, }), - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "folders: Path contains folders", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFolders, - Callback: helpers.FoldersCallback("CONTAINS-FOLDERS"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FoldersCallback("CONTAINS-FOLDERS"), + ExpectedNoOf: lab.Quantities{ Folders: 8, }, }), - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "folders: Path contains folders (check all invoked)", Relative: "RETRO-WAVE", Visit: true, Subscription: enums.SubscribeFolders, - Callback: helpers.FoldersCallback("CONTAINS-FOLDERS (check all invoked)"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FoldersCallback("CONTAINS-FOLDERS (check all invoked)"), + ExpectedNoOf: lab.Quantities{ Folders: 8, }, }), - Entry(nil, Label("metal"), &helpers.NaviTE{ + Entry(nil, Label("metal"), &lab.NaviTE{ Given: "folders: case sensitive sort", Relative: "rock/metal", Subscription: enums.SubscribeFolders, CaseSensitive: true, - Callback: helpers.FoldersCaseSensitiveCallback( + Callback: lab.FoldersCaseSensitiveCallback( "rock/metal/HARD-METAL", "rock/metal/dark", ), - ExpectedNoOf: helpers.Quantities{ + ExpectedNoOf: lab.Quantities{ Files: 0, Folders: 41, }, @@ -195,35 +195,35 @@ var _ = Describe("NavigatorUniversal", Ordered, func() { // === files ========================================================= - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "files: Path is leaf", Relative: "RETRO-WAVE/Chromatics/Night Drive", Subscription: enums.SubscribeFiles, - Callback: helpers.FilesCallback("LEAF-PATH"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FilesCallback("LEAF-PATH"), + ExpectedNoOf: lab.Quantities{ Files: 4, Folders: 0, }, }), - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "files: Path contains folders", Relative: "RETRO-WAVE", Subscription: enums.SubscribeFiles, - Callback: helpers.FilesCallback("CONTAINS-FOLDERS"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FilesCallback("CONTAINS-FOLDERS"), + ExpectedNoOf: lab.Quantities{ Files: 14, Folders: 0, }, }), - Entry(nil, Label("RETRO-WAVE"), &helpers.NaviTE{ + Entry(nil, Label("RETRO-WAVE"), &lab.NaviTE{ Given: "files: Path contains folders", Relative: "RETRO-WAVE", Visit: true, Subscription: enums.SubscribeFiles, - Callback: helpers.FilesCallback("VISIT-CONTAINS-FOLDERS"), - ExpectedNoOf: helpers.Quantities{ + Callback: lab.FilesCallback("VISIT-CONTAINS-FOLDERS"), + ExpectedNoOf: lab.Quantities{ Files: 14, Folders: 0, }, diff --git a/internal/helpers/assert.go b/internal/laboratory/assert.go similarity index 99% rename from internal/helpers/assert.go rename to internal/laboratory/assert.go index c6c6928..3580e7a 100644 --- a/internal/helpers/assert.go +++ b/internal/laboratory/assert.go @@ -1,4 +1,4 @@ -package helpers +package lab import ( "io/fs" diff --git a/internal/helpers/callbacks.go b/internal/laboratory/callbacks.go similarity index 99% rename from internal/helpers/callbacks.go rename to internal/laboratory/callbacks.go index a36c562..2dc03d5 100644 --- a/internal/helpers/callbacks.go +++ b/internal/laboratory/callbacks.go @@ -1,4 +1,4 @@ -package helpers +package lab import ( "fmt" diff --git a/internal/helpers/directory-tree-builder.go b/internal/laboratory/directory-tree-builder.go similarity index 99% rename from internal/helpers/directory-tree-builder.go rename to internal/laboratory/directory-tree-builder.go index d402849..21feaef 100644 --- a/internal/helpers/directory-tree-builder.go +++ b/internal/laboratory/directory-tree-builder.go @@ -1,4 +1,4 @@ -package helpers +package lab import ( "bytes" diff --git a/internal/helpers/helper-defs.go b/internal/laboratory/helper-defs.go similarity index 98% rename from internal/helpers/helper-defs.go rename to internal/laboratory/helper-defs.go index 89ba3fe..21088c3 100644 --- a/internal/helpers/helper-defs.go +++ b/internal/laboratory/helper-defs.go @@ -1,4 +1,4 @@ -package helpers +package lab import ( "github.com/snivilised/traverse/core" diff --git a/internal/helpers/matchers.go b/internal/laboratory/matchers.go similarity index 99% rename from internal/helpers/matchers.go rename to internal/laboratory/matchers.go index 8546ff2..b5452ff 100644 --- a/internal/helpers/matchers.go +++ b/internal/laboratory/matchers.go @@ -1,4 +1,4 @@ -package helpers +package lab import ( "fmt" diff --git a/internal/helpers/test-utilities.go b/internal/laboratory/test-utilities.go similarity index 99% rename from internal/helpers/test-utilities.go rename to internal/laboratory/test-utilities.go index 530c64d..53dbfd5 100644 --- a/internal/helpers/test-utilities.go +++ b/internal/laboratory/test-utilities.go @@ -1,4 +1,4 @@ -package helpers +package lab import ( "fmt" diff --git a/locale/messages-errors_test.go b/locale/messages-errors_test.go index 4ed94c4..55ee08d 100644 --- a/locale/messages-errors_test.go +++ b/locale/messages-errors_test.go @@ -9,7 +9,7 @@ import ( . "github.com/onsi/gomega" //nolint:revive // ok "github.com/snivilised/li18ngo" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/locale" ) @@ -21,8 +21,8 @@ var _ = Describe("error messages", Ordered, func() { ) BeforeAll(func() { - repo = helpers.Repo("") - l10nPath = helpers.Path(repo, "test/data/l10n") + repo = lab.Repo("") + l10nPath = lab.Path(repo, "test/data/l10n") _, err := os.Stat(l10nPath) Expect(err).To(Succeed(), diff --git a/nfs/ensure-path-at_test.go b/nfs/ensure-path-at_test.go index b34e251..91c742f 100644 --- a/nfs/ensure-path-at_test.go +++ b/nfs/ensure-path-at_test.go @@ -11,7 +11,7 @@ import ( . "github.com/onsi/gomega" //nolint:revive // ok "github.com/snivilised/li18ngo" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/locale" "github.com/snivilised/traverse/nfs" ) @@ -54,7 +54,7 @@ var _ = Describe("EnsurePathAt", Ordered, func() { DescribeTable("with mapFS", func(entry *ensureTE) { home, _ := mocks.HomeFunc() - location := helpers.TrimRoot(filepath.Join(home, entry.relative)) + location := lab.TrimRoot(filepath.Join(home, entry.relative)) if entry.directory { location += string(filepath.Separator) @@ -63,11 +63,11 @@ var _ = Describe("EnsurePathAt", Ordered, func() { actual, err := nfs.EnsurePathAt(location, "default-test.log", perm, mfs) directory, _ := filepath.Split(actual) directory = filepath.Clean(directory) - expected := helpers.TrimRoot(helpers.Path(home, entry.expected)) + expected := lab.TrimRoot(lab.Path(home, entry.expected)) Expect(err).Error().To(BeNil()) Expect(actual).To(Equal(expected)) - Expect(AsDirectory(helpers.TrimRoot(directory))).To(ExistInFS(mfs)) + Expect(AsDirectory(lab.TrimRoot(directory))).To(ExistInFS(mfs)) }, func(entry *ensureTE) string { return fmt.Sprintf("๐Ÿงช ===> given: '%v', should: '%v'", entry.given, entry.should) diff --git a/tapable/tapable_test.go b/tapable/tapable_test.go index f3e0b7f..060cd76 100644 --- a/tapable/tapable_test.go +++ b/tapable/tapable_test.go @@ -10,7 +10,7 @@ import ( tv "github.com/snivilised/traverse" "github.com/snivilised/traverse/core" - "github.com/snivilised/traverse/internal/helpers" + lab "github.com/snivilised/traverse/internal/laboratory" "github.com/snivilised/traverse/pref" ) @@ -40,7 +40,7 @@ var _ = Describe("Tapable", Ordered, func() { ) BeforeAll(func() { - FS, root = helpers.Musico(verbose, + FS, root = lab.Musico(verbose, filepath.Join("MUSICO", "RETRO-WAVE"), ) Expect(root).NotTo(BeEmpty()) @@ -152,7 +152,7 @@ var _ = Describe("Tapable", Ordered, func() { Context("Chain", func() { When("single", func() { It("๐Ÿงช should: invoke", func() { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") o.Hooks.ReadDirectory.Chain( func(result []fs.DirEntry, err error, _ fs.ReadDirFS, _ string, @@ -161,10 +161,10 @@ var _ = Describe("Tapable", Ordered, func() { }, ) - result, err := o.Hooks.ReadDirectory.Invoke()(FS, helpers.TrimRoot(path)) + result, err := o.Hooks.ReadDirectory.Invoke()(FS, lab.TrimRoot(path)) Expect(err).To(Succeed()) Expect(result).To( - helpers.HaveDirectoryContents( + lab.HaveDirectoryContents( []string{"Chromatics", "College", "Electric Youth"}, ), "ReadDirectory hook not invoked", @@ -174,7 +174,7 @@ var _ = Describe("Tapable", Ordered, func() { When("multiple", func() { It("๐Ÿงช should: broadcast", func() { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") o.Hooks.ReadDirectory.Chain( func(result []fs.DirEntry, err error, _ fs.ReadDirFS, _ string, @@ -190,10 +190,10 @@ var _ = Describe("Tapable", Ordered, func() { }, ) - result, e := o.Hooks.ReadDirectory.Invoke()(FS, helpers.TrimRoot(path)) + result, e := o.Hooks.ReadDirectory.Invoke()(FS, lab.TrimRoot(path)) Expect(e).To(Succeed()) Expect(result).To( - helpers.HaveDirectoryContents( + lab.HaveDirectoryContents( []string{"Chromatics"}, ), "ReadDirectory hook not broadcasted", @@ -224,7 +224,7 @@ var _ = Describe("Tapable", Ordered, func() { Context("Chain", func() { When("single", func() { It("๐Ÿงช should: invoke", func() { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") o.Hooks.QueryStatus.Chain( func(result fs.FileInfo, err error, _ fs.StatFS, _ string, @@ -233,7 +233,7 @@ var _ = Describe("Tapable", Ordered, func() { return result, err }, ) - _, err := o.Hooks.QueryStatus.Invoke()(FS, helpers.TrimRoot(path)) + _, err := o.Hooks.QueryStatus.Invoke()(FS, lab.TrimRoot(path)) Expect(err).To(Succeed()) Expect(invoked).To(BeTrue(), "QueryStatus hook not invoked") @@ -242,7 +242,7 @@ var _ = Describe("Tapable", Ordered, func() { When("multiple", func() { It("๐Ÿงช should: broadcast", func() { - path := helpers.Path(root, "RETRO-WAVE") + path := lab.Path(root, "RETRO-WAVE") o.Hooks.QueryStatus.Chain( func(result fs.FileInfo, err error, _ fs.StatFS, _ string, @@ -258,7 +258,7 @@ var _ = Describe("Tapable", Ordered, func() { return result, err }, ) - _, e := o.Hooks.QueryStatus.Invoke()(FS, helpers.TrimRoot(path)) + _, e := o.Hooks.QueryStatus.Invoke()(FS, lab.TrimRoot(path)) Expect(e).To(Succeed()) Expect(invoked).To(BeTrue(), "QueryStatus hook not broadcasted")