Mypal/devtools/client/shared/test/browser_flame-graph-utils-hash.js
2019-03-11 13:26:37 +03:00

25 lines
1.1 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Tests if (idle) nodes are added when necessary in the flame graph data.
const {FlameGraphUtils} = require("devtools/client/shared/widgets/FlameGraph");
add_task(function* () {
let hash1 = FlameGraphUtils._getStringHash("abc");
let hash2 = FlameGraphUtils._getStringHash("acb");
let hash3 = FlameGraphUtils._getStringHash(Array.from(Array(100000)).join("a"));
let hash4 = FlameGraphUtils._getStringHash(Array.from(Array(100000)).join("b"));
isnot(hash1, hash2, "The hashes should not be equal (1).");
isnot(hash2, hash3, "The hashes should not be equal (2).");
isnot(hash3, hash4, "The hashes should not be equal (3).");
ok(Number.isInteger(hash1), "The hashes should be integers, not Infinity or NaN (1).");
ok(Number.isInteger(hash2), "The hashes should be integers, not Infinity or NaN (2).");
ok(Number.isInteger(hash3), "The hashes should be integers, not Infinity or NaN (3).");
ok(Number.isInteger(hash4), "The hashes should be integers, not Infinity or NaN (4).");
});