diff options
Diffstat (limited to 'devtools/client/shared/test/browser_flame-graph-utils-hash.js')
-rw-r--r-- | devtools/client/shared/test/browser_flame-graph-utils-hash.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/devtools/client/shared/test/browser_flame-graph-utils-hash.js b/devtools/client/shared/test/browser_flame-graph-utils-hash.js new file mode 100644 index 0000000000..bcd26ffa04 --- /dev/null +++ b/devtools/client/shared/test/browser_flame-graph-utils-hash.js @@ -0,0 +1,42 @@ +/* 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(async function() { + const hash1 = FlameGraphUtils._getStringHash("abc"); + const hash2 = FlameGraphUtils._getStringHash("acb"); + const hash3 = FlameGraphUtils._getStringHash( + Array.from(Array(100000)).join("a") + ); + const 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)." + ); +}); |