Bug 1556854 - Enable ESLint for dom/media/test/ - Manually enable remaining rules. r=jya

This enables the following rules:

- consistent-return
- mozilla/use-default-preference-values
- mozilla/use-services
- no-array-constructor
- no-async-promise-executor
- no-redeclare
- no-nested-ternary
- no-self-assign
- no-new-object
- no-unsanitized/property

Differential Revision: https://phabricator.services.mozilla.com/D49798

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mark Banner 2019-10-24 10:51:10 +00:00
parent a33eda17f6
commit 4192e2f64f
24 changed files with 47 additions and 61 deletions

View File

@ -382,21 +382,5 @@ module.exports = {
"rules": {
"mozilla/prefer-boolean-length-check": "off",
}
}, {
"files": [
"dom/media/**",
],
"rules": {
"consistent-return": "off",
"mozilla/use-default-preference-values": "off",
"mozilla/use-services": "off",
"no-array-constructor": "off",
"no-async-promise-executor": "off",
"no-redeclare": "off",
"no-nested-ternary": "off",
"no-self-assign": "off",
"no-new-object": "off",
"no-unsanitized/property": "off",
}
}]
};

View File

@ -24,18 +24,16 @@ function check_ogg(v, enabled, finish) {
// Verify Opus support
function verify_opus_support() {
return new Promise(function(resolve, reject) {
var OpusEnabled = undefined;
try {
OpusEnabled = SpecialPowers.getBoolPref("media.opus.enabled");
} catch (ex) {
// SpecialPowers failed, perhaps because Opus isn't compiled in
console.log(
"media.opus.enabled pref not found; skipping Opus validation"
);
}
var OpusEnabled = SpecialPowers.getBoolPref(
"media.opus.enabled",
undefined
);
if (OpusEnabled != undefined) {
resolve();
} else {
console.log(
"media.opus.enabled pref not found; skipping Opus validation"
);
reject();
}
});

View File

@ -8,6 +8,7 @@
"use strict";
// eslint-disable-next-line mozilla/use-services
const dirSvc = Cc["@mozilla.org/file/directory_service;1"].getService(
Ci.nsIProperties
);

View File

@ -36,7 +36,7 @@
let x = eventNames.map(
(eventName) => {
return new Promise(async function (resolve, reject) {
return new Promise(function (resolve, reject) {
window.addEventListener(eventName, async function (event) {
let p = await element.play().then(() => true, () => false);
ok(p, "Expect to be activated already in " + eventName);

View File

@ -1981,6 +1981,7 @@ function TimeStamp(token) {
"." +
ms +
"]" +
// eslint-disable-next-line no-nested-ternary
(ms < 10 ? " " : ms < 100 ? " " : "");
return token ? time + " " + token : time;
}

View File

@ -19,6 +19,7 @@ var config = {
var levels = player.getAvailableQualityLevels();
if (levels.length) {
var q =
// eslint-disable-next-line no-nested-ternary
HD && levels[0]
? levels[0]
: LQ && levels[levels.length - 2]

View File

@ -14,7 +14,7 @@ function createTestArray() {
continue;
}
var t = new Object();
var t = {};
t.name = test.name;
t.type = test.type;
t.duration = test.duration;

View File

@ -41,8 +41,10 @@ function receiveMessage(event)
return;
}
if (event.data.done == "true")
return done();
if (event.data.done == "true") {
done();
return;
}
ok(event.data.result, event.data.message);
}

View File

@ -102,7 +102,7 @@ function createAudioParams(nodeType) {
return [ac.createStereoPanner().pan];
default:
ok(false, `non-defined node type ${nodeType}.`);
return [];
}
}

View File

@ -131,11 +131,7 @@ function IsLinux() {
}
function getPref(name) {
var pref = false;
try {
pref = SpecialPowers.getBoolPref(name);
} catch(ex) { }
return pref;
return SpecialPowers.getBoolPref(name, false);
}
function IsSupportedAndroid() {

View File

@ -24,9 +24,9 @@ function e(id) {
return document.getElementById(id);
}
var gLoadError = new Object();
var gLoadError = {};
gLoadError.video1 = 0;
gLoadError.video1 = 0;
gLoadError.video2 = 0;
gLoadError.video3 = 0;

View File

@ -10,6 +10,7 @@
<body>
<pre id="test">
<script class="testbody" type="text/javascript">
/* import-globals-from eme.js */
var manager = new MediaTestManager;
function DoSetMediaKeys(v, test, token)

View File

@ -48,7 +48,7 @@ function KeysChangeFunc(session, keys, token) {
is(map.get(absentKey), undefined, "Unknown keys should undefined status");
// Verify known keys have expected status.
for (var [key, val] of map.entries()) {
for (let [key, val] of map.entries()) {
is(key.constructor, ArrayBuffer, "keyId should be ArrayBuffer");
ok(map.has(key), "MediaKeyStatusMap.has() should work.");
is(map.get(key), val, "MediaKeyStatusMap.get() should work.");
@ -66,7 +66,7 @@ function KeysChangeFunc(session, keys, token) {
index++;
}
index = 0;
for (var val of map.values()) {
for (let val of map.values()) {
is(val, valueList[index], "MediaKeyStatusMap.values() should correspond to entries");
index++;
}
@ -143,7 +143,7 @@ function startTest(test, token)
ok(session.gotKeysChanged,
TimeStamp(token) + " session[" + session.sessionId
+ "] should have received at least one keychange event");
for (var kid in session.keyIdsReceived) {
for (let kid in session.keyIdsReceived) {
Log(token, "session[" + session.sessionId + "] key " + kid + " = " + (session.keyIdsReceived[kid] ? "true" : "false"));
if (session.keyIdsReceived[kid]) { keyIdsReceived[kid] = true; }
}
@ -155,7 +155,7 @@ function startTest(test, token)
is(session.numMessageEvents, session.numOnMessageEvents,
TimeStamp(token) + " should have as many message event listener calls as event handler calls.");
}
for (var kid in keyIdsReceived) {
for (let kid in keyIdsReceived) {
ok(keyIdsReceived[kid], TimeStamp(token) + " key with id " + kid + " was usable as expected");
}

View File

@ -85,7 +85,7 @@ function createTestArray() {
for (var fragNum=0; fragNum<gFragmentParams.length; fragNum++) {
var p = gFragmentParams[fragNum];
var t = new Object;
var t = {};
t.name = test.name + p.fragment;
t.type = test.type;
t.duration = test.duration;

View File

@ -44,7 +44,7 @@ function createTestArray() {
for (var fragNum=0; fragNum<gFragmentParams.length; fragNum++) {
var p = gFragmentParams[fragNum];
var t = new Object;
var t = {};
t.name = test.name + p.fragment;
t.type = test.type;
t.duration = test.duration;

View File

@ -13,7 +13,7 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=478957
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=478957">Mozilla Bug 478957</a>
<p id="display"></p>
<div id="content" style="display: none">
</div>
<div id="log" style="font-size: small;"></div>
@ -42,7 +42,7 @@ function createTestArray() {
continue;
}
var t = new Object;
var t = {};
t.name = test.src;
t.type = test.type;
@ -55,6 +55,7 @@ function createTestArray() {
function log(msg) {
info(msg);
var l = document.getElementById('log');
// eslint-disable-next-line no-unsanitized/property
l.innerHTML += msg + "<br>";
}
@ -91,7 +92,7 @@ function listener(evt) {
// other events to come in. Note: we don't expect any events to come
// in, unless we've leaked some info, and 1 second should be enough time
// for the leak to show up.
setTimeout(function() {finish(v);}, 1000);
setTimeout(function() {finish(v);}, 1000);
}
}
@ -134,7 +135,7 @@ function filename(uri) {
}
function checkState(v) {
test_ok(v.networkState <= HTMLMediaElement.NETWORK_LOADING ||
test_ok(v.networkState <= HTMLMediaElement.NETWORK_LOADING ||
v.networkState == HTMLMediaElement.NETWORK_NO_SOURCE,
"NetworkState of " + v.networkState + " was leaked.");
test_ok(v.readyState == HTMLMediaElement.HAVE_NOTHING,
@ -159,7 +160,7 @@ function checkState(v) {
function startTest(test, token) {
manager.started(token);
log("Testing: " + test.type + " @ " + test.name);
createMedia(test.type, test.name, token);
createMedia(test.type, test.name, token);
}
SimpleTest.waitForExplicitFinish();

View File

@ -58,6 +58,7 @@ function startTest(test, token) {
}
html += '</table>\n';
var div = document.createElement('div');
// eslint-disable-next-line no-unsanitized/property
div.innerHTML = html;
d.appendChild(div);
// Verify decoded tag values.

View File

@ -56,14 +56,11 @@
let v = document.createElement("video");
const testCases = gSmallTests.filter(t => v.canPlayType(t.type));
function testMediaLoad(expectedToLoad, message, useCors) {
return new Promise(async function(resolve, reject) {
for (let test of testCases) {
let loaded = await testIfLoadsToMetadata(test, useCors);
is(loaded, expectedToLoad, test.name + " " + message);
}
resolve();
});
async function testMediaLoad(expectedToLoad, message, useCors) {
for (let test of testCases) {
let loaded = await testIfLoadsToMetadata(test, useCors);
is(loaded, expectedToLoad, test.name + " " + message);
}
}
async function runTest() {

View File

@ -202,7 +202,7 @@ function createTestArray() {
var A = [];
for (var i=0; i<tests.length; i++) {
for (var k=0; k<gPlayedTests.length; k++) {
var t = new Object();
var t = {};
t.setup = tests[i].setup;
t.name = tests[i].name + "-" + gPlayedTests[k].name;
t.type = gPlayedTests[k].type;

View File

@ -41,6 +41,7 @@ addLoadEvent(function() {gotLoadEvent=true;});
function log(m) {
var l = document.getElementById("log");
// eslint-disable-next-line no-unsanitized/property
l.innerHTML += m;
}

View File

@ -56,6 +56,7 @@ function onTimeUpdate_Video(e) {
ok(t.mozFrameDelay >= 0, t.name + ": mozFrameDelay should be positive or zero, is " + t.mozFrameDelay + ".");
if (t._firstTime) {
// eslint-disable-next-line no-self-assign
t.src = t.src;
t._firstTime = false;
} else {

View File

@ -39,7 +39,7 @@ setup(element) {
function createTestArray() {
var A = [];
for (var k=0; k < gProgressTests.length; k++) {
var t = new Object();
var t = {};
t.setup = tests[0].setup;
t.name = gProgressTests[k].name;
t.type = gProgressTests[k].type;

View File

@ -35,7 +35,8 @@ video.addEventListener("loadedmetadata", function run_tests() {
// Re-queue run_tests() at the end of the event loop until the track
// element has loaded its data.
if (trackElement.readyState == 1) {
return setTimeout(run_tests, 0);
setTimeout(run_tests, 0);
return;
}
is(trackElement.readyState, 2, "Track::ReadyState should be set to LOADED.");
ok('oncuechange' in trackElement.track, "Track::OnCueChange should exist.");

View File

@ -29,7 +29,8 @@ SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
video.addEventListener("loadedmetadata", function metadata() {
if (trackElement.readyState <= 1) {
return setTimeout(metadata, 0);
setTimeout(metadata, 0);
return;
}
is(video.textTracks.length, 1, "Length should be 1.");
is(video.textTracks[0].cues.length, 6, "Cue length should be 6.");
@ -50,4 +51,3 @@ SpecialPowers.pushPrefEnv({"set": [["media.webvtt.regions.enabled", true]]},
</pre>
</body>
</html>