feat(h5): allow guest access without login and retain history only for WeChat
This commit is contained in:
@@ -2,7 +2,7 @@ const assert = require('node:assert/strict');
|
||||
const Profile = require('../js/profile-store');
|
||||
const regions = [['北京市', ['北京市']], ['浙江省', ['杭州市', '宁波市']]];
|
||||
const now = new Date(2026, 9, 12);
|
||||
const user = { id: 'fixture-a', kind: 'browser' }, other = { id: 'fixture-b', kind: 'browser' };
|
||||
const user = { id: 'fixture-a', kind: 'wechat' }, other = { id: 'fixture-b', kind: 'wechat' };
|
||||
const valid = { birth: '1991-11', gender: '男', region: { province: '浙江省', city: '宁波市' }, skinIndex: 3 };
|
||||
const empty = { birth: '', gender: '', region: null, skinIndex: 0 };
|
||||
assert.equal(Profile.age(valid.birth, now), 34);
|
||||
@@ -30,7 +30,9 @@ assert.equal(store.read(user), null);
|
||||
store.write(user, valid);
|
||||
assert.deepEqual(Profile.create(() => storage).read(user), valid, 'survives a page reload');
|
||||
assert.equal(store.read(other), null, 'different accounts are isolated');
|
||||
assert.equal(store.read({ ...user, kind: 'wechat' }), null, 'login kinds are isolated');
|
||||
assert.equal(store.read({ ...user, kind: 'browser' }), null, 'guests cannot read saved preferences');
|
||||
store.write({ ...user, kind: 'browser' }, valid);
|
||||
assert.equal(Profile.key({ ...user, kind: 'browser' }), null);
|
||||
store.write(other, empty); assert.deepEqual(store.read(user), valid);
|
||||
store.write(null, valid); assert.equal(data.size, 2, 'no unauthenticated writes');
|
||||
for (const raw of ['broken', 'x'.repeat(4097)]) {
|
||||
|
||||
Reference in New Issue
Block a user