mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 02:35:49 +00:00
166 lines
2.7 KiB
JavaScript
166 lines
2.7 KiB
JavaScript
'use strict';
|
|
|
|
const test = require('supertape');
|
|
const navigate = require('./navigate');
|
|
|
|
const {
|
|
UP,
|
|
DOWN,
|
|
J,
|
|
K,
|
|
} = require('../../key/key.js');
|
|
|
|
test('cloudcmd: user-menu: navigate: DOWN', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 0,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: DOWN,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 1);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: J', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 0,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: J,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 1);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: DOWN: bottom', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 2,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: DOWN,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 0);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: K', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 2,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: K,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 1);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: UP', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 2,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: UP,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 1);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: UP: top', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 0,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: UP,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 2);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 0,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: 0,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 0, 'should not change');
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: DOWN: count', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: 0,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: 53,
|
|
key: '5',
|
|
});
|
|
|
|
navigate(el, {
|
|
keyCode: DOWN,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 5);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: J: count: to big', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: -Infinity,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: 53,
|
|
key: '5',
|
|
});
|
|
|
|
navigate(el, {
|
|
keyCode: J,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 2);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: user-menu: navigate: K: count: to small', (t) => {
|
|
const el = {
|
|
length: 3,
|
|
selectedIndex: -Infinity,
|
|
};
|
|
|
|
navigate(el, {
|
|
keyCode: 53,
|
|
key: '5',
|
|
});
|
|
|
|
navigate(el, {
|
|
keyCode: K,
|
|
});
|
|
|
|
t.equal(el.selectedIndex, 0);
|
|
t.end();
|
|
});
|