mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
Beging implementing reftests
This commit is contained in:
@ -1,158 +1,145 @@
|
||||
describe("Gradients", function() {
|
||||
describe('Gradients', function() {
|
||||
var expected = [
|
||||
{
|
||||
method: "linear-gradient",
|
||||
args: [
|
||||
"left",
|
||||
" rgb(255, 0, 0)",
|
||||
" rgb(255, 255, 0)",
|
||||
" rgb(0, 255, 0)"
|
||||
]
|
||||
method: 'linear-gradient',
|
||||
args: ['left', ' rgb(255, 0, 0)', ' rgb(255, 255, 0)', ' rgb(0, 255, 0)']
|
||||
},
|
||||
{
|
||||
method: "linear-gradient",
|
||||
method: 'linear-gradient',
|
||||
args: ['left', ' red', ' rgb(255, 255, 0)', ' rgb(0, 255, 0)']
|
||||
},
|
||||
{
|
||||
method: 'linear-gradient',
|
||||
args: [
|
||||
"left",
|
||||
" red",
|
||||
" rgb(255, 255, 0)",
|
||||
" rgb(0, 255, 0)"
|
||||
'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) 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%"
|
||||
'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'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: 'linear-gradient',
|
||||
method: '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"
|
||||
'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))'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "gradient",
|
||||
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))"
|
||||
]
|
||||
},
|
||||
{
|
||||
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))",
|
||||
'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))"
|
||||
' to(rgba(0, 0, 0, 0))'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: 'linear-gradient',
|
||||
args: ['0deg', ' rgb(221, 221, 221)', ' rgb(221, 221, 221) 50%', ' transparent 50%']
|
||||
},
|
||||
{
|
||||
method: 'radial-gradient',
|
||||
args: [
|
||||
"0deg",
|
||||
" rgb(221, 221, 221)",
|
||||
" rgb(221, 221, 221) 50%",
|
||||
" transparent 50%"
|
||||
'75% 19%',
|
||||
' ellipse closest-side',
|
||||
' rgb(171, 171, 171)',
|
||||
' rgb(0, 0, 255) 33%',
|
||||
' rgb(153, 31, 31) 100%'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "radial-gradient",
|
||||
method: 'radial-gradient',
|
||||
args: [
|
||||
"75% 19%",
|
||||
" ellipse closest-side",
|
||||
" rgb(171, 171, 171)",
|
||||
" rgb(0, 0, 255) 33%",
|
||||
" rgb(153, 31, 31) 100%"
|
||||
'75% 19%',
|
||||
' ellipse closest-corner',
|
||||
' rgb(171, 171, 171)',
|
||||
' rgb(0, 0, 255) 33%',
|
||||
' rgb(153, 31, 31) 100%'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "radial-gradient",
|
||||
method: 'radial-gradient',
|
||||
args: [
|
||||
"75% 19%",
|
||||
" ellipse closest-corner",
|
||||
" rgb(171, 171, 171)",
|
||||
" rgb(0, 0, 255) 33%",
|
||||
" rgb(153, 31, 31) 100%"
|
||||
'75% 19%',
|
||||
' ellipse farthest-side',
|
||||
' rgb(171, 171, 171)',
|
||||
' rgb(0, 0, 255) 33%',
|
||||
' rgb(153, 31, 31) 100%'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "radial-gradient",
|
||||
method: 'radial-gradient',
|
||||
args: [
|
||||
"75% 19%",
|
||||
" ellipse farthest-side",
|
||||
" rgb(171, 171, 171)",
|
||||
" rgb(0, 0, 255) 33%",
|
||||
" rgb(153, 31, 31) 100%"
|
||||
'75% 19%',
|
||||
' ellipse farthest-corner',
|
||||
' rgb(171, 171, 171)',
|
||||
' rgb(0, 0, 255) 33%',
|
||||
' rgb(153, 31, 31) 100%'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "radial-gradient",
|
||||
method: 'radial-gradient',
|
||||
args: [
|
||||
"75% 19%",
|
||||
" ellipse farthest-corner",
|
||||
" rgb(171, 171, 171)",
|
||||
" rgb(0, 0, 255) 33%",
|
||||
" rgb(153, 31, 31) 100%"
|
||||
'75% 19%',
|
||||
' ellipse contain',
|
||||
' rgb(171, 171, 171)',
|
||||
' rgb(0, 0, 255) 33%',
|
||||
' rgb(153, 31, 31) 100%'
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "radial-gradient",
|
||||
method: 'radial-gradient',
|
||||
args: [
|
||||
"75% 19%",
|
||||
" ellipse contain",
|
||||
" rgb(171, 171, 171)",
|
||||
" rgb(0, 0, 255) 33%",
|
||||
" rgb(153, 31, 31) 100%"
|
||||
]
|
||||
},
|
||||
{
|
||||
method: "radial-gradient",
|
||||
args: [
|
||||
"75% 19%",
|
||||
" ellipse cover",
|
||||
" rgb(171, 171, 171)",
|
||||
" rgb(0, 0, 255) 33%",
|
||||
" rgb(153, 31, 31) 100%"
|
||||
'75% 19%',
|
||||
' ellipse cover',
|
||||
' rgb(171, 171, 171)',
|
||||
' rgb(0, 0, 255) 33%',
|
||||
' rgb(153, 31, 31) 100%'
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
[].slice.call(document.querySelectorAll('#backgroundGradients div'), 0).forEach(function(node, i) {
|
||||
var container = new html2canvas.NodeContainer(node, null);
|
||||
var value = container.css("backgroundImage");
|
||||
it(value, function() {
|
||||
var parsedBackground = html2canvas.utils.parseBackgrounds(value);
|
||||
if (parsedBackground[0].args[0] === "0% 50%") {
|
||||
parsedBackground[0].args[0] = 'left';
|
||||
}
|
||||
expect(parsedBackground[0].args).to.eql(expected[i].args);
|
||||
expect(parsedBackground[0].method).to.eql(expected[i].method);
|
||||
[].slice
|
||||
.call(document.querySelectorAll('#backgroundGradients div'), 0)
|
||||
.forEach(function(node, i) {
|
||||
var container = new html2canvas.NodeContainer(node, null);
|
||||
var value = container.css('backgroundImage');
|
||||
it(value, function() {
|
||||
var parsedBackground = html2canvas.utils.parseBackgrounds(value);
|
||||
if (parsedBackground[0].args[0] === '0% 50%') {
|
||||
parsedBackground[0].args[0] = 'left';
|
||||
}
|
||||
expect(parsedBackground[0].args).to.eql(expected[i].args);
|
||||
expect(parsedBackground[0].method).to.eql(expected[i].method);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user