44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
"use strict";
|
|
|
|
/**
|
|
* Test that repeatedly converting the same census report to a CensusTreeNode
|
|
* tree results in the same CensusTreeNode tree.
|
|
*/
|
|
|
|
function run_test() {
|
|
const BREAKDOWN = {
|
|
by: "filename",
|
|
then: {
|
|
by: "internalType",
|
|
then: { by: "count", count: true, bytes: true },
|
|
},
|
|
noFilename: {
|
|
by: "internalType",
|
|
then: { by: "count", count: true, bytes: true },
|
|
},
|
|
};
|
|
|
|
const REPORT = {
|
|
"http://example.com/app.js": {
|
|
JSScript: { count: 10, bytes: 100 },
|
|
},
|
|
"http://example.com/ads.js": {
|
|
"js::LazyScript": { count: 20, bytes: 200 },
|
|
},
|
|
"http://example.com/trackers.js": {
|
|
JSScript: { count: 30, bytes: 300 },
|
|
},
|
|
noFilename: {
|
|
"js::jit::JitCode": { count: 40, bytes: 400 },
|
|
},
|
|
};
|
|
|
|
const first = censusReportToCensusTreeNode(BREAKDOWN, REPORT);
|
|
const second = censusReportToCensusTreeNode(BREAKDOWN, REPORT);
|
|
const third = censusReportToCensusTreeNode(BREAKDOWN, REPORT);
|
|
|
|
assertStructurallyEquivalent(first, second);
|
|
assertStructurallyEquivalent(second, third);
|
|
}
|