diff --git a/crates/cli-support/src/js/mod.rs b/crates/cli-support/src/js/mod.rs index f65de41861c..070ab9fca8b 100644 --- a/crates/cli-support/src/js/mod.rs +++ b/crates/cli-support/src/js/mod.rs @@ -3068,6 +3068,7 @@ impl<'a> Context<'a> { variants.push_str(&variant_docs); } variants.push_str(&format!("{}:{},", name, value)); + variants.push_str(&format!("\"{}\":\"{}\",", value, name)); if enum_.generate_typescript { self.typescript.push_str("\n"); if !variant_docs.is_empty() { diff --git a/tests/wasm/enums.js b/tests/wasm/enums.js index 7a78c060065..640597dacf2 100644 --- a/tests/wasm/enums.js +++ b/tests/wasm/enums.js @@ -5,7 +5,10 @@ exports.js_c_style_enum = () => { assert.strictEqual(wasm.Color.Green, 0); assert.strictEqual(wasm.Color.Yellow, 1); assert.strictEqual(wasm.Color.Red, 2); - assert.strictEqual(Object.keys(wasm.Color).length, 3); + assert.strictEqual(wasm.Color[0], 'Green'); + assert.strictEqual(wasm.Color[1], 'Yellow'); + assert.strictEqual(wasm.Color[2], 'Red'); + assert.strictEqual(Object.keys(wasm.Color).length, 6); assert.strictEqual(wasm.enum_cycle(wasm.Color.Green), wasm.Color.Yellow); }; @@ -14,7 +17,10 @@ exports.js_c_style_enum_with_custom_values = () => { assert.strictEqual(wasm.ColorWithCustomValues.Green, 21); assert.strictEqual(wasm.ColorWithCustomValues.Yellow, 34); assert.strictEqual(wasm.ColorWithCustomValues.Red, 2); - assert.strictEqual(Object.keys(wasm.ColorWithCustomValues).length, 3); + assert.strictEqual(wasm.ColorWithCustomValues[21], 'Green'); + assert.strictEqual(wasm.ColorWithCustomValues[34], 'Yellow'); + assert.strictEqual(wasm.ColorWithCustomValues[2], 'Red'); + assert.strictEqual(Object.keys(wasm.ColorWithCustomValues).length, 6); assert.strictEqual(wasm.enum_with_custom_values_cycle(wasm.ColorWithCustomValues.Green), wasm.ColorWithCustomValues.Yellow); }; diff --git a/tests/wasm/node.js b/tests/wasm/node.js index 1887904fa50..41baa8b240d 100644 --- a/tests/wasm/node.js +++ b/tests/wasm/node.js @@ -27,7 +27,10 @@ exports.test_works = function() { assert.strictEqual(wasm.Color.Green, 0); assert.strictEqual(wasm.Color.Yellow, 1); assert.strictEqual(wasm.Color.Red, 2); - assert.strictEqual(Object.keys(wasm.Color).length, 3); + assert.strictEqual(wasm.Color[0], 'Green'); + assert.strictEqual(wasm.Color[1], 'Yellow'); + assert.strictEqual(wasm.Color[2], 'Red'); + assert.strictEqual(Object.keys(wasm.Color).length, 6); assert.strictEqual(wasm.cycle(wasm.Color.Green), wasm.Color.Yellow); wasm.node_math(1.0, 2.0);