Restore iOS speech after cancelling queued audio
Build and publish frontend / publish (push) Failing after 2s
Build and publish frontend / publish (push) Failing after 2s
This commit is contained in:
+16
-2
@@ -130,6 +130,20 @@ test('TTS selects Swedish fallback, applies rate, and cancellation invalidates c
|
||||
assert.equal(h.controller.getState(), 'IDLE');
|
||||
});
|
||||
|
||||
test('a player gesture restores the iOS speech primer after cancelling a queued reply', () => {
|
||||
const h = makeHarness();
|
||||
assert.equal(h.controller.activateFromUserGesture(), true);
|
||||
assert.equal(h.synthesis.spoken[0].text, ' ');
|
||||
h.controller.speak('Tidigare replik');
|
||||
h.controller.cancelSpeech();
|
||||
const countAfterCancel = h.synthesis.spoken.length;
|
||||
assert.equal(h.controller.activateFromUserGesture(), true);
|
||||
assert.equal(h.synthesis.spoken.length, countAfterCancel + 1);
|
||||
assert.equal(h.synthesis.spoken.at(-1).text, ' ');
|
||||
h.controller.speak('Nytt svar');
|
||||
assert.equal(h.synthesis.spoken.at(-1).text, 'Nytt svar');
|
||||
});
|
||||
|
||||
test('speech is reported as in progress only after the native onstart event', () => {
|
||||
const h = makeHarness();
|
||||
h.controller.speak('Hej.');
|
||||
@@ -137,8 +151,8 @@ test('speech is reported as in progress only after the native onstart event', ()
|
||||
assert.match(h.states.at(-1).message, /Startar uppläsningen/);
|
||||
h.utterances[0].onstart();
|
||||
assert.equal(h.controller.getState(), 'SPEAKING');
|
||||
assert.match(h.states.at(-1).message, /Uppläsningen har startat/);
|
||||
assert.match(h.states.at(-1).message, /iPadens volym/);
|
||||
assert.match(h.states.at(-1).message, /Webbläsaren har startat talsyntesen/);
|
||||
assert.match(h.states.at(-1).message, /Läs senaste repliken/);
|
||||
});
|
||||
|
||||
test('iOS user gesture primes speech silently and idle speech is not cancelled before speak', () => {
|
||||
|
||||
Reference in New Issue
Block a user