mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-08-12 11:49:28 +00:00
56 lines
2.5 KiB
JavaScript
56 lines
2.5 KiB
JavaScript
'use strict';
|
|
|
|
const { test } = require('node:test');
|
|
const assert = require('node:assert/strict');
|
|
const fs = require('node:fs');
|
|
const path = require('node:path');
|
|
const pov = require('../../static/v3/venue-instrument-pov.js');
|
|
|
|
test('resolveVenueInstrumentPov maps guitar arrangements', () => {
|
|
assert.equal(pov.resolveVenueInstrumentPov('Lead'), 'guitar');
|
|
assert.equal(pov.resolveVenueInstrumentPov('Rhythm'), 'guitar');
|
|
assert.equal(pov.resolveVenueInstrumentPov('guitar'), 'guitar');
|
|
assert.equal(pov.resolveVenueInstrumentPov('Combo'), 'guitar');
|
|
});
|
|
|
|
test('resolveVenueInstrumentPov maps bass drums and piano', () => {
|
|
assert.equal(pov.resolveVenueInstrumentPov('Bass'), 'bass');
|
|
assert.equal(pov.resolveVenueInstrumentPov('Drums'), 'drums');
|
|
assert.equal(pov.resolveVenueInstrumentPov('drum'), 'drums');
|
|
assert.equal(pov.resolveVenueInstrumentPov('Piano'), 'piano');
|
|
assert.equal(pov.resolveVenueInstrumentPov('Keys'), 'piano');
|
|
assert.equal(pov.resolveVenueInstrumentPov('keyboard'), 'piano');
|
|
});
|
|
|
|
test('resolveVenueInstrumentPov maps vocals and karaoke labels', () => {
|
|
assert.equal(pov.resolveVenueInstrumentPov('Vocals'), 'vocals');
|
|
assert.equal(pov.resolveVenueInstrumentPov('karaoke'), 'vocals');
|
|
assert.equal(pov.resolveVenueInstrumentPov('vocal'), 'vocals');
|
|
assert.equal(pov.resolveVenueInstrumentPov('lyrics'), 'vocals');
|
|
assert.equal(pov.resolveVenueInstrumentPov('lyric'), 'vocals');
|
|
assert.equal(pov.resolveVenueInstrumentPov('sing'), 'vocals');
|
|
assert.equal(pov.resolveVenueInstrumentPov('singing'), 'vocals');
|
|
assert.equal(pov.isVocalsKaraokeArrangement('Vocals'), true);
|
|
});
|
|
|
|
test('resolveVenueInstrumentPov defaults unknown to guitar', () => {
|
|
assert.equal(pov.resolveVenueInstrumentPov(''), 'guitar');
|
|
assert.equal(pov.resolveVenueInstrumentPov(null), 'guitar');
|
|
assert.equal(pov.resolveVenueInstrumentPov('ShowLights'), 'guitar');
|
|
assert.equal(pov.resolveVenueInstrumentPov('BasslineKeys'), 'guitar');
|
|
});
|
|
|
|
test('POV_IDS lists supported venue POVs including vocals', () => {
|
|
assert.deepEqual(pov.POV_IDS, ['guitar', 'bass', 'drums', 'piano', 'vocals']);
|
|
});
|
|
|
|
test('integrate-venue-pov-plate.sh accepts vocals POV', () => {
|
|
const script = fs.readFileSync(
|
|
path.join(__dirname, '..', '..', 'scripts', 'integrate-venue-pov-plate.sh'),
|
|
'utf8',
|
|
);
|
|
assert.match(script, /vocals/);
|
|
assert.match(script, /guitar bass drums piano vocals/);
|
|
assert.match(script, /\$\{POV\}-pov-bg\.png/);
|
|
});
|