Fix signature of functions in log and logValues and add tests
This commit is contained in:
parent
ed5bf3b3fc
commit
3b6777e259
2 changed files with 41 additions and 3 deletions
|
|
@ -852,14 +852,14 @@ export class Pattern {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
log(func = (_, hap) => `[hap] ${hap.showWhole(true)}`, getData = (_, hap) => ({ hap })) {
|
log(func = (hap) => `[hap] ${hap.showWhole(true)}`, getData = (hap) => ({ hap })) {
|
||||||
return this.onTrigger((...args) => {
|
return this.onTrigger((...args) => {
|
||||||
logger(func(...args), undefined, getData(...args));
|
logger(func(...args), undefined, getData(...args));
|
||||||
}, false);
|
}, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
logValues(func = id) {
|
logValues(func = id) {
|
||||||
return this.log((_, hap) => func(hap.value));
|
return this.log((hap) => func(hap.value));
|
||||||
}
|
}
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ This program is free software: you can redistribute it and/or modify it under th
|
||||||
|
|
||||||
import Fraction from 'fraction.js';
|
import Fraction from 'fraction.js';
|
||||||
|
|
||||||
import { describe, it, expect } from 'vitest';
|
import { describe, it, expect, vi } from 'vitest';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
TimeSpan,
|
TimeSpan,
|
||||||
|
|
@ -55,6 +55,8 @@ import {
|
||||||
expand,
|
expand,
|
||||||
} from '../index.mjs';
|
} from '../index.mjs';
|
||||||
|
|
||||||
|
import { log, logValues } from '../pattern.mjs'
|
||||||
|
|
||||||
import { steady } from '../signal.mjs';
|
import { steady } from '../signal.mjs';
|
||||||
|
|
||||||
import { n, s } from '../controls.mjs';
|
import { n, s } from '../controls.mjs';
|
||||||
|
|
@ -1306,4 +1308,40 @@ describe('Pattern', () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
describe('log', () => {
|
||||||
|
it('logs to console', () => {
|
||||||
|
const mockConsoleLog = vi.spyOn(console, 'log').mockImplementation(() => {});
|
||||||
|
const pattern = pure('a').log()
|
||||||
|
const haps = pattern.queryArc(0, 1); // query during first time arc
|
||||||
|
|
||||||
|
// Force a trigger
|
||||||
|
haps.forEach(hap => {
|
||||||
|
hap.context?.onTrigger?.(hap);
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(mockConsoleLog).toHaveBeenCalledWith(
|
||||||
|
'%c[hap] 0/1 → 1/1: a',
|
||||||
|
'background-color: black;color:white;border-radius:15px',
|
||||||
|
);
|
||||||
|
mockConsoleLog.mockRestore();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
describe('logValues', () => {
|
||||||
|
it('logs values to console', () => {
|
||||||
|
const mockConsoleLog = vi.spyOn(console, 'log').mockImplementation(() => {});
|
||||||
|
const pattern = pure('a').note("c#").log()
|
||||||
|
const haps = pattern.queryArc(0, 1); // query during first time arc
|
||||||
|
|
||||||
|
// Force a trigger
|
||||||
|
haps.forEach(hap => {
|
||||||
|
hap.context?.onTrigger?.(hap);
|
||||||
|
});
|
||||||
|
|
||||||
|
expect(mockConsoleLog).toHaveBeenCalledWith(
|
||||||
|
'%c[hap] 0/1 → 1/1: value:a note:c#',
|
||||||
|
'background-color: black;color:white;border-radius:15px',
|
||||||
|
);
|
||||||
|
mockConsoleLog.mockRestore();
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue