« get me outta code hell

data, test: filter out empty track sections - hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
path: root/test/unit
diff options
context:
space:
mode:
author(quasar) nebula <qznebula@protonmail.com>2023-09-09 18:31:09 -0300
committer(quasar) nebula <qznebula@protonmail.com>2023-09-09 18:32:07 -0300
commitb06c194fc02da22564bcb165db33282f411859a3 (patch)
tree2b59b4924c0d0fbbed015e6eac7649a2549f5fd1 /test/unit
parent666ce1d6c2e1b93e34222c2b2b999ff32a1c6ca8 (diff)
data, test: filter out empty track sections
Also test unmatched track references.
Diffstat (limited to 'test/unit')
-rw-r--r--test/unit/data/things/album.js16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/unit/data/things/album.js b/test/unit/data/things/album.js
index 240150b0..0695fdb6 100644
--- a/test/unit/data/things/album.js
+++ b/test/unit/data/things/album.js
@@ -240,7 +240,7 @@ t.test(`Album.tracks`, t => {
 });
 
 t.test(`Album.trackSections`, t => {
-  t.plan(5);
+  t.plan(6);
 
   const album = new Album();
   const track1 = stubTrack('track1');
@@ -305,6 +305,20 @@ t.test(`Album.trackSections`, t => {
     {tracks: [track2], isDefaultTrackSection: false},
     {tracks: [track3], isDefaultTrackSection: false},
   ], `Album.trackSections #5: exposes isDefaultTrackSection, defaults to false`);
+
+  album.trackSections = [
+    {tracks: ['track:track1', 'track:track2', 'track:snooping'], color: '#112233'},
+    {tracks: ['track:track3', 'track:as-usual'],                 color: '#334455'},
+    {tracks: [],                                                 color: '#bbbbba'},
+    {tracks: ['track:icy', 'track:chilly', 'track:frigid'],      color: '#556677'},
+    {tracks: ['track:track4'],                                   color: '#778899'},
+  ];
+
+  t.match(album.trackSections, [
+    {tracks: [track1, track2], color: '#112233'},
+    {tracks: [track3],         color: '#334455'},
+    {tracks: [track4],         color: '#778899'},
+  ], `Album.trackSections #6: filters out references without matches & empty sections`);
 });
 
 t.test(`Album.wallpaperFileExtension`, t => {