UnitTest.test('HistoryTest', () => { const filetype = 'test'; clearHistory(); assert.eq([], getHistory(filetype)); addToHistory('http://example.com', filetype); assert.eq(['http://example.com'], getHistory(filetype)); // non-http/https urls will be silently discarded addToHistory('#id', filetype); assert.eq(['http://example.com'], getHistory(filetype)); // new urls will be put at the front addToHistory('https://tiny.cloud', filetype); assert.eq(['https://tiny.cloud', 'http://example.com'], getHistory(filetype)); // existing urls will be moved to the front addToHistory('http://example.com', filetype); assert.eq(['http://example.com', 'https://tiny.cloud'], getHistory(filetype)); // only 5 urls will be kept for (let i = 1; i <= 5; i++) { addToHistory('http://example.com/' + i + '/', filetype); } assert.eq(['http://example.com/5/', 'http://example.com/4/', 'http://example.com/3/', 'http://example.com/2/', 'http://example.com/1/'], getHistory(filetype)); // multiple types of history can be kept independently const filetype2 = 'test2'; assert.eq([], getHistory(filetype2)); addToHistory('http://www.abc.net.au/news/', filetype2); assert.eq(['http://www.abc.net.au/news/'], getHistory(filetype2)); assert.eq(['http://example.com/5/', 'http://example.com/4/', 'http://example.com/3/', 'http://example.com/2/', 'http://example.com/1/'], getHistory(filetype)); });
const assertInfo = function (label, expected, info) { assert.eq( expected.current, info.current, 'Test: ' + label + '. Expected current: ' + expected.current + ', but was: ' + info.current ); assert.eq( expected.values, info.values, 'Test: ' + label + '. Expected values: ' + expected.values + ', but was: ' + info.values ); };
Obj.each(expected.pattern, (value, key) => { if (Obj.has<any, string>(pattern, key)) { Assertions.assertEq('Pattern ' + (i + 1) + ' property `' + key + '` is not equal', value, pattern[key]); } else { assert.fail('Pattern ' + (i + 1) + ' property `' + key + '` is missing'); } });
const testCalcSmallContentRect = function () { const contentAreaRect = rect(0, 0, 25, 25); const targetRect = rect(40, 0, 10, 10); const panelRect = rect(0, 20, 50, 50); const foundRect = Layout.calc(targetRect, contentAreaRect, panelRect); assert.eq(foundRect, { rect: rect(20, 10, 50, 50), position: 'bc-tc' }); };
const check = (expected: Option<number>, size: Size, unit: SizeUnit) => { const result = convertUnit(size, unit); assert.eq( true, expected.equals(result), 'Expected conversion of ' + JSON.stringify(size) + ' to ' + unit + ' = ' + result.toString() ); };
const testIsNumber = function () { assert.eq(Type.isNumber('a'), false); assert.eq(Type.isNumber(null), false); assert.eq(Type.isNumber(undefined), false); assert.eq(Type.isNumber(true), false); assert.eq(Type.isNumber(0), true); assert.eq(Type.isNumber([]), false); assert.eq(Type.isNumber({}), false); assert.eq(Type.isNumber(function () { }), false); };
const testIsFunction = function () { assert.eq(Type.isFunction('a'), false); assert.eq(Type.isFunction(null), false); assert.eq(Type.isFunction(undefined), false); assert.eq(Type.isFunction(true), false); assert.eq(Type.isFunction(0), false); assert.eq(Type.isFunction([]), false); assert.eq(Type.isFunction({}), false); assert.eq(Type.isFunction(function () { }), true); };
const testIsArray = function () { assert.eq(Type.isArray('a'), false); assert.eq(Type.isArray(null), false); assert.eq(Type.isArray(undefined), false); assert.eq(Type.isArray(true), false); assert.eq(Type.isArray(0), false); assert.eq(Type.isArray([]), true); assert.eq(Type.isArray({}), false); assert.eq(Type.isArray(function () { }), false); };
const testIsNull = function () { assert.eq(Type.isNull('a'), false); assert.eq(Type.isNull(null), true); assert.eq(Type.isNull(undefined), false); assert.eq(Type.isNull(true), false); assert.eq(Type.isNull(0), false); assert.eq(Type.isNull([]), false); assert.eq(Type.isNull({}), false); assert.eq(Type.isNull(function () { }), false); };
const testIsString = function () { assert.eq(Type.isString('a'), true); assert.eq(Type.isString(null), false); assert.eq(Type.isString(undefined), false); assert.eq(Type.isString(true), false); assert.eq(Type.isString(0), false); assert.eq(Type.isString([]), false); assert.eq(Type.isString({}), false); assert.eq(Type.isString(function () { }), false); };