use super::project; #[test] fn works() { project() .debug(false) .file( "src/lib.rs", r#" #![feature(proc_macro, wasm_custom_section, wasm_import_module)] extern crate wasm_bindgen; use wasm_bindgen::prelude::*; #[wasm_bindgen] pub struct A {} #[wasm_bindgen] impl A { pub fn new() -> A { A {} } } #[wasm_bindgen] pub fn clone(a: &JsValue) -> JsValue { drop(a.clone()); a.clone() } "#, ) .file( "test.js", r#" import * as assert from "assert"; import * as wasm from "./out"; export function test() { let sym = Symbol('a'); assert.strictEqual(wasm.clone(sym), sym); let a = wasm.A.new(); a.free(); } "#, ) .test(); }