Commit 3d96a4c2 authored by Ken Rockot's avatar Ken Rockot Committed by Chromium LUCI CQ

Migrate mediasession web tests to Mojo JS modules

Bug: 1004256
Change-Id: I77c6539836d48687d78151f947ee26fb2f0b58ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2617056
Auto-Submit: Ken Rockot <rockot@google.com>
Reviewed-by: default avatarBecca Hughes <beccahughes@chromium.org>
Commit-Queue: Ken Rockot <rockot@google.com>
Cr-Commit-Position: refs/heads/master@{#842360}
parent 1db10476
...@@ -2,22 +2,18 @@ ...@@ -2,22 +2,18 @@
<title>Test that setting MediaSession callbacks are alive after garbage-collection</title> <title>Test that setting MediaSession callbacks are alive after garbage-collection</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="../../../resources/gc.js"></script> <script type="module">
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> import '/js-test-resources/gc.js';
<script src="file:///gen/services/media_session/public/mojom/media_session.mojom.js"></script>
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
var mock; import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
import {MediaSessionAction} from '/gen/services/media_session/public/mojom/media_session.mojom.m.js';
async_test(function(t) { async_test(t => {
let mock = mediaSessionServiceMock; const mock = new MediaSessionServiceMock;
mock.setClientCallback(_ => { mock.setClientCallback(_ => {
gc(); gc();
setTimeout(_ => { setTimeout(_ => {
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kPlay); mock.getClient().didReceiveAction(MediaSessionAction.kPlay);
}); });
}); });
window.navigator.mediaSession.setActionHandler("play", _ => { t.done(); }); window.navigator.mediaSession.setActionHandler("play", _ => { t.done(); });
......
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script> import {assert_metadata_equals} from './resources/utils.js';
<script src="resources/utils.js"></script>
<script>
async_test(function(t) { async_test(function(t) {
let m = mediaSessionServiceMock; let m = new MediaSessionServiceMock();
var metadata = new MediaMetadata({ var metadata = new MediaMetadata({
artwork: [ artwork: [
{ src: "file:///foo/bar.jpg", type: "image/jpeg"} { src: "file:///foo/bar.jpg", type: "image/jpeg"}
......
...@@ -2,12 +2,9 @@ ...@@ -2,12 +2,9 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/services/media_session/public/mojom/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionAction} from '/gen/services/media_session/public/mojom/media_session.mojom.m.js';
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
var mock; var mock;
...@@ -45,18 +42,18 @@ function runTests(t) { ...@@ -45,18 +42,18 @@ function runTests(t) {
window.navigator.mediaSession.setActionHandler( window.navigator.mediaSession.setActionHandler(
"seekforward", t.step_func(checkExpectation.bind(null, t, "seekforward"))); "seekforward", t.step_func(checkExpectation.bind(null, t, "seekforward")));
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kPlay); mock.getClient().didReceiveAction(MediaSessionAction.kPlay);
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kPause); mock.getClient().didReceiveAction(MediaSessionAction.kPause);
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kPreviousTrack); mock.getClient().didReceiveAction(MediaSessionAction.kPreviousTrack);
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kNextTrack); mock.getClient().didReceiveAction(MediaSessionAction.kNextTrack);
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kSeekBackward); mock.getClient().didReceiveAction(MediaSessionAction.kSeekBackward);
mock.getClient().didReceiveAction(mediaSession.mojom.MediaSessionAction.kSeekForward); mock.getClient().didReceiveAction(MediaSessionAction.kSeekForward);
} }
// Use async_test to do asynchronous setup since setup() only works for // Use async_test to do asynchronous setup since setup() only works for
// synchronous setup. // synchronous setup.
async_test(function(t) { async_test(function(t) {
mock = mediaSessionServiceMock; mock = new MediaSessionServiceMock();
mock.setClientCallback(t.step_func(runTests.bind(null, t))); mock.setClientCallback(t.step_func(runTests.bind(null, t)));
// Touch window.navigator.mediaSession to start the service. // Touch window.navigator.mediaSession to start the service.
window.navigator.mediaSession.metadata = null; window.navigator.mediaSession.metadata = null;
......
...@@ -2,23 +2,16 @@ ...@@ -2,23 +2,16 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/gen/mojo/public/mojom/base/time.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="file:///gen/services/media_session/public/mojom/media_session.mojom.js"></script> import {MediaSessionAction} from '/gen/services/media_session/public/mojom/media_session.mojom.m.js';
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script>
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
async_test((t) => { async_test((t) => {
const mediaSessionServiceMock = new MediaSessionServiceMock();
mediaSessionServiceMock.setClientCallback(t.step_func(() => { mediaSessionServiceMock.setClientCallback(t.step_func(() => {
mediaSessionServiceMock.getClient().didReceiveAction( mediaSessionServiceMock.getClient().didReceiveAction(
mediaSession.mojom.MediaSessionAction.kSeekTo, MediaSessionAction.kSeekTo,
new blink.mojom.MediaSessionActionDetails({ {seekTo: {seekTime: {microseconds: 10000000}, fastSeek: true}});
seekTo: new blink.mojom.MediaSessionSeekToDetails({
seekTime: new mojoBase.mojom.TimeDelta({microseconds: 10000000}),
fastSeek: true
})
}));
})); }));
window.navigator.mediaSession.setActionHandler("seekto", t.step_func_done((e) => { window.navigator.mediaSession.setActionHandler("seekto", t.step_func_done((e) => {
......
...@@ -2,12 +2,9 @@ ...@@ -2,12 +2,9 @@
<title>Test that setting MediaSession event handler should notify the service</title> <title>Test that setting MediaSession event handler should notify the service</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/services/media_session/public/mojom/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionAction} from '/gen/services/media_session/public/mojom/media_session.mojom.m.js';
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
var expectations; var expectations;
...@@ -17,34 +14,34 @@ var nextExpectation = 0; ...@@ -17,34 +14,34 @@ var nextExpectation = 0;
function getExpectations() { function getExpectations() {
if (!expectations) { if (!expectations) {
expectations = [ expectations = [
[ mediaSession.mojom.MediaSessionAction.kPlay, true ], [ MediaSessionAction.kPlay, true ],
[ mediaSession.mojom.MediaSessionAction.kPause, true ], [ MediaSessionAction.kPause, true ],
[ mediaSession.mojom.MediaSessionAction.kPreviousTrack, true ], [ MediaSessionAction.kPreviousTrack, true ],
[ mediaSession.mojom.MediaSessionAction.kNextTrack, true ], [ MediaSessionAction.kNextTrack, true ],
[ mediaSession.mojom.MediaSessionAction.kSeekBackward, true ], [ MediaSessionAction.kSeekBackward, true ],
[ mediaSession.mojom.MediaSessionAction.kSeekForward, true ], [ MediaSessionAction.kSeekForward, true ],
[ mediaSession.mojom.MediaSessionAction.kSeekTo, true ], [ MediaSessionAction.kSeekTo, true ],
[ mediaSession.mojom.MediaSessionAction.kPlay, false ], [ MediaSessionAction.kPlay, false ],
[ mediaSession.mojom.MediaSessionAction.kPause, false ], [ MediaSessionAction.kPause, false ],
[ mediaSession.mojom.MediaSessionAction.kPreviousTrack, false ], [ MediaSessionAction.kPreviousTrack, false ],
[ mediaSession.mojom.MediaSessionAction.kNextTrack, false ], [ MediaSessionAction.kNextTrack, false ],
[ mediaSession.mojom.MediaSessionAction.kSeekBackward, false ], [ MediaSessionAction.kSeekBackward, false ],
[ mediaSession.mojom.MediaSessionAction.kSeekForward, false ], [ MediaSessionAction.kSeekForward, false ],
[ mediaSession.mojom.MediaSessionAction.kSeekTo, false ], [ MediaSessionAction.kSeekTo, false ],
[ mediaSession.mojom.MediaSessionAction.kPlay, true ], [ MediaSessionAction.kPlay, true ],
[ mediaSession.mojom.MediaSessionAction.kPause, true ], [ MediaSessionAction.kPause, true ],
[ mediaSession.mojom.MediaSessionAction.kPreviousTrack, true ], [ MediaSessionAction.kPreviousTrack, true ],
[ mediaSession.mojom.MediaSessionAction.kNextTrack, true ], [ MediaSessionAction.kNextTrack, true ],
[ mediaSession.mojom.MediaSessionAction.kSeekBackward, true ], [ MediaSessionAction.kSeekBackward, true ],
[ mediaSession.mojom.MediaSessionAction.kSeekForward, true ], [ MediaSessionAction.kSeekForward, true ],
[ mediaSession.mojom.MediaSessionAction.kSeekTo, true ], [ MediaSessionAction.kSeekTo, true ],
]; ];
} }
return expectations; return expectations;
} }
async_test(function(t) { async_test(function(t) {
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) { m.setEnableDisableActionCallback(t.step_func(function(action, isEnabled) {
var expectedAction = getExpectations()[nextExpectation][0]; var expectedAction = getExpectations()[nextExpectation][0];
var expectedIsEnabled = getExpectations()[nextExpectation][1]; var expectedIsEnabled = getExpectations()[nextExpectation][1];
......
...@@ -2,11 +2,9 @@ ...@@ -2,11 +2,9 @@
<title>MediaMetadata Mojo Test</title> <title>MediaMetadata Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script> import {assert_metadata_equals} from './resources/utils.js';
<script src="resources/utils.js"></script>
<script>
async_test(t => { async_test(t => {
// The following are expected results. // The following are expected results.
...@@ -39,7 +37,7 @@ async_test(t => { ...@@ -39,7 +37,7 @@ async_test(t => {
]; ];
var resultId = 0; var resultId = 0;
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
m.setMetadataCallback(t.step_func(receivedMetadata => { m.setMetadataCallback(t.step_func(receivedMetadata => {
assert_metadata_equals(receivedMetadata, results[resultId]); assert_metadata_equals(receivedMetadata, results[resultId]);
++resultId; ++resultId;
......
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script> import {assert_metadata_equals} from './resources/utils.js';
<script src="resources/utils.js"></script>
<script>
async_test(function(t) { async_test(function(t) {
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
var dontCareMetadata = new MediaMetadata({}); var dontCareMetadata = new MediaMetadata({});
m.setMetadataCallback(t.step_func(function() { m.setMetadataCallback(t.step_func(function() {
......
...@@ -2,14 +2,12 @@ ...@@ -2,14 +2,12 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script> import {assert_metadata_equals} from './resources/utils.js';
<script src="resources/utils.js"></script>
<script>
async_test(function(t) { async_test(function(t) {
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
var metadata = new MediaMetadata({ var metadata = new MediaMetadata({
title: "title1", title: "title1",
artist: "artist1", artist: "artist1",
......
...@@ -2,11 +2,9 @@ ...@@ -2,11 +2,9 @@
<title>MediaMetadata / MediaSession link Mojo Test</title> <title>MediaMetadata / MediaSession link Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script> import {assert_metadata_equals} from './resources/utils.js';
<script src="resources/utils.js"></script>
<script>
async_test(t => { async_test(t => {
// The following are expected results. // The following are expected results.
...@@ -24,7 +22,7 @@ async_test(t => { ...@@ -24,7 +22,7 @@ async_test(t => {
]; ];
var resultId = 0; var resultId = 0;
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
m.setMetadataCallback(t.step_func(receivedMetadata => { m.setMetadataCallback(t.step_func(receivedMetadata => {
assert_metadata_equals(receivedMetadata, results[resultId]); assert_metadata_equals(receivedMetadata, results[resultId]);
++resultId; ++resultId;
......
...@@ -2,11 +2,10 @@ ...@@ -2,11 +2,10 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script> import {MediaSessionPlaybackState} from '/gen/third_party/blink/public/mojom/mediasession/media_session.mojom.m.js';
<script>
var inputStates = ["none", "paused", "playing", "invalid", "none"]; var inputStates = ["none", "paused", "playing", "invalid", "none"];
var expectations; var expectations;
...@@ -26,7 +25,7 @@ function getExpectations() { ...@@ -26,7 +25,7 @@ function getExpectations() {
} }
async_test(function(t) { async_test(function(t) {
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
m.setPlaybackStateCallback(t.step_func(function(state) { m.setPlaybackStateCallback(t.step_func(function(state) {
assert_equals(state, getExpectations()[nextExpectation++]); assert_equals(state, getExpectations()[nextExpectation++]);
if (nextExpectation == getExpectations().length) if (nextExpectation == getExpectations().length)
......
...@@ -2,11 +2,9 @@ ...@@ -2,11 +2,9 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
const inputPositions = [ const inputPositions = [
{ duration: 10 }, { duration: 10 },
{ duration: 10, playbackRate: 2.0, position: 5 }, { duration: 10, playbackRate: 2.0, position: 5 },
...@@ -20,14 +18,14 @@ const expectations = [ ...@@ -20,14 +18,14 @@ const expectations = [
]; ];
function toSecs(timeDelta) { function toSecs(timeDelta) {
return timeDelta.microseconds / 1000000; return Number(timeDelta.microseconds / 1000000n);
} }
async_test((t) => { async_test((t) => {
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
let nextExpectation = 0; let nextExpectation = 0;
mediaSessionServiceMock.setPositionStateCallback(t.step_func((position) => { m.setPositionStateCallback(t.step_func((position) => {
const expectation = expectations[nextExpectation++]; const expectation = expectations[nextExpectation++];
if (expectation === null) { if (expectation === null) {
......
/* /*
* mediasessionservice-mock contains a mock implementation of MediaSessionService. * mediasessionservice-mock contains a mock implementation of
* MediaSessionService.
*/ */
"use strict"; import {MediaSessionService, MediaSessionServiceReceiver} from '/gen/third_party/blink/public/mojom/mediasession/media_session.mojom.m.js';
function mojoString16ToJS(mojoString16) { function mojoString16ToJS(mojoString16) {
return String.fromCharCode.apply(null, mojoString16.data); return String.fromCharCode.apply(null, mojoString16.data);
...@@ -11,15 +12,15 @@ function mojoString16ToJS(mojoString16) { ...@@ -11,15 +12,15 @@ function mojoString16ToJS(mojoString16) {
function mojoImageToJS(mojoImage) { function mojoImageToJS(mojoImage) {
var src = mojoImage.src.url; var src = mojoImage.src.url;
var type = mojoString16ToJS(mojoImage.type); var type = mojoString16ToJS(mojoImage.type);
var sizes = ""; var sizes = '';
for (var i = 0; i < mojoImage.sizes.length; i++) { for (var i = 0; i < mojoImage.sizes.length; i++) {
if (i > 0) if (i > 0)
sizes += " "; sizes += ' ';
var mojoSize = mojoImage.sizes[i]; var mojoSize = mojoImage.sizes[i];
sizes += mojoSize.width.toString() + "x" + mojoSize.height.toString(); sizes += mojoSize.width.toString() + 'x' + mojoSize.height.toString();
} }
return { src: src, type: type, sizes: sizes }; return {src, type, sizes};
} }
function mojoMetadataToJS(mojoMetadata) { function mojoMetadataToJS(mojoMetadata) {
...@@ -33,22 +34,18 @@ function mojoMetadataToJS(mojoMetadata) { ...@@ -33,22 +34,18 @@ function mojoMetadataToJS(mojoMetadata) {
for (var i = 0; i < mojoMetadata.artwork.length; i++) for (var i = 0; i < mojoMetadata.artwork.length; i++)
artwork.push(mojoImageToJS(mojoMetadata.artwork[i])); artwork.push(mojoImageToJS(mojoMetadata.artwork[i]));
return new MediaMetadata({title: title, artist: artist, album: album, artwork: artwork}); return new MediaMetadata({title, artist, album, artwork});
} }
var MediaSessionAction = blink.mojom.MediaSessionAction; export class MediaSessionServiceMock {
var MediaSessionPlaybackState = blink.mojom.MediaSessionPlaybackState;
class MediaSessionServiceMock {
constructor() { constructor() {
this.pendingResponse_ = null; this.pendingResponse_ = null;
this.bindingSet_ = new mojo.BindingSet( this.receiver_ = new MediaSessionServiceReceiver(this);
blink.mojom.MediaSessionService);
this.interceptor_ = this.interceptor_ =
new MojoInterfaceInterceptor(blink.mojom.MediaSessionService.name); new MojoInterfaceInterceptor(MediaSessionService.$interfaceName);
this.interceptor_.oninterfacerequest = this.interceptor_.oninterfacerequest = e =>
e => this.bindingSet_.addBinding(this, e.handle); this.receiver_.$.bindHandle(e.handle);
this.interceptor_.start(); this.interceptor_.start();
} }
...@@ -107,5 +104,3 @@ class MediaSessionServiceMock { ...@@ -107,5 +104,3 @@ class MediaSessionServiceMock {
return this.client_; return this.client_;
} }
} }
let mediaSessionServiceMock = new MediaSessionServiceMock();
...@@ -4,12 +4,13 @@ function assert_image_equals(expected, observed) { ...@@ -4,12 +4,13 @@ function assert_image_equals(expected, observed) {
assert_equals(expected.sizes, observed.sizes); assert_equals(expected.sizes, observed.sizes);
} }
function assert_metadata_equals(expected, observed) { export function assert_metadata_equals(expected, observed) {
assert_equals(expected.title, observed.title, 'metadata.title'); assert_equals(expected.title, observed.title, 'metadata.title');
assert_equals(expected.artist, observed.artist, 'metadata.artist'); assert_equals(expected.artist, observed.artist, 'metadata.artist');
assert_equals(expected.album, observed.album, 'metadata.album'); assert_equals(expected.album, observed.album, 'metadata.album');
assert_equals(expected.artwork.length, observed.artwork.length, assert_equals(
'metadata.artwork.length'); expected.artwork.length, observed.artwork.length,
'metadata.artwork.length');
for (var i = 0; i < expected.artwork.length; i++) for (var i = 0; i < expected.artwork.length; i++)
assert_image_equals(expected.artwork[i], observed.artwork[i]); assert_image_equals(expected.artwork[i], observed.artwork[i]);
} }
...@@ -2,14 +2,11 @@ ...@@ -2,14 +2,11 @@
<title>MediaSession Mojo Test</title> <title>MediaSession Mojo Test</title>
<script src="../../../resources/testharness.js"></script> <script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script> <script src="../../../resources/testharnessreport.js"></script>
<script src="file:///gen/layout_test_data/mojo/public/js/mojo_bindings.js"></script> <script type="module">
<script src="file:///gen/third_party/blink/public/mojom/mediasession/media_session.mojom.js"></script> import {MediaSessionServiceMock} from './resources/mediasessionservice-mock.js';
<script src="resources/mediasessionservice-mock.js"></script>
<script src="resources/utils.js"></script>
<script>
async_test(function(t) { async_test(function(t) {
let m = mediaSessionServiceMock; const m = new MediaSessionServiceMock();
m.setMetadataCallback(t.step_func(function(receivedMetadata) { m.setMetadataCallback(t.step_func(function(receivedMetadata) {
assert_equals(receivedMetadata, null); assert_equals(receivedMetadata, null);
t.done(); t.done();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment