html2canvas/tests/mocha/gradients.js

159 lines
4.7 KiB
JavaScript
Raw Normal View History

2014-10-15 21:28:26 +04:00
describe("Gradients", function() {
var expected = [
{
2014-02-15 02:30:28 +04:00
method: "linear-gradient",
args: [
"left",
" rgb(255, 0, 0)",
" rgb(255, 255, 0)",
" rgb(0, 255, 0)"
]
},
{
method: "linear-gradient",
args: [
"left",
" red",
" rgb(255, 255, 0)",
" rgb(0, 255, 0)"
]
},
{
2014-02-15 02:30:28 +04:00
method: 'linear-gradient',
args: [
"left",
" rgb(206, 219, 233) 0%",
" rgb(170, 197, 222) 17%",
" rgb(97, 153, 199) 50%",
" rgb(58, 132, 195) 51%",
" rgb(65, 154, 214) 59%",
" rgb(75, 184, 240) 71%",
" rgb(58, 139, 194) 84%",
" rgb(38, 85, 139) 100%"
]
},
{
method: 'linear-gradient',
args: [
"left",
" rgb(206, 219, 233) 0%",
" rgb(170, 197, 222) 17px",
" rgb(97, 153, 199) 50%",
" rgb(58, 132, 195) 51px",
" rgb(65, 154, 214) 59%",
" rgb(75, 184, 240) 71px",
" rgb(58, 139, 194) 84%",
" rgb(38, 85, 139) 100px"
]
},
{
2014-02-15 02:30:28 +04:00
method: "gradient",
args: [
"linear",
" 50% 0%",
" 50% 100%",
" from(rgb(240, 183, 161))",
" color-stop(0.5, rgb(140, 51, 16))",
" color-stop(0.51, rgb(117, 34, 1))",
" to(rgb(191, 110, 78))"
]
2012-03-10 02:37:45 +04:00
},
{
method: "gradient",
args: [
"linear",
" 50% 0%",
" 50% 100%",
" from(rgb(255, 0, 0))",
" color-stop(0.314159, green)",
" color-stop(0.51, rgb(0, 0, 255))",
// temporary workaround for Blink/WebKit bug: crbug.com/453414
//" to(rgba(0, 0, 0, 0.5))"
" to(rgba(0, 0, 0, 0))"
]
},
{
method: 'linear-gradient',
args: [
"0deg",
" rgb(221, 221, 221)",
" rgb(221, 221, 221) 50%",
" transparent 50%"
]
},
2012-03-10 02:37:45 +04:00
{
2014-02-15 02:30:28 +04:00
method: "radial-gradient",
args: [
"75% 19%",
" ellipse closest-side",
" rgb(171, 171, 171)",
" rgb(0, 0, 255) 33%",
" rgb(153, 31, 31) 100%"
2012-03-10 02:37:45 +04:00
]
},
{
2014-02-15 02:30:28 +04:00
method: "radial-gradient",
args: [
"75% 19%",
" ellipse closest-corner",
" rgb(171, 171, 171)",
" rgb(0, 0, 255) 33%",
" rgb(153, 31, 31) 100%"
2012-03-10 02:37:45 +04:00
]
},
{
2014-02-15 02:30:28 +04:00
method: "radial-gradient",
args: [
"75% 19%",
" ellipse farthest-side",
" rgb(171, 171, 171)",
" rgb(0, 0, 255) 33%",
" rgb(153, 31, 31) 100%"
2012-03-10 02:37:45 +04:00
]
},
{
2014-02-15 02:30:28 +04:00
method: "radial-gradient",
args: [
"75% 19%",
" ellipse farthest-corner",
" rgb(171, 171, 171)",
" rgb(0, 0, 255) 33%",
" rgb(153, 31, 31) 100%"
2012-03-10 02:37:45 +04:00
]
},
{
2014-02-15 02:30:28 +04:00
method: "radial-gradient",
args: [
"75% 19%",
" ellipse contain",
" rgb(171, 171, 171)",
" rgb(0, 0, 255) 33%",
" rgb(153, 31, 31) 100%"
2012-03-10 02:37:45 +04:00
]
},
{
2014-02-15 02:30:28 +04:00
method: "radial-gradient",
args: [
"75% 19%",
" ellipse cover",
" rgb(171, 171, 171)",
" rgb(0, 0, 255) 33%",
" rgb(153, 31, 31) 100%"
2012-03-10 02:37:45 +04:00
]
}
];
[].slice.call(document.querySelectorAll('#backgroundGradients div'), 0).forEach(function(node, i) {
2015-02-03 22:34:05 +03:00
var container = new html2canvas.NodeContainer(node, null);
2014-10-15 21:28:26 +04:00
var value = container.css("backgroundImage");
it(value, function() {
2015-02-03 22:34:05 +03:00
var parsedBackground = html2canvas.utils.parseBackgrounds(value);
if (parsedBackground[0].args[0] === "0% 50%") {
parsedBackground[0].args[0] = 'left';
}
2014-10-15 21:28:26 +04:00
expect(parsedBackground[0].args).to.eql(expected[i].args);
expect(parsedBackground[0].method).to.eql(expected[i].method);
});
});
2014-02-15 02:30:28 +04:00
});