diff --git a/crates/webidl-tests/dictionary.js b/crates/webidl-tests/dictionary.js index 46b2127a..7eadc871 100644 --- a/crates/webidl-tests/dictionary.js +++ b/crates/webidl-tests/dictionary.js @@ -20,3 +20,7 @@ global.assert_dict_required = function(c) { assert.strictEqual(c.b, "a"); assert.strictEqual(c.c, 4); }; + +global.assert_camel_case = function(dict) { + assert.strictEqual(dict.wierd_fieldName, 1); +} diff --git a/crates/webidl-tests/dictionary.rs b/crates/webidl-tests/dictionary.rs index d769b9e9..21f86cda 100644 --- a/crates/webidl-tests/dictionary.rs +++ b/crates/webidl-tests/dictionary.rs @@ -16,6 +16,7 @@ extern "C" { #[wasm_bindgen(js_name = mk_dict_a)] fn mk_dict_a2() -> Option; fn assert_dict_required(r: &Required); + fn assert_camel_case(dict: &PreserveNames); } #[wasm_bindgen_test] @@ -51,3 +52,8 @@ fn many_types() { fn required() { assert_dict_required(Required::new(3, "a").c(4)); } + +#[wasm_bindgen_test] +fn correct_casing_in_js() { + assert_camel_case(PreserveNames::new().wierd_field_name(4)); +} diff --git a/crates/webidl-tests/dictionary.webidl b/crates/webidl-tests/dictionary.webidl index 75944104..f513323a 100644 --- a/crates/webidl-tests/dictionary.webidl +++ b/crates/webidl-tests/dictionary.webidl @@ -45,3 +45,7 @@ dictionary Required { required long a; long c; }; + +dictionary PreserveNames { + long wierd_fieldName; +};