| <!DOCTYPE html> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#comp-func"> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#numbers"> |
| <link rel="help" href="https://drafts.csswg.org/css-values-4/#calc-type-checking"> |
| <link rel="author" title="Apple Inc"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../support/parsing-testcommon.js"></script> |
| <script> |
| function test_invalid_number(value) { |
| test_invalid_value('opacity', value); |
| } |
| function test_invalid_length(value) { |
| // 'letter-spacing' accepts <length> only, not <percentage> or any mixes. |
| test_invalid_value('letter-spacing', value); |
| } |
| |
| // Syntax checking |
| test_invalid_number('hypot()'); |
| test_invalid_number('hypot( )'); |
| test_invalid_number('hypot(,)'); |
| test_invalid_number('hypot(1, )'); |
| test_invalid_number('hypot(, 1)'); |
| test_invalid_number('hypot(1 + )'); |
| test_invalid_number('hypot(1 - )'); |
| test_invalid_number('hypot(1 * )'); |
| test_invalid_number('hypot(1 / )'); |
| test_invalid_number('hypot(1 2)'); |
| test_invalid_number('hypot(1, , 2)'); |
| test_invalid_number('hypot(1, 2)'); |
| test_invalid_number('sqrt()'); |
| test_invalid_number('sqrt( )'); |
| test_invalid_number('sqrt(,)'); |
| test_invalid_number('sqrt(1, )'); |
| test_invalid_number('sqrt(, 1)'); |
| test_invalid_number('sqrt(1 + )'); |
| test_invalid_number('sqrt(1 - )'); |
| test_invalid_number('sqrt(1 * )'); |
| test_invalid_number('sqrt(1 / )'); |
| test_invalid_number('sqrt(1 2)'); |
| test_invalid_number('sqrt(1, , 2)'); |
| test_invalid_number('sqrt(1, 2)'); |
| test_invalid_number('pow( )'); |
| test_invalid_number('pow(,)'); |
| test_invalid_number('pow(1, )'); |
| test_invalid_number('pow(, 1)'); |
| test_invalid_number('pow(1 + )'); |
| test_invalid_number('pow(1 - )'); |
| test_invalid_number('pow(1 * )'); |
| test_invalid_number('pow(1 / )'); |
| test_invalid_number('pow(1 2)'); |
| test_invalid_number('pow(1, , 2)'); |
| test_invalid_number('pow(1, 2)'); |
| |
| // General tests |
| test_invalid_length('calc(1px * pow(1))'); |
| test_invalid_length('calc(1px * pow(2px, 3px))'); |
| test_invalid_length('calc(sqrt(100px)'); |
| test_invalid_length('hypot(2px, 40%)'); |
| test_invalid_length('hypot(2px, 3)'); |
| test_invalid_length('hypot(3, ,4)'); |
| test_invalid_length('calc(1px * pow(2 3))'); |
| test_invalid_length('hypot()'); |
| test_invalid_length('calc(pow(2))'); |
| test_invalid_length('pow())'); |
| test_invalid_length('calc(sqrt())'); |
| test_invalid_length('calc(sqrt(100, 200))'); |
| </script> |