/* 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").RuleTester; 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" ), ], });