|
|
@@ -32,6 +32,30 @@ describe('getPrinterImage', () => {
|
|
|
});
|
|
|
});
|
|
|
|
|
|
+ describe('A2L (#1684)', () => {
|
|
|
+ it('resolves display name "A2L" to a2l.png', () => {
|
|
|
+ expect(getPrinterImage('A2L')).toBe('/img/printers/a2l.png');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('resolves case-insensitive variants', () => {
|
|
|
+ expect(getPrinterImage('a2l')).toBe('/img/printers/a2l.png');
|
|
|
+ expect(getPrinterImage(' A2L ')).toBe('/img/printers/a2l.png');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('resolves the internal SSDP code "N9" to a2l.png', () => {
|
|
|
+ expect(getPrinterImage('N9')).toBe('/img/printers/a2l.png');
|
|
|
+ });
|
|
|
+
|
|
|
+ it('does not match A2L on unrelated A-series strings', () => {
|
|
|
+ // Regression guard: a hypothetical future "A2M" or similar must not
|
|
|
+ // silently pick up a2l.png until it's explicitly mapped, and "A1" /
|
|
|
+ // "A1 Mini" must still resolve to their own artwork.
|
|
|
+ expect(getPrinterImage('A2M')).toBe('/img/printers/default.png');
|
|
|
+ expect(getPrinterImage('A1')).toBe('/img/printers/a1.png');
|
|
|
+ expect(getPrinterImage('A1 Mini')).toBe('/img/printers/a1mini.png');
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
describe('regression: existing families unchanged', () => {
|
|
|
it('X1C → x1c.png', () => {
|
|
|
expect(getPrinterImage('X1C')).toBe('/img/printers/x1c.png');
|