| <!DOCTYPE html> |
| <html> |
| <head> |
| <link rel="help" href="https://drafts.csswg.org/css-env-1/"> |
| <title>Test env() syntax</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| div { background-color: rgb(0, 128, 0); } |
| </style> |
| </head> |
| <body> |
| <script> |
| // This value is expected if the syntax is valid. |
| const envWorkingValue = "rgba(0, 0, 0, 0)"; |
| |
| // This value is expected if the syntax is invalid. |
| const pageDefaultValue = "rgb(0, 128, 0)"; |
| |
| // This value is used to test fallback values. |
| const blueValue = "rgb(0, 0, 255)"; |
| |
| const testCases = [ |
| { style: "", expectedPropertyValue: pageDefaultValue }, |
| { style: "background-color: env(test)", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: ENV(test)", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test) !important", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test, 10px)", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test, blue)", expectedPropertyValue: blueValue }, |
| { style: "background-color: env(test, env(another))", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test, env(another, blue))", expectedPropertyValue: blueValue }, |
| { style: "background-color: env(-test)", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(--test)", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(10px)", expectedPropertyValue: pageDefaultValue }, |
| { style: "background-color: env(env(test))", expectedPropertyValue: pageDefaultValue }, |
| { style: "background-color: env( test)", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test )", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env( test )", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test /**/, blue)", expectedPropertyValue: blueValue }, |
| { style: "background-color: env(test, {})", expectedPropertyValue: envWorkingValue }, |
| { style: "background-color: env(test, {)", expectedPropertyValue: pageDefaultValue }, |
| ]; |
| |
| testCases.forEach((testcase) => { |
| test(() => { |
| const elem = document.createElement("div"); |
| const style = window.getComputedStyle(elem); |
| |
| document.body.appendChild(elem); |
| elem.style.cssText = testcase.style; |
| |
| assert_equals(style.getPropertyValue("background-color"), testcase.expectedPropertyValue); |
| }, testcase.style + " " + testcase.expectedPropertyValue); |
| }); |
| </script> |
| </body> |
| </html> |