Chromium Code Reviews| Index: LayoutTests/fast/canvas/script-tests/canvas-lineDash-input-sequence.js |
| diff --git a/LayoutTests/fast/canvas/script-tests/canvas-lineDash-input-sequence.js b/LayoutTests/fast/canvas/script-tests/canvas-lineDash-input-sequence.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..a18a5a0c88a76dc7952fa9f1d109875e838127ae |
| --- /dev/null |
| +++ b/LayoutTests/fast/canvas/script-tests/canvas-lineDash-input-sequence.js |
| @@ -0,0 +1,43 @@ |
| +description("Test that setLineDash converts input argument into a Web IDL sequence"); |
| + |
| +var canvas = document.createElement('canvas'); |
| +document.body.appendChild(canvas); |
| +canvas.setAttribute('width', '700'); |
| +canvas.setAttribute('height', '700'); |
| +var ctx = canvas.getContext('2d'); |
| + |
| +var arrayValues = [5, 15, 25]; |
| + |
| +function createTestArray(arrayType) { |
| + var array; |
| + if (arrayType == "Object") { |
| + // Test a "sequence" (Object with length property). |
| + array = new Object(); |
|
arv (Not doing code reviews)
2013/07/24 16:38:13
array = {length: arrayValues.length};
do-not-use
2013/07/25 08:01:26
OK.
|
| + array.length = arrayValues.length; |
| + } else { |
| + eval("array = new " + arrayType + "(" + arrayValues.length + ");"); |
|
arv (Not doing code reviews)
2013/07/24 16:38:13
No need for eval here
array = new window[arrayTyp
do-not-use
2013/07/25 08:01:26
Ok.
|
| + } |
| + |
| + for (var i = 0; i < arrayValues.length; ++i) |
| + array[i] = arrayValues[i] |
| + return array; |
| +} |
| + |
| +var lineDash; |
| +function checkLineDash(inputArray) { |
| + // Reset line dash. |
| + ctx.setLineDash([]); |
| + // Set line dash and validate that it worked. |
| + ctx.setLineDash(inputArray); |
| + lineDash = ctx.getLineDash(); |
| + for (var i = 0; i < arrayValues.length; ++i) |
| + shouldBe("lineDash[" + i + "]", "" + arrayValues[i]); |
| +} |
| + |
| +var arrayTypes = ["Array", "Int8Array", "Int16Array", "Int32Array", "Uint8Array", "Uint16Array", "Uint32Array", "Float32Array", "Float64Array", "Object"]; |
|
haraken
2013/07/24 15:59:30
Shall we also test Uint8ClampedArray?
arv (Not doing code reviews)
2013/07/24 16:38:13
Change this to pass the constructors instead of th
do-not-use
2013/07/25 08:01:26
Good idea.
do-not-use
2013/07/25 08:01:26
OK.
|
| + |
| +for (var i = 0; i < arrayTypes.length; ++i) { |
| + debug("* Test passing a " + arrayTypes[i] + " as input."); |
|
arv (Not doing code reviews)
2013/07/24 16:38:13
then do arrayType[i].name
do-not-use
2013/07/25 08:01:26
OK.
|
| + checkLineDash(createTestArray(arrayTypes[i])); |
| +} |
| + |