blob: cdd86d5d3cc5fe576be4cf039b4b2a35bdb0226f [file] [log] [blame]
<!doctype html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function test()
{
let suite = InspectorTest.createAsyncSuite("LayerTreeManager");
suite.addTestCase({
name: "LayerTreeManager.layersForNode.root",
description: "Calling the LayerTreeManager#layersForNode method with the root node should return the full layer list.",
test(resolve, reject) {
WI.domManager.requestDocument((node) => {
WI.layerTreeManager.layersForNode(node, (layers) => {
InspectorTest.expectEqual(layers.length, 5, "Returned array should include all layers.");
InspectorTest.expectThat(layers.every((layer) => layer instanceof WI.Layer), "Array elements should be Layer instances.");
resolve();
});
});
}
});
suite.addTestCase({
name: "LayerTreeManager.layerTreeMutations.overlappingNodeIds",
description: "The LayerTreeManager#layerTreeMutations method should provide a diff purely based on layerIds, not based on nodeIds.",
test(resolve, reject) {
let previousLayers = [
{layerId: "1", nodeId: 1},
{layerId: "2", nodeId: 1, isGeneratedContent: true, pseudoElementId: "10"},
{layerId: "3", nodeId: 1, isReflection: true},
{layerId: "4", nodeId: 2}
];
let newLayers = [
{layerId: "4", nodeId: 2},
{layerId: "5", nodeId: 1},
{layerId: "6", nodeId: 3}
];
let {preserved, additions, removals} = WI.layerTreeManager.layerTreeMutations(previousLayers, newLayers);
InspectorTest.expectShallowEqual(preserved, previousLayers.slice(3), "Preserved layers should be correct.");
InspectorTest.expectShallowEqual(additions, newLayers.slice(1), "Added layers should be correct.");
InspectorTest.expectShallowEqual(removals, previousLayers.slice(0, 3), "Removed layers should be correct.");
resolve();
}
});
suite.runTestCasesAndFinish();
}
</script>
<style>
div {
position: absolute;
top: 0;
left: 0;
}
.regular {
width: 100px;
height: 100px;
background-color: black;
}
.composited {
top: 25px;
left: 25px;
width: 50px;
height: 50px;
background-color: blue;
-webkit-transform: translateZ(0);
}
.offset {
left: 200px;
-webkit-transform: translateZ(0);
}
</style>
</head>
<body onload="runTest()">
<p>Tests for LayerTreeManager.</p>
<div class="regular"></div>
<div class="composited">
<div class="composited"></div>
</div>
<div class="regular offset">
<div class="composited"></div>
</div>
</body>
</html>