mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
47 lines
1.6 KiB
HTML
47 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
|
<meta charset="utf-8">
|
|
<title>CanvasRenderingContext2D imageSmoothingEnabled save/restore test</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<link rel="help" href="https://html.spec.whatwg.org/multipage/scripting.html#image-smoothing">
|
|
<script>
|
|
function createTestImage() {
|
|
var image = document.createElement('canvas');
|
|
var imgctx = image.getContext('2d');
|
|
imgctx.fillStyle = "#F00";
|
|
imgctx.fillRect(0, 0, 2, 2);
|
|
imgctx.fillStyle = "#0F0";
|
|
imgctx.fillRect(0, 0, 1, 1);
|
|
return image;
|
|
}
|
|
|
|
test(function() {
|
|
var ctx = document.createElement('canvas').getContext('2d');
|
|
ctx.save();
|
|
ctx.imageSmoothingEnabled = false;
|
|
ctx.restore();
|
|
assert_equals(ctx.imageSmoothingEnabled, true);
|
|
}, "Test that restore() undoes any modifications to imageSmoothingEnabled.");
|
|
|
|
test(function() {
|
|
var ctx = document.createElement('canvas').getContext('2d');
|
|
ctx.imageSmoothingEnabled = false;
|
|
var old = ctx.imageSmoothingEnabled;
|
|
ctx.save();
|
|
assert_equals(ctx.imageSmoothingEnabled, old);
|
|
ctx.restore();
|
|
}, "Test that save() doesn't modify the values of imageSmoothingEnabled.");
|
|
|
|
test(function() {
|
|
var ctx = document.createElement('canvas').getContext('2d');
|
|
ctx.imageSmoothingEnabled = false;
|
|
ctx.save();
|
|
ctx.imageSmoothingEnabled = true;
|
|
ctx.restore();
|
|
var image = createTestImage();
|
|
ctx.scale(10, 10);
|
|
ctx.drawImage(image, 0, 0);
|
|
var pixels = ctx.getImageData(0, 0, 1, 1).data;
|
|
assert_array_equals(pixels, [0, 255, 0, 255]);
|
|
}, "Test that restoring actually changes smoothing and not just the attribute value.");
|
|
</script>
|