summaryrefslogtreecommitdiffstats
path: root/dom/media/webspeech/recognition/test
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-05-20 10:19:04 +0000
committerMoonchild <moonchild@palemoon.org>2020-05-20 14:04:17 +0000
commit99c2e698d2a3c56649e42d8d2133706cd8c9501e (patch)
tree85be449d772eb57860f0f386efb4bc1e790fd498 /dom/media/webspeech/recognition/test
parent15ac4021b06d549e47c9e2efc9364a9eb96bfe82 (diff)
downloadUXP-99c2e698d2a3c56649e42d8d2133706cd8c9501e.tar
UXP-99c2e698d2a3c56649e42d8d2133706cd8c9501e.tar.gz
UXP-99c2e698d2a3c56649e42d8d2133706cd8c9501e.tar.lz
UXP-99c2e698d2a3c56649e42d8d2133706cd8c9501e.tar.xz
UXP-99c2e698d2a3c56649e42d8d2133706cd8c9501e.zip
Issue #1538 - remove speech recognition engine
This removes speech recognition, pocketsphinx, training models and the speech automated test interface. This also re-establishes proper use of MOZ_WEBSPEECH to work for the speech API (synthesis part only) that was a broken mess before, with some synth parts being always built, some parts being built only with it enabled and recognition parts being dependent on it. I'm pretty sure it'd be totally busted if you'd ever have tried building without MOZ_WEBPEECH before. Tested that synthesis still works as-intended. This resolves #1538
Diffstat (limited to 'dom/media/webspeech/recognition/test')
-rw-r--r--dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp119
-rw-r--r--dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.h38
-rw-r--r--dom/media/webspeech/recognition/test/head.js181
-rw-r--r--dom/media/webspeech/recognition/test/hello.oggbin11328 -> 0 bytes
-rw-r--r--dom/media/webspeech/recognition/test/hello.ogg^headers^1
-rw-r--r--dom/media/webspeech/recognition/test/mochitest.ini21
-rw-r--r--dom/media/webspeech/recognition/test/silence.oggbin106941 -> 0 bytes
-rw-r--r--dom/media/webspeech/recognition/test/silence.ogg^headers^1
-rw-r--r--dom/media/webspeech/recognition/test/test_abort.html71
-rw-r--r--dom/media/webspeech/recognition/test/test_audio_capture_error.html40
-rw-r--r--dom/media/webspeech/recognition/test/test_call_start_from_end_handler.html100
-rw-r--r--dom/media/webspeech/recognition/test/test_nested_eventloop.html81
-rw-r--r--dom/media/webspeech/recognition/test/test_preference_enable.html43
-rw-r--r--dom/media/webspeech/recognition/test/test_recognition_service_error.html43
-rw-r--r--dom/media/webspeech/recognition/test/test_success_without_recognition_service.html43
-rw-r--r--dom/media/webspeech/recognition/test/test_timeout.html40
16 files changed, 0 insertions, 822 deletions
diff --git a/dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp b/dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp
deleted file mode 100644
index 97bf4b998..000000000
--- a/dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#include "nsThreadUtils.h"
-
-#include "FakeSpeechRecognitionService.h"
-#include "MediaPrefs.h"
-
-#include "SpeechRecognition.h"
-#include "SpeechRecognitionAlternative.h"
-#include "SpeechRecognitionResult.h"
-#include "SpeechRecognitionResultList.h"
-#include "nsIObserverService.h"
-#include "mozilla/Services.h"
-
-namespace mozilla {
-
-using namespace dom;
-
-NS_IMPL_ISUPPORTS(FakeSpeechRecognitionService, nsISpeechRecognitionService, nsIObserver)
-
-FakeSpeechRecognitionService::FakeSpeechRecognitionService()
-{
-}
-
-FakeSpeechRecognitionService::~FakeSpeechRecognitionService()
-{
-}
-
-NS_IMETHODIMP
-FakeSpeechRecognitionService::Initialize(WeakPtr<SpeechRecognition> aSpeechRecognition)
-{
- mRecognition = aSpeechRecognition;
- nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
- obs->AddObserver(this, SPEECH_RECOGNITION_TEST_EVENT_REQUEST_TOPIC, false);
- obs->AddObserver(this, SPEECH_RECOGNITION_TEST_END_TOPIC, false);
- return NS_OK;
-}
-
-NS_IMETHODIMP
-FakeSpeechRecognitionService::ProcessAudioSegment(AudioSegment* aAudioSegment, int32_t aSampleRate)
-{
- return NS_OK;
-}
-
-NS_IMETHODIMP
-FakeSpeechRecognitionService::SoundEnd()
-{
- return NS_OK;
-}
-
-NS_IMETHODIMP
-FakeSpeechRecognitionService::ValidateAndSetGrammarList(mozilla::dom::SpeechGrammar*, nsISpeechGrammarCompilationCallback*)
-{
- return NS_OK;
-}
-
-NS_IMETHODIMP
-FakeSpeechRecognitionService::Abort()
-{
- return NS_OK;
-}
-
-NS_IMETHODIMP
-FakeSpeechRecognitionService::Observe(nsISupports* aSubject, const char* aTopic, const char16_t* aData)
-{
- MOZ_ASSERT(MediaPrefs::WebSpeechFakeRecognitionService(),
- "Got request to fake recognition service event, but "
- TEST_PREFERENCE_FAKE_RECOGNITION_SERVICE " is not set");
-
- if (!strcmp(aTopic, SPEECH_RECOGNITION_TEST_END_TOPIC)) {
- nsCOMPtr<nsIObserverService> obs = services::GetObserverService();
- obs->RemoveObserver(this, SPEECH_RECOGNITION_TEST_EVENT_REQUEST_TOPIC);
- obs->RemoveObserver(this, SPEECH_RECOGNITION_TEST_END_TOPIC);
-
- return NS_OK;
- }
-
- const nsDependentString eventName = nsDependentString(aData);
-
- if (eventName.EqualsLiteral("EVENT_RECOGNITIONSERVICE_ERROR")) {
- mRecognition->DispatchError(SpeechRecognition::EVENT_RECOGNITIONSERVICE_ERROR,
- SpeechRecognitionErrorCode::Network, // TODO different codes?
- NS_LITERAL_STRING("RECOGNITIONSERVICE_ERROR test event"));
-
- } else if (eventName.EqualsLiteral("EVENT_RECOGNITIONSERVICE_FINAL_RESULT")) {
- RefPtr<SpeechEvent> event =
- new SpeechEvent(mRecognition,
- SpeechRecognition::EVENT_RECOGNITIONSERVICE_FINAL_RESULT);
-
- event->mRecognitionResultList = BuildMockResultList();
- NS_DispatchToMainThread(event);
- }
-
- return NS_OK;
-}
-
-SpeechRecognitionResultList*
-FakeSpeechRecognitionService::BuildMockResultList()
-{
- SpeechRecognitionResultList* resultList = new SpeechRecognitionResultList(mRecognition);
- SpeechRecognitionResult* result = new SpeechRecognitionResult(mRecognition);
- if (0 < mRecognition->MaxAlternatives()) {
- SpeechRecognitionAlternative* alternative = new SpeechRecognitionAlternative(mRecognition);
-
- alternative->mTranscript = NS_LITERAL_STRING("Mock final result");
- alternative->mConfidence = 0.0f;
-
- result->mItems.AppendElement(alternative);
- }
- resultList->mItems.AppendElement(result);
-
- return resultList;
-}
-
-} // namespace mozilla
diff --git a/dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.h b/dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.h
deleted file mode 100644
index 9b850d4d0..000000000
--- a/dom/media/webspeech/recognition/test/FakeSpeechRecognitionService.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
-/* vim:set ts=2 sw=2 sts=2 et cindent: */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-
-#ifndef mozilla_dom_FakeSpeechRecognitionService_h
-#define mozilla_dom_FakeSpeechRecognitionService_h
-
-#include "nsCOMPtr.h"
-#include "nsIObserver.h"
-#include "nsISpeechRecognitionService.h"
-
-#define NS_FAKE_SPEECH_RECOGNITION_SERVICE_CID \
- {0x48c345e7, 0x9929, 0x4f9a, {0xa5, 0x63, 0xf4, 0x78, 0x22, 0x2d, 0xab, 0xcd}};
-
-namespace mozilla {
-
-class FakeSpeechRecognitionService : public nsISpeechRecognitionService,
- public nsIObserver
-{
-public:
- NS_DECL_ISUPPORTS
- NS_DECL_NSISPEECHRECOGNITIONSERVICE
- NS_DECL_NSIOBSERVER
-
- FakeSpeechRecognitionService();
-
-private:
- virtual ~FakeSpeechRecognitionService();
-
- WeakPtr<dom::SpeechRecognition> mRecognition;
- dom::SpeechRecognitionResultList* BuildMockResultList();
-};
-
-} // namespace mozilla
-
-#endif
diff --git a/dom/media/webspeech/recognition/test/head.js b/dom/media/webspeech/recognition/test/head.js
deleted file mode 100644
index b5aa2d612..000000000
--- a/dom/media/webspeech/recognition/test/head.js
+++ /dev/null
@@ -1,181 +0,0 @@
-"use strict";
-
-const DEFAULT_AUDIO_SAMPLE_FILE = "hello.ogg";
-const SPEECH_RECOGNITION_TEST_REQUEST_EVENT_TOPIC = "SpeechRecognitionTest:RequestEvent";
-const SPEECH_RECOGNITION_TEST_END_TOPIC = "SpeechRecognitionTest:End";
-
-var errorCodes = {
- NO_SPEECH : "no-speech",
- ABORTED : "aborted",
- AUDIO_CAPTURE : "audio-capture",
- NETWORK : "network",
- NOT_ALLOWED : "not-allowed",
- SERVICE_NOT_ALLOWED : "service-not-allowed",
- BAD_GRAMMAR : "bad-grammar",
- LANGUAGE_NOT_SUPPORTED : "language-not-supported"
-};
-
-var Services = SpecialPowers.Cu.import("resource://gre/modules/Services.jsm").Services;
-
-function EventManager(sr) {
- var self = this;
- var nEventsExpected = 0;
- self.eventsReceived = [];
-
- var allEvents = [
- "audiostart",
- "soundstart",
- "speechstart",
- "speechend",
- "soundend",
- "audioend",
- "result",
- "nomatch",
- "error",
- "start",
- "end"
- ];
-
- var eventDependencies = {
- "speechend": "speechstart",
- "soundend": "soundstart",
- "audioend": "audiostart"
- };
-
- var isDone = false;
-
- // set up grammar
- var sgl = new SpeechGrammarList();
- sgl.addFromString("#JSGF V1.0; grammar test; public <simple> = hello ;", 1);
- sr.grammars = sgl;
-
- // AUDIO_DATA events are asynchronous,
- // so we queue events requested while they are being
- // issued to make them seem synchronous
- var isSendingAudioData = false;
- var queuedEventRequests = [];
-
- // register default handlers
- for (var i = 0; i < allEvents.length; i++) {
- (function (eventName) {
- sr["on" + eventName] = function (evt) {
- var message = "unexpected event: " + eventName;
- if (eventName == "error") {
- message += " -- " + evt.message;
- }
-
- ok(false, message);
- if (self.doneFunc && !isDone) {
- isDone = true;
- self.doneFunc();
- }
- };
- })(allEvents[i]);
- }
-
- self.expect = function EventManager_expect(eventName, cb) {
- nEventsExpected++;
-
- sr["on" + eventName] = function(evt) {
- self.eventsReceived.push(eventName);
- ok(true, "received event " + eventName);
-
- var dep = eventDependencies[eventName];
- if (dep) {
- ok(self.eventsReceived.indexOf(dep) >= 0,
- eventName + " must come after " + dep);
- }
-
- cb && cb(evt, sr);
- if (self.doneFunc && !isDone &&
- nEventsExpected === self.eventsReceived.length) {
- isDone = true;
- self.doneFunc();
- }
- }
- }
-
- self.start = function EventManager_start() {
- isSendingAudioData = true;
- var audioTag = document.createElement("audio");
- audioTag.src = self.audioSampleFile;
-
- var stream = audioTag.mozCaptureStreamUntilEnded();
- audioTag.addEventListener("ended", function() {
- info("Sample stream ended, requesting queued events");
- isSendingAudioData = false;
- while (queuedEventRequests.length) {
- self.requestFSMEvent(queuedEventRequests.shift());
- }
- });
-
- audioTag.play();
- sr.start(stream);
- }
-
- self.requestFSMEvent = function EventManager_requestFSMEvent(eventName) {
- if (isSendingAudioData) {
- info("Queuing event " + eventName + " until we're done sending audio data");
- queuedEventRequests.push(eventName);
- return;
- }
-
- info("requesting " + eventName);
- Services.obs.notifyObservers(null,
- SPEECH_RECOGNITION_TEST_REQUEST_EVENT_TOPIC,
- eventName);
- }
-
- self.requestTestEnd = function EventManager_requestTestEnd() {
- Services.obs.notifyObservers(null, SPEECH_RECOGNITION_TEST_END_TOPIC, null);
- }
-}
-
-function buildResultCallback(transcript) {
- return (function(evt) {
- is(evt.results[0][0].transcript, transcript, "expect correct transcript");
- });
-}
-
-function buildErrorCallback(errcode) {
- return (function(err) {
- is(err.error, errcode, "expect correct error code");
- });
-}
-
-function performTest(options) {
- var prefs = options.prefs;
-
- prefs.unshift(
- ["media.webspeech.recognition.enable", true],
- ["media.webspeech.test.enable", true]
- );
-
- SpecialPowers.pushPrefEnv({set: prefs}, function() {
- var sr = new SpeechRecognition();
- var em = new EventManager(sr);
-
- for (var eventName in options.expectedEvents) {
- var cb = options.expectedEvents[eventName];
- em.expect(eventName, cb);
- }
-
- em.doneFunc = function() {
- em.requestTestEnd();
- if (options.doneFunc) {
- options.doneFunc();
- }
- }
-
- em.audioSampleFile = DEFAULT_AUDIO_SAMPLE_FILE;
- if (options.audioSampleFile) {
- em.audioSampleFile = options.audioSampleFile;
- }
-
- em.start();
-
- for (var i = 0; i < options.eventsToRequest.length; i++) {
- em.requestFSMEvent(options.eventsToRequest[i]);
- }
- });
-}
diff --git a/dom/media/webspeech/recognition/test/hello.ogg b/dom/media/webspeech/recognition/test/hello.ogg
deleted file mode 100644
index 7a8092606..000000000
--- a/dom/media/webspeech/recognition/test/hello.ogg
+++ /dev/null
Binary files differ
diff --git a/dom/media/webspeech/recognition/test/hello.ogg^headers^ b/dom/media/webspeech/recognition/test/hello.ogg^headers^
deleted file mode 100644
index 4030ea1d3..000000000
--- a/dom/media/webspeech/recognition/test/hello.ogg^headers^
+++ /dev/null
@@ -1 +0,0 @@
-Cache-Control: no-store
diff --git a/dom/media/webspeech/recognition/test/mochitest.ini b/dom/media/webspeech/recognition/test/mochitest.ini
deleted file mode 100644
index 0e5a7a8ed..000000000
--- a/dom/media/webspeech/recognition/test/mochitest.ini
+++ /dev/null
@@ -1,21 +0,0 @@
-[DEFAULT]
-tags=msg
-subsuite = media
-support-files =
- head.js
- hello.ogg
- hello.ogg^headers^
- silence.ogg
- silence.ogg^headers^
-[test_abort.html]
-skip-if = toolkit == 'android' # bug 1037287
-[test_audio_capture_error.html]
-[test_call_start_from_end_handler.html]
-tags=capturestream
-skip-if = (android_version == '18' && debug) # bug 967606
-[test_nested_eventloop.html]
-skip-if = toolkit == 'android'
-[test_preference_enable.html]
-[test_recognition_service_error.html]
-[test_success_without_recognition_service.html]
-[test_timeout.html]
diff --git a/dom/media/webspeech/recognition/test/silence.ogg b/dom/media/webspeech/recognition/test/silence.ogg
deleted file mode 100644
index e6da3a502..000000000
--- a/dom/media/webspeech/recognition/test/silence.ogg
+++ /dev/null
Binary files differ
diff --git a/dom/media/webspeech/recognition/test/silence.ogg^headers^ b/dom/media/webspeech/recognition/test/silence.ogg^headers^
deleted file mode 100644
index 4030ea1d3..000000000
--- a/dom/media/webspeech/recognition/test/silence.ogg^headers^
+++ /dev/null
@@ -1 +0,0 @@
-Cache-Control: no-store
diff --git a/dom/media/webspeech/recognition/test/test_abort.html b/dom/media/webspeech/recognition/test/test_abort.html
deleted file mode 100644
index ae9a29964..000000000
--- a/dom/media/webspeech/recognition/test/test_abort.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Call abort from inside handlers</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- // Abort inside event handlers, should't get a
- // result after that
-
- var nextEventIdx = 0;
- var eventsToAbortOn = [
- "start",
- "audiostart",
- "speechstart",
- "speechend",
- "audioend"
- ];
-
- function doNextTest() {
- var nextEvent = eventsToAbortOn[nextEventIdx];
- var expectedEvents = {
- "start": null,
- "audiostart": null,
- "audioend": null,
- "end": null
- };
-
- if (nextEventIdx >= eventsToAbortOn.indexOf("speechstart")) {
- expectedEvents["speechstart"] = null;
- }
-
- if (nextEventIdx >= eventsToAbortOn.indexOf("speechend")) {
- expectedEvents["speechend"] = null;
- }
-
- info("Aborting on " + nextEvent);
- expectedEvents[nextEvent] = function(evt, sr) {
- sr.abort();
- };
-
- nextEventIdx++;
-
- performTest({
- eventsToRequest: [],
- expectedEvents: expectedEvents,
- doneFunc: (nextEventIdx < eventsToAbortOn.length) ? doNextTest : SimpleTest.finish,
- prefs: [["media.webspeech.test.fake_fsm_events", true], ["media.webspeech.test.fake_recognition_service", true]]
- });
- }
-
- doNextTest();
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_audio_capture_error.html b/dom/media/webspeech/recognition/test/test_audio_capture_error.html
deleted file mode 100644
index 6869f4c9b..000000000
--- a/dom/media/webspeech/recognition/test/test_audio_capture_error.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Behavior on audio error</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- performTest({
- eventsToRequest: ['EVENT_AUDIO_ERROR'],
- expectedEvents: {
- 'start': null,
- 'audiostart': null,
- 'speechstart': null,
- 'speechend': null,
- 'audioend': null,
- 'error': buildErrorCallback(errorCodes.AUDIO_CAPTURE),
- 'end': null
- },
- doneFunc: SimpleTest.finish,
- prefs: [["media.webspeech.test.fake_fsm_events", true], ["media.webspeech.test.fake_recognition_service", true]]
- });
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_call_start_from_end_handler.html b/dom/media/webspeech/recognition/test/test_call_start_from_end_handler.html
deleted file mode 100644
index c8da267fc..000000000
--- a/dom/media/webspeech/recognition/test/test_call_start_from_end_handler.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Restart recognition from end handler</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- function createAudioStream() {
- var audioTag = document.createElement("audio");
- audioTag.src = DEFAULT_AUDIO_SAMPLE_FILE;
-
- var stream = audioTag.mozCaptureStreamUntilEnded();
- audioTag.play();
-
- return stream;
- }
-
- var done = false;
- function endHandler(evt, sr) {
- if (done) {
- SimpleTest.finish();
- return;
- }
-
- try {
- var stream = createAudioStream();
- sr.start(stream); // shouldn't fail
- } catch (err) {
- ok(false, "Failed to start() from end() callback");
- }
-
- // calling start() may cause some callbacks to fire, but we're
- // no longer interested in them, except for onend, which is where
- // we'll conclude the test.
- sr.onstart = null;
- sr.onaudiostart = null;
- sr.onspeechstart = null;
- sr.onspeechend = null;
- sr.onaudioend = null;
- sr.onresult = null;
-
- // FIXME(ggp) the state transition caused by start() is async,
- // but abort() is sync (see bug 1055093). until we normalize
- // state transitions, we need to setTimeout here to make sure
- // abort() finds the speech recognition object in the correct
- // state (namely, STATE_STARTING).
- setTimeout(function() {
- sr.abort();
- done = true;
- });
-
- info("Successfully start() from end() callback");
- }
-
- function expectExceptionHandler(evt, sr) {
- try {
- sr.start(createAudioStream());
- } catch (err) {
- is(err.name, "InvalidStateError");
- return;
- }
-
- ok(false, "Calling start() didn't raise InvalidStateError");
- }
-
- performTest({
- eventsToRequest: [
- 'EVENT_RECOGNITIONSERVICE_FINAL_RESULT'
- ],
- expectedEvents: {
- 'start': expectExceptionHandler,
- 'audiostart': expectExceptionHandler,
- 'speechstart': expectExceptionHandler,
- 'speechend': expectExceptionHandler,
- 'audioend': expectExceptionHandler,
- 'result': buildResultCallback("Mock final result"),
- 'end': endHandler,
- },
- prefs: [["media.webspeech.test.fake_fsm_events", true], ["media.webspeech.test.fake_recognition_service", true]]
- });
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_nested_eventloop.html b/dom/media/webspeech/recognition/test/test_nested_eventloop.html
deleted file mode 100644
index 8b4cea6d7..000000000
--- a/dom/media/webspeech/recognition/test/test_nested_eventloop.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Spin the event loop from inside a callback</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- /*
- * SpecialPowers.spinEventLoop can be used to spin the event loop, causing
- * queued SpeechEvents (such as those created by calls to start(), stop()
- * or abort()) to be processed immediately.
- * When this is done from inside DOM event handlers, it is possible to
- * cause reentrancy in our C++ code, which we should be able to withstand.
- */
- function abortAndSpinEventLoop(evt, sr) {
- sr.abort();
- SpecialPowers.spinEventLoop(window);
- }
- function doneFunc() {
- // Trigger gc now and wait some time to make sure this test gets the blame
- // for any assertions caused by spinning the event loop.
- //
- // NB - The assertions should be gone, but this looks too scary to touch
- // during batch cleanup.
- var count = 0, GC_COUNT = 4;
-
- function triggerGCOrFinish() {
- SpecialPowers.gc();
- count++;
-
- if (count == GC_COUNT) {
- SimpleTest.finish();
- }
- }
-
- for (var i = 0; i < GC_COUNT; i++) {
- setTimeout(triggerGCOrFinish, 0);
- }
- }
-
- /*
- * We start by performing a normal start, then abort from the audiostart
- * callback and force the EVENT_ABORT to be processed while still inside
- * the event handler. This causes the recording to stop, which raises
- * the audioend and (later on) end events.
- * Then, we abort (once again spinning the event loop) from the audioend
- * handler, attempting to cause a re-entry into the abort code. This second
- * call should be ignored, and we get the end callback and finish.
- */
-
- performTest({
- eventsToRequest: [],
- expectedEvents: {
- "audiostart": abortAndSpinEventLoop,
- "audioend": abortAndSpinEventLoop,
- "end": null
- },
- doneFunc: doneFunc,
- prefs: [["media.webspeech.test.fake_fsm_events", true],
- ["media.webspeech.test.fake_recognition_service", true]]
- });
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_preference_enable.html b/dom/media/webspeech/recognition/test/test_preference_enable.html
deleted file mode 100644
index 0946566a3..000000000
--- a/dom/media/webspeech/recognition/test/test_preference_enable.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- No objects should be visible with preference disabled</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- SpecialPowers.pushPrefEnv({
- set: [["media.webspeech.recognition.enable", false]]
- }, function() {
- var objects = [
- "SpeechRecognition",
- "SpeechGrammar",
- "SpeechRecognitionResult",
- "SpeechRecognitionResultList",
- "SpeechRecognitionAlternative"
- ];
-
- for (var i = 0; i < objects.length; i++) {
- is(window[objects[i]], undefined,
- objects[i] + " should be undefined with pref off");
- }
-
- SimpleTest.finish();
- });
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_recognition_service_error.html b/dom/media/webspeech/recognition/test/test_recognition_service_error.html
deleted file mode 100644
index e7e9fb7ca..000000000
--- a/dom/media/webspeech/recognition/test/test_recognition_service_error.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Behavior on recognition service error</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- performTest({
- eventsToRequest: [
- 'EVENT_RECOGNITIONSERVICE_ERROR'
- ],
- expectedEvents: {
- 'start': null,
- 'audiostart': null,
- 'speechstart': null,
- 'speechend': null,
- 'audioend': null,
- 'error': buildErrorCallback(errorCodes.NETWORK),
- 'end': null
- },
- doneFunc: SimpleTest.finish,
- prefs: [["media.webspeech.test.fake_fsm_events", true], ["media.webspeech.test.fake_recognition_service", true]]
- });
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_success_without_recognition_service.html b/dom/media/webspeech/recognition/test/test_success_without_recognition_service.html
deleted file mode 100644
index 9ecf00f4b..000000000
--- a/dom/media/webspeech/recognition/test/test_success_without_recognition_service.html
+++ /dev/null
@@ -1,43 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Success with fake recognition service</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- performTest({
- eventsToRequest: [
- 'EVENT_RECOGNITIONSERVICE_FINAL_RESULT'
- ],
- expectedEvents: {
- 'start': null,
- 'audiostart': null,
- 'speechstart': null,
- 'speechend': null,
- 'audioend': null,
- 'result': buildResultCallback("Mock final result"),
- 'end': null
- },
- doneFunc:SimpleTest.finish,
- prefs: [["media.webspeech.test.fake_fsm_events", true], ["media.webspeech.test.fake_recognition_service", true]]
- });
-
-</script>
-</pre>
-</body>
-</html>
diff --git a/dom/media/webspeech/recognition/test/test_timeout.html b/dom/media/webspeech/recognition/test/test_timeout.html
deleted file mode 100644
index 009964406..000000000
--- a/dom/media/webspeech/recognition/test/test_timeout.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<!DOCTYPE HTML>
-<html>
-<!--
-https://bugzilla.mozilla.org/show_bug.cgi?id=650295
--->
-<head>
- <meta charset="utf-8">
- <title>Test for Bug 650295 -- Timeout for user speech</title>
- <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
- <script type="application/javascript" src="head.js"></script>
-</head>
-<body>
-<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=650295">Mozilla Bug 650295</a>
-<p id="display"></p>
-<div id="content" style="display: none">
-
-</div>
-<pre id="test">
-<script type="text/javascript">
- SimpleTest.waitForExplicitFinish();
-
- performTest({
- eventsToRequest: [],
- expectedEvents: {
- "start": null,
- "audiostart": null,
- "audioend": null,
- "error": buildErrorCallback(errorCodes.NO_SPEECH),
- "end": null
- },
- doneFunc: SimpleTest.finish,
- audioSampleFile: "silence.ogg",
- prefs: [["media.webspeech.test.fake_fsm_events", true], ["media.webspeech.test.fake_recognition_service", true]]
- });
-
-</script>
-</pre>
-</body>
-</html>