Files
crossfade/lib/utils/verify-red-fixes.ts
T

60 lines
2.2 KiB
TypeScript

function verifyRedFixes() {
console.log("--- Verifying RED Template Helper Functions ---");
// Test Split Logic which was duplicated
const splitArtists = (artistString: string) => {
return artistString.split(/,\s+|&|\s+\/\s+/).map((a: string) => a.trim()).filter((a: string) => a.length > 0);
};
console.log("--- Artist Split Check ---");
const testStr = "Artist A, Artist B & Artist C";
const res = splitArtists(testStr);
console.log(`Input: "${testStr}"`);
console.log(`Output: ${JSON.stringify(res)}`);
if (res.length === 3 && res[1] === "Artist B") {
console.log("PASS: Artist split logic works.");
} else {
console.log("FAIL: Artist split logic failed.");
}
console.log("\n--- RED Artist Logic Check ---");
// Simulate the logic in route.ts
const mainArtistName = "Artist A, Artist B";
const allUniqueArtists = new Set(["Artist A", "Artist B", "Artist C"]);
const mainArtistComponents = splitArtists(mainArtistName);
const mainArtists = mainArtistComponents.map(name => ({ name }));
const withArtists: { name: string }[] = [];
allUniqueArtists.forEach(a => {
if (!mainArtistComponents.includes(a) && a !== 'Various Artists') {
withArtists.push({ name: a });
}
});
console.log(`Main Artist Input: "${mainArtistName}"`);
console.log(`Main Artists Output: ${JSON.stringify(mainArtists)}`);
console.log(`With Artists Output: ${JSON.stringify(withArtists)}`);
if (mainArtists.length === 2 && withArtists.length === 1 && withArtists[0].name === "Artist C") {
console.log("PASS: RED Template artist logic correct.");
} else {
console.log("FAIL: RED Template artist logic incorrect.");
}
console.log("\n--- RED Label Logic Check ---");
let label = "4059882 Records DK";
label = label.replace(/(\(c\)|\u00A9|\u2117)?\s*\b(19|20)\d{2}\b\s*/gi, '').trim();
console.log(`Label Input: "4059882 Records DK"`);
console.log(`Label Output: "${label}"`);
if (label === "4059882 Records DK") {
console.log("PASS: Label preserved.");
} else {
console.log("FAIL: Label corrupted.");
}
}
verifyRedFixes();