|
|
|
@ -175,6 +175,38 @@ test('SSRState title ordering favors later lexicographic paths', () => {
|
|
|
|
|
expect(state.get_title()).toBe('E');
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('selects an option with an explicit value', () => {
|
|
|
|
|
const component = (renderer: Renderer) => {
|
|
|
|
|
renderer.select({ value: 2 }, (renderer) => {
|
|
|
|
|
renderer.option({ value: 1 }, (renderer) => renderer.push('one'));
|
|
|
|
|
renderer.option({ value: 2 }, (renderer) => renderer.push('two'));
|
|
|
|
|
renderer.option({ value: 3 }, (renderer) => renderer.push('three'));
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const { head, body } = Renderer.render(component as unknown as Component);
|
|
|
|
|
expect(head).toBe('');
|
|
|
|
|
expect(body).toBe(
|
|
|
|
|
'<!--[--><select><option value="1">one</option><option value="2" selected>two</option><option value="3">three</option></select><!--]-->'
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('selects an option with an implicit value', () => {
|
|
|
|
|
const component = (renderer: Renderer) => {
|
|
|
|
|
renderer.select({ value: 'two' }, (renderer) => {
|
|
|
|
|
renderer.option({}, (renderer) => renderer.push('one'));
|
|
|
|
|
renderer.option({}, (renderer) => renderer.push('two'));
|
|
|
|
|
renderer.option({}, (renderer) => renderer.push('three'));
|
|
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
const { head, body } = Renderer.render(component as unknown as Component);
|
|
|
|
|
expect(head).toBe('');
|
|
|
|
|
expect(body).toBe(
|
|
|
|
|
'<!--[--><select><option>one</option><option selected>two</option><option>three</option></select><!--]-->'
|
|
|
|
|
);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
describe('async', () => {
|
|
|
|
|
beforeAll(() => {
|
|
|
|
|
enable_async_mode_flag();
|
|
|
|
|