oauth improvements

This commit is contained in:
Moon.eth
2026-07-29 10:45:17 +09:00
parent 264ae17a8d
commit 20b42c73c5
6 changed files with 368 additions and 61 deletions
+28 -15
View File
@@ -1,22 +1,35 @@
import '@testing-library/jest-dom/vitest'
import { beforeEach } from 'vitest'
const values = new Map<string, string>()
const memoryStorage: Storage = {
get length() {
return values.size
},
clear: () => values.clear(),
getItem: (key) => values.get(key) ?? null,
key: (index) => [...values.keys()][index] ?? null,
removeItem: (key) => {
values.delete(key)
},
setItem: (key, value) => {
values.set(key, String(value))
},
function memoryStorage(): Storage {
const values = new Map<string, string>()
return {
get length() {
return values.size
},
clear: () => values.clear(),
getItem: (key) => values.get(key) ?? null,
key: (index) => [...values.keys()][index] ?? null,
removeItem: (key) => {
values.delete(key)
},
setItem: (key, value) => {
values.set(key, String(value))
},
}
}
Object.defineProperty(globalThis, 'localStorage', {
configurable: true,
value: memoryStorage,
value: memoryStorage(),
})
Object.defineProperty(globalThis, 'sessionStorage', {
configurable: true,
value: memoryStorage(),
})
beforeEach(() => {
localStorage.clear()
sessionStorage.clear()
window.history.replaceState({}, '', '/')
})