mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-04-30 08:02:23 +00:00
Add failing immutable slice test
This commit is contained in:
parent
177ef22673
commit
1d0c2fee9e
@ -151,6 +151,11 @@ export function new_title() {
|
||||
return document.createElement("title");
|
||||
}
|
||||
|
||||
export function new_webgl_rendering_context() {
|
||||
const canvas = document.createElement('canvas');
|
||||
return canvas.getContext('webgl');
|
||||
}
|
||||
|
||||
export function new_xpath_result() {
|
||||
let xmlDoc = new DOMParser().parseFromString("<root><value>tomato</value></root>", "application/xml");
|
||||
let xpathResult = xmlDoc.evaluate("/root//value", xmlDoc, null, XPathResult.ANY_TYPE, null);
|
||||
|
26
crates/web-sys/tests/wasm/immutable_slices.rs
Normal file
26
crates/web-sys/tests/wasm/immutable_slices.rs
Normal file
@ -0,0 +1,26 @@
|
||||
//! When generating our web_sys APIs we default to setting slice references that
|
||||
//! get passed to JS as mutable in case they get mutated in JS.
|
||||
//!
|
||||
//! In certain cases we know for sure that the slice will not get mutated - for
|
||||
//! example when working with the WebGlRenderingContext APIs.
|
||||
//!
|
||||
//! These tests ensure that whitelisted methods do indeed accept mutable slices.
|
||||
//!
|
||||
//! @see https://github.com/rustwasm/wasm-bindgen/issues/1005
|
||||
|
||||
use wasm_bindgen::prelude::*;
|
||||
use wasm_bindgen_test::*;
|
||||
use web_sys::WebGlRenderingContext;
|
||||
|
||||
#[wasm_bindgen(module = "./tests/wasm/element.js")]
|
||||
extern "C" {
|
||||
fn new_webgl_rendering_context() -> WebGlRenderingContext;
|
||||
}
|
||||
|
||||
// Ensure that our whitelisted WebGlRenderingContext methods work
|
||||
#[wasm_bindgen_test]
|
||||
fn test_webgl_rendering_context_immutable_slices() {
|
||||
let gl = new_webgl_rendering_context();
|
||||
|
||||
gl.vertex_attrib1fv_with_f32_array(0, &[5000.]);
|
||||
}
|
@ -56,6 +56,7 @@ pub mod style_element;
|
||||
pub mod table_element;
|
||||
pub mod title_element;
|
||||
pub mod xpath_result;
|
||||
pub mod immutable_slices;
|
||||
|
||||
#[wasm_bindgen_test]
|
||||
fn deref_works() {
|
||||
|
@ -1 +1,3 @@
|
||||
// intentionally left blank
|
||||
|
||||
// QUESTION FOR REVIEWER: WHY? (I'll include this context in the comment)
|
||||
|
Loading…
x
Reference in New Issue
Block a user