Files
tubestation/tools/lint/eslint/eslint-plugin-mozilla/tests/avoid-Date-timing.js
Andrew Halberstadt a26aba62a2 Bug 1380003 - Create avoid-Date-timing eslint rule, r=standard8
MozReview-Commit-ID: 6b6GtBUpZUZ
2017-07-11 12:34:20 -04:00

40 lines
1.2 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// ------------------------------------------------------------------------------
// Requirements
// ------------------------------------------------------------------------------
var rule = require("../lib/rules/avoid-Date-timing");
var RuleTester = require("eslint/lib/testers/rule-tester");
const ruleTester = new RuleTester({ parserOptions: { ecmaVersion: 6 } });
// ------------------------------------------------------------------------------
// Tests
// ------------------------------------------------------------------------------
function invalidCode(code, type, message) {
return {code, errors: [{message, type}]};
}
ruleTester.run("avoid-Date-timing", rule, {
valid: [
"new Date('2017-07-11');",
"new Date(1499790192440);",
"new Date(2017, 7, 11);",
"Date.UTC(2017, 7);"
],
invalid: [
invalidCode("Date.now();", "CallExpression",
"use performance.now() instead of Date.now() " +
"for timing measurements"),
invalidCode("new Date();", "NewExpression",
"use performance.now() instead of new Date() " +
"for timing measurements")
]
});