summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/test_filter.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/test/test_filter.html')
-rw-r--r--dom/canvas/test/test_filter.html45
1 files changed, 45 insertions, 0 deletions
diff --git a/dom/canvas/test/test_filter.html b/dom/canvas/test/test_filter.html
new file mode 100644
index 0000000000..f4cac00a4b
--- /dev/null
+++ b/dom/canvas/test/test_filter.html
@@ -0,0 +1,45 @@
+<!DOCTYPE HTML>
+<script src="/tests/SimpleTest/SimpleTest.js"></script>
+<link rel="stylesheet" href="/tests/SimpleTest/test.css">
+<body>
+<script>
+
+SpecialPowers.pushPrefEnv({ 'set': [['canvas.filters.enabled', true]] }, function () {
+
+ var canvas = document.createElement('canvas');
+ var ctx = canvas.getContext('2d');
+
+ is(ctx.filter, 'none', 'filter should intialy be set to \'none\'');
+ ctx.filter = 'blur(5px)';
+ is(ctx.filter, 'blur(5px)', 'valid filter should round-trip');
+
+ ctx.save();
+ ctx.filter = 'none';
+ is(ctx.filter, 'none', 'none should unset the filter');
+ ctx.restore();
+ is(ctx.filter, 'blur(5px)', 'filter should be part of the state');
+
+ ctx.filter = 'blur(10)';
+ is(ctx.filter, 'blur(5px)', 'invalid filter should be ignored');
+ ctx.filter = 'blur 10px';
+ is(ctx.filter, 'blur(5px)', 'syntax error should be ignored');
+
+ ctx.filter = 'inherit';
+ is(ctx.filter, 'blur(5px)', 'inherit should be ignored');
+ ctx.filter = 'initial';
+ is(ctx.filter, 'blur(5px)', 'initial should be ignored');
+
+ ctx.filter = '';
+ is(ctx.filter, 'blur(5px)', 'empty string should be ignored and not unset the filter');
+ ctx.filter = null;
+ is(ctx.filter, 'blur(5px)', 'null should be ignored and not unset the filter');
+ ctx.filter = undefined;
+ is(ctx.filter, 'blur(5px)', 'undefined should be ignored and not unset the filter');
+
+ SimpleTest.finish();
+
+});
+
+SimpleTest.waitForExplicitFinish();
+
+</script>