feat: integrate platform room entry, UI migration and erqiwang documentation
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import {test} from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import {JoinRoomInput} from '../../YouleNexus/assets/framework/presentation/join-room-input.ts';
|
||||
import {TemplateRoomRules} from '../../YouleNexus/assets/games/template/template-room-rules.ts';
|
||||
|
||||
test('keypad preserves display zeros and submits a number at six digits',()=>{
|
||||
const sent:number[]=[];const input=new JoinRoomInput(code=>sent.push(code));
|
||||
for(const digit of [0,1,2,3,4])input.digit(digit);
|
||||
assert.deepEqual(sent,[]);input.digit(5);
|
||||
assert.equal(input.code,'012345');assert.deepEqual(sent,[12345]);
|
||||
input.setBusy(true);input.digit(6);input.remove();input.clear();input.confirm();
|
||||
assert.equal(input.code,'012345');assert.deepEqual(sent,[12345]);
|
||||
input.setBusy(false);input.remove();assert.equal(input.code,'01234');
|
||||
input.clear();input.confirm();assert.deepEqual(sent,[12345]);
|
||||
input.digit(8);input.confirm();assert.deepEqual(sent,[12345,8]);
|
||||
});
|
||||
test('paste strips non-digits, truncates and submits; prefill does not submit',()=>{
|
||||
const sent:number[]=[];const input=new JoinRoomInput(code=>sent.push(code));
|
||||
input.prefill('123456');assert.deepEqual(sent,[]);
|
||||
input.paste('房号:987-654321');assert.equal(input.code,'987654');assert.deepEqual(sent,[987654]);
|
||||
input.paste('12a');assert.equal(input.code,'12');assert.equal(sent.length,1);
|
||||
assert.throws(()=>input.digit(10));assert.throws(()=>input.prefill('corrupt'));
|
||||
});
|
||||
test('template options do not rewrite source fixed sample; each submission is independent',()=>{
|
||||
const rules=new TemplateRoomRules();const expected=[1,4,1,2,2,[1,1,[1,2000,10],null,null,1],[1,0,5]];
|
||||
assert.deepEqual(rules.build(),expected);rules.select(0,1);rules.select(1,1);
|
||||
assert.deepEqual(rules.build(),expected);const packet=rules.build();packet[0]=999;
|
||||
assert.deepEqual(rules.build(),expected);assert.throws(()=>rules.select(0,2));
|
||||
// Original saved array's index 1 is 4: no corresponding Type_2 checkmark.
|
||||
rules.open(expected);assert.deepEqual(rules.selection,[0,3]);
|
||||
assert.equal(rules.seatCount(expected),10);assert.throws(()=>rules.open({}));
|
||||
});
|
||||
Reference in New Issue
Block a user