91 lines
2.8 KiB
HTML
91 lines
2.8 KiB
HTML
<!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>
|