render: expose WebGL as unavailable without backend
This commit is contained in:
1 parent
7618b3276a
commit
29d0bce3f5
2 files changed
+36
-45
No files matched your search
@@ -2794,6 +2794,36 @@ mod tests {
|
||||
assert_eq!(result, serde_json::json!([1, 1, true, ""]));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn unavailable_webgl_context_does_not_claim_success() {
|
||||
let mut rt = setup_runtime("<html><body><canvas></canvas></body></html>");
|
||||
let result = rt
|
||||
.evaluate(
|
||||
r#"
|
||||
(() => {
|
||||
const canvas = document.querySelector('canvas');
|
||||
const fallback = document.createElement('p');
|
||||
if (!canvas.getContext('webgl')) {
|
||||
fallback.textContent = 'static fallback';
|
||||
document.body.appendChild(fallback);
|
||||
}
|
||||
return [
|
||||
canvas.getContext('webgl'),
|
||||
canvas.getContext('webgl2'),
|
||||
canvas.getContext('experimental-webgl'),
|
||||
fallback.isConnected,
|
||||
fallback.textContent,
|
||||
];
|
||||
})()
|
||||
"#,
|
||||
)
|
||||
.unwrap();
|
||||
assert_eq!(
|
||||
result,
|
||||
serde_json::json!([null, null, null, true, "static fallback"])
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_script_execution() {
|
||||
let mut rt = setup_runtime("<ul><li>A</li><li>B</li></ul>");
|
||||
|
||||
Reference in new issue
Block a user