OLD | NEW |
1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> | 1 <script src="../../resources/testharness.js"></script> |
2 <html> | 2 <script src="../../resources/testharnessreport.js"></script> |
3 <head> | 3 |
4 <script src="../../resources/js-test.js"></script> | 4 <script> |
5 </head> | 5 // Test rgba() color parsing results. |
6 <body> | 6 |
7 <script src="script-tests/rgba-parsing.js"></script> | 7 var ctx = document.createElement('canvas').getContext('2d'); |
| 8 |
| 9 function parseRGBAString(rgbaString, expectedColor) { |
| 10 ctx.globalCompositeOperation = 'copy'; |
| 11 ctx.fillStyle = '#666'; |
| 12 ctx.fillStyle = rgbaString; |
| 13 ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height); |
| 14 var data = ctx.getImageData(0, 0, 1, 1).data; |
| 15 assert_array_equals(expectedColor, data); |
| 16 } |
| 17 |
| 18 var testScenarios = [ |
| 19 » ['Test Case 1', 'rgba(0.9.9%, 0%, 0%, 1)', [102, 102, 102, 255]], |
| 20 » ['Test Case 2', 'rgba(0, 0.., 0, 1)', [102, 102, 102, 255]], |
| 21 » ['Test Case 3', 'rgba(10%, .%, 0%, 1)', [102, 102, 102, 255]], |
| 22 » ['Test Case 4', 'rgba(13.37%1337%, 5%, 50.0%, 1)', [102, 102, 102, 255]]
, |
| 23 » ['Test Case 5', 'rgba(%, 50%, 50.0%, 1)', [102, 102, 102, 255]], |
| 24 » ['Test Case 6', 'rgba(50.0%, 50%, a%, 1)', [102, 102, 102, 255]], |
| 25 » ['Test Case 7', 'rgba(500%, 0%, 0%, 1)', [255, 0, 0, 255]], |
| 26 » ['Test Case 8', 'rgba(100%, 100%, 100%, 1)', [255, 255, 255, 255]], |
| 27 » ['Test Case 9', 'rgba(10.5%, 80%, 70%, 1)', [26, 204, 179, 255]], |
| 28 » ['Test Case 10', 'rgba(0%, 0%, 0%, 1)', [0, 0, 0, 255]], |
| 29 » ['Test Case 11', 'rgba(50.0%, 50.0%, 50.0%, 1)', [128, 128, 128, 255]], |
| 30 » ['Test Case 12', 'rgba(100%, 100%, 100%, 1)', [255, 255, 255, 255]], |
| 31 » ['Test Case 13', 'rgba(10.5%, 80%, 70%, 1)', [26, 204, 179, 255]], |
| 32 » ['Test Case 14', 'rgba(55.5%, 0.5%, 110%, 1)', [142, 1, 255, 255]], |
| 33 » ['Test Case 15', 'rgba(60.59998%, 0.59999%, 110.12345%, 1)', [155, 1, 25
5, 255]], |
| 34 » ['Test Case 16', 'rgba(10.999%, 0.999%, 0.000009%, 1)', [28, 2, 0, 255]]
, |
| 35 » ['Test Case 17', 'rgba(79.99999%, 99.99999%, 500%, 1)', [204, 255, 255,
255]], |
| 36 » ['Test Case 18', 'rgba(0, 0, 0, -0.10)', [0, 0, 0, 0]], |
| 37 » ['Test Case 19', 'rgba(0, 0, 0, -5.0)', [0, 0, 0, 0]], |
| 38 » ['Test Case 20', 'rgba(0, 0, 0, 5.0)', [0, 0, 0, 255]], |
| 39 » ['Test Case 21', 'rgba(0, 0, 0, -1)', [0, 0, 0, 0]], |
| 40 » ['Test Case 22', 'rgba(0, 0, 0, 0)', [0, 0, 0, 0]], |
| 41 » ['Test Case 23', 'rgba(0, 0, 0, 2)', [0, 0, 0, 255]], |
| 42 » ['Test Case 24', 'rgba(0, 0, 0, 2.0)', [0, 0, 0, 255]], |
| 43 » ['Test Case 25', 'rgba(0, 0, 0, 0.0)', [0, 0, 0, 0]], |
| 44 » ['Test Case 26', 'rgba(0, 0, 0, 00.0)', [0, 0, 0, 0]], |
| 45 » ['Test Case 27', 'rgba(0, 0, 0, 0.00)', [0, 0, 0, 0]], |
| 46 » ['Test Case 28', 'rgba(0, 0, 0, .1)', [0, 0, 0, 26]], |
| 47 » ['Test Case 29', 'rgba(0, 0, 0, .2)', [0, 0, 0, 51]], |
| 48 » ['Test Case 30', 'rgba(0, 0, 0, .3)', [0, 0, 0, 77]], |
| 49 » ['Test Case 31', 'rgba(0, 0, 0, .4)', [0, 0, 0, 102]], |
| 50 » ['Test Case 32', 'rgba(0, 0, 0, .5)', [0, 0, 0, 128]], |
| 51 » ['Test Case 33', 'rgba(0, 0, 0, .6)', [0, 0, 0, 153]], |
| 52 » ['Test Case 34', 'rgba(0, 0, 0, .7)', [0, 0, 0, 179]], |
| 53 » ['Test Case 35', 'rgba(0, 0, 0, .8)', [0, 0, 0, 204]], |
| 54 » ['Test Case 36', 'rgba(0, 0, 0, .9)', [0, 0, 0, 230]], |
| 55 » ['Test Case 37', 'rgba(0, 0, 0, 0.1)', [0, 0, 0, 26]], |
| 56 » ['Test Case 38', 'rgba(0, 0, 0, 0.2)', [0, 0, 0, 51]], |
| 57 » ['Test Case 39', 'rgba(0, 0, 0, 0.3)', [0, 0, 0, 77]], |
| 58 » ['Test Case 40', 'rgba(0, 0, 0, 0.4)', [0, 0, 0, 102]], |
| 59 » ['Test Case 41', 'rgba(0, 0, 0, 0.5)', [0, 0, 0, 128]], |
| 60 » ['Test Case 42', 'rgba(0, 0, 0, 0.6)', [0, 0, 0, 153]], |
| 61 » ['Test Case 43', 'rgba(0, 0, 0, 0.7)', [0, 0, 0, 179]], |
| 62 » ['Test Case 44', 'rgba(0, 0, 0, 0.8)', [0, 0, 0, 204]], |
| 63 » ['Test Case 45', 'rgba(0, 0, 0, 0.9)', [0, 0, 0, 230]], |
| 64 » ['Test Case 46', 'rgba(0, 0, 0, 1.0)', [0, 0, 0, 255]], |
| 65 » ['Test Case 47', 'rgba(0, 0, 0, 0.10)', [0, 0, 0, 26]], |
| 66 » ['Test Case 48', 'rgba(0, 0, 0, 0.20)', [0, 0, 0, 51]], |
| 67 » ['Test Case 49', 'rgba(0, 0, 0, 0.30)', [0, 0, 0, 77]], |
| 68 » ['Test Case 50', 'rgba(0, 0, 0, 0.40)', [0, 0, 0, 102]], |
| 69 » ['Test Case 51', 'rgba(0, 0, 0, 0.50)', [0, 0, 0, 128]], |
| 70 » ['Test Case 52', 'rgba(0, 0, 0, 0.60)', [0, 0, 0, 153]], |
| 71 » ['Test Case 53', 'rgba(0, 0, 0, 0.70)', [0, 0, 0, 179]], |
| 72 » ['Test Case 54', 'rgba(0, 0, 0, 0.80)', [0, 0, 0, 204]], |
| 73 » ['Test Case 55', 'rgba(0, 0, 0, 0.90)', [0, 0, 0, 230]], |
| 74 » ['Test Case 56', 'rgba(0, 0, 0, 1.00)', [0, 0, 0, 255]], |
| 75 » ['Test Case 57', 'rgba(0, 0, 0, .10)', [0, 0, 0, 26]], |
| 76 » ['Test Case 58', 'rgba(0, 0, 0, .20)', [0, 0, 0, 51]], |
| 77 » ['Test Case 59', 'rgba(0, 0, 0, .30)', [0, 0, 0, 77]], |
| 78 » ['Test Case 60', 'rgba(0, 0, 0, .40)', [0, 0, 0, 102]], |
| 79 » ['Test Case 61', 'rgba(0, 0, 0, .50)', [0, 0, 0, 128]], |
| 80 » ['Test Case 62', 'rgba(0, 0, 0, .60)', [0, 0, 0, 153]], |
| 81 » ['Test Case 63', 'rgba(0, 0, 0, .70)', [0, 0, 0, 179]], |
| 82 » ['Test Case 64', 'rgba(0, 0, 0, .80)', [0, 0, 0, 204]], |
| 83 » ['Test Case 65', 'rgba(0, 0, 0, .90)', [0, 0, 0, 230]], |
| 84 » ['Test Case 66', 'rgba(0, 0, 0, 0.10000000000000000000000)', [0, 0, 0, 2
6]], |
| 85 » ['Test Case 67', 'rgba(0, 0, 0, 0.20000000000000000000000)', [0, 0, 0, 5
1]], |
| 86 » ['Test Case 68', 'rgba(0, 0, 0, 0.30000000000000000000000)', [0, 0, 0, 7
7]], |
| 87 » ['Test Case 69', 'rgba(0, 0, 0, 0.40000000000000000000000)', [0, 0, 0, 1
02]], |
| 88 » ['Test Case 70', 'rgba(0, 0, 0, 0.50000000000000000000000)', [0, 0, 0, 1
28]], |
| 89 » ['Test Case 71', 'rgba(0, 0, 0, 0.60000000000000000000000)', [0, 0, 0, 1
53]], |
| 90 » ['Test Case 72', 'rgba(0, 0, 0, 0.70000000000000000000000)', [0, 0, 0, 1
79]], |
| 91 » ['Test Case 73', 'rgba(0, 0, 0, 0.80000000000000000000000)', [0, 0, 0, 2
04]], |
| 92 » ['Test Case 74', 'rgba(0, 0, 0, 0.90000000000000000000000)', [0, 0, 0, 2
30]], |
| 93 » ['Test Case 75', 'rgba(0, 0, 0, 1.00000000000000000000000)', [0, 0, 0, 2
55]], |
| 94 » ['Test Case 76', 'rgba(0, 0, 0, 0.990)', [0, 0, 0, 252]], |
| 95 » ['Test Case 77', 'rgba(0, 0, 0, 0.991)', [0, 0, 0, 253]], |
| 96 » ['Test Case 78', 'rgba(0, 0, 0, 0.992)', [0, 0, 0, 253]], |
| 97 » ['Test Case 79', 'rgba(0, 0, 0, 0.993)', [0, 0, 0, 253]], |
| 98 » ['Test Case 80', 'rgba(0, 0, 0, 0.994)', [0, 0, 0, 253]], |
| 99 » ['Test Case 81', 'rgba(0, 0, 0, 0.995)', [0, 0, 0, 254]], |
| 100 » ['Test Case 82', 'rgba(0, 0, 0, 0.996)', [0, 0, 0, 254]], |
| 101 » ['Test Case 83', 'rgba(0, 0, 0, 0.997)', [0, 0, 0, 254]], |
| 102 » ['Test Case 84', 'rgba(0, 0, 0, 0.998)', [0, 0, 0, 254]], |
| 103 » ['Test Case 85', 'rgba(0, 0, 0, 0.999)', [0, 0, 0, 255]], |
| 104 ]; |
| 105 |
| 106 generate_tests(parseRGBAString, testScenarios); |
| 107 |
| 108 </script> |
8 </body> | 109 </body> |
9 </html> | 110 </html> |
OLD | NEW |