summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html')
-rw-r--r--dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html62
1 files changed, 62 insertions, 0 deletions
diff --git a/dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html b/dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html
new file mode 100644
index 000000000..293f6cadc
--- /dev/null
+++ b/dom/browser-element/mochitest/file_browserElement_AudioChannelSeeking.html
@@ -0,0 +1,62 @@
+<!DOCTYPE HTML>
+<html>
+<body>
+<script type="application/javascript;version=1.7">
+var audio = new Audio();
+audio.src = "audio.ogg";
+audio.loop = true;
+
+function assert(aVal, aMessage) {
+ return (!aVal) ? ok(false, aMessage) : 0;
+}
+
+function ok(aVal, aMsg) {
+ alert((!!aVal ? "OK" : "KO") + ", " + aMsg);
+}
+
+function info(aMsg) {
+ alert("INFO" + ", " + aMsg);
+}
+
+function randomSeeking() {
+ var seekingPosition = Math.random() * audio.duration;
+ assert(seekingPosition < audio.duration, "Seeking position out of range!")
+ audio.currentTime = seekingPosition;
+ audio.onseeked = () => {
+ audio.onseeked = null;
+ location.hash = '#idle';
+ ok(true, "Seeking complete, position = " + seekingPosition);
+ };
+}
+
+function runCommands()
+{
+ switch(location.hash) {
+ case '#play':
+ audio.play();
+ audio.onplay = () => {
+ audio.onplay = null;
+ info("Start playing, duration = " + audio.duration);
+ };
+ break;
+ case '#seeking':
+ randomSeeking();
+ break;
+ case '#pause':
+ audio.pause();
+ audio.onpause = () => {
+ audio.onpause = null;
+ ok(true, "Stop playing.");
+ };
+ break;
+ case '#idle':
+ break;
+ default :
+ ok(false, "Undefined command!");
+ }
+}
+
+window.addEventListener('hashchange', runCommands);
+</script>
+</body>
+</html> \ No newline at end of file