From ec9efc7edc3133459612e6e799e68a454e8148ba Mon Sep 17 00:00:00 2001 From: crupest Date: Sun, 17 Mar 2019 21:57:24 +0800 Subject: Add unit test. --- .../src/app/test-utilities/storage.mock.ts | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 Timeline/ClientApp/src/app/test-utilities/storage.mock.ts (limited to 'Timeline/ClientApp/src/app/test-utilities/storage.mock.ts') diff --git a/Timeline/ClientApp/src/app/test-utilities/storage.mock.ts b/Timeline/ClientApp/src/app/test-utilities/storage.mock.ts new file mode 100644 index 00000000..0ba5aa35 --- /dev/null +++ b/Timeline/ClientApp/src/app/test-utilities/storage.mock.ts @@ -0,0 +1,28 @@ +import { Mock } from './mock'; +import { nullIfUndefined } from '../utilities/language-untilities'; + +export function createMockStorage(): Mock { + const map: { [key: string]: string } = {}; + return { + get length(): number { + return Object.keys(map).length; + }, + key(index: number): string | null { + const keys = Object.keys(map); + if (index >= keys.length) { return null; } + return keys[index]; + }, + clear() { + Object.keys(map).forEach(key => delete map.key); + }, + getItem(key: string): string | null { + return nullIfUndefined(map[key]); + }, + setItem(key: string, value: string) { + map[key] = value; + }, + removeItem(key: string) { + delete map[key]; + } + }; +} -- cgit v1.2.3