fix: security hardening + code quality improvements (401 retry limit, UUID crypto, debounce this-bug, deduplicate CSS/helpers, optimize SW precache)
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
*/
|
||||
|
||||
import { test, describe, assertEquals, assertTrue } from './test-runner.js'
|
||||
import { escapeHTML, formatPrice, formatRelativeTime, debounce, truncate } from '../js/utils/helpers.js'
|
||||
import { escapeHTML, formatRelativeTime, debounce, truncate } from '../js/utils/helpers.js'
|
||||
|
||||
describe('escapeHTML', () => {
|
||||
test('escapes < and >', () => {
|
||||
@@ -40,40 +40,6 @@ describe('escapeHTML', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('formatPrice', () => {
|
||||
test('formats EUR correctly', () => {
|
||||
assertEquals(formatPrice(99.5, 'EUR'), '€ 99.50')
|
||||
})
|
||||
|
||||
test('formats USD correctly', () => {
|
||||
assertEquals(formatPrice(99.5, 'USD'), '$ 99.50')
|
||||
})
|
||||
|
||||
test('formats CHF correctly', () => {
|
||||
assertEquals(formatPrice(99.5, 'CHF'), 'CHF 99.50')
|
||||
})
|
||||
|
||||
test('formats XMR with 4 decimals', () => {
|
||||
assertEquals(formatPrice(0.5, 'XMR'), '0.5000 ɱ')
|
||||
})
|
||||
|
||||
test('handles null price', () => {
|
||||
assertEquals(formatPrice(null, 'EUR'), '–')
|
||||
})
|
||||
|
||||
test('handles undefined price', () => {
|
||||
assertEquals(formatPrice(undefined, 'EUR'), '–')
|
||||
})
|
||||
|
||||
test('defaults to EUR', () => {
|
||||
assertEquals(formatPrice(10), '€ 10.00')
|
||||
})
|
||||
|
||||
test('handles unknown currency', () => {
|
||||
assertEquals(formatPrice(10, 'GBP'), 'GBP 10.00')
|
||||
})
|
||||
})
|
||||
|
||||
describe('formatRelativeTime', () => {
|
||||
test('formats seconds ago', () => {
|
||||
const date = new Date(Date.now() - 30000) // 30 seconds ago
|
||||
|
||||
Reference in New Issue
Block a user