aboutsummaryrefslogtreecommitdiff
path: root/Timeline/ClientApp/src/app/test-utilities/storage.mock.ts
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-04-11 20:02:33 +0800
committerGitHub <noreply@github.com>2019-04-11 20:02:33 +0800
commit1eb6d9abfc24eec380b7b5d7423102a53041239e (patch)
treed37779e900de492491c862eb64ba2e79cf10af83 /Timeline/ClientApp/src/app/test-utilities/storage.mock.ts
parent393ca55a960abc7d2343a8a36a093d253eddf134 (diff)
parentd328e1eac76d9e28563b118e42f8ee5cf5fe43d8 (diff)
downloadtimeline-1eb6d9abfc24eec380b7b5d7423102a53041239e.tar.gz
timeline-1eb6d9abfc24eec380b7b5d7423102a53041239e.tar.bz2
timeline-1eb6d9abfc24eec380b7b5d7423102a53041239e.zip
Merge pull request #17 from crupest/15-user
Remember me and log out feature.
Diffstat (limited to 'Timeline/ClientApp/src/app/test-utilities/storage.mock.ts')
-rw-r--r--Timeline/ClientApp/src/app/test-utilities/storage.mock.ts28
1 files changed, 28 insertions, 0 deletions
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<Storage> {
+ 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];
+ }
+ };
+}