Files
ytplayer/frontend/f7-layout.test.js

20 lines
999 B
JavaScript

const test = require('node:test');
const assert = require('node:assert');
const { cardActions, swipeDirection } = require('./f7-layout');
test('cardActions: queue view has no Queue action, removable rows get Remove', () => {
assert.deepStrictEqual(cardActions('queue', true).left, []);
assert.deepStrictEqual(cardActions('queue', true).right.map((a) => a.act), ['playlist', 'remove']);
assert.deepStrictEqual(cardActions('search', false).left.map((a) => a.act), ['queue']);
assert.deepStrictEqual(cardActions('search', false).right.map((a) => a.act), ['playlist']);
});
test('swipeDirection classifies clear swipes and ignores short or diagonal drags', () => {
assert.strictEqual(swipeDirection(-80, 5), 'left');
assert.strictEqual(swipeDirection(80, -10), 'right');
assert.strictEqual(swipeDirection(4, -70), 'up');
assert.strictEqual(swipeDirection(10, 20), null);
assert.strictEqual(swipeDirection(60, 60), null);
assert.strictEqual(swipeDirection(40, 0, 36), 'right');
});