Skip to content

Commit

Permalink
Fix the webidl-tests crate
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcrichton committed Feb 28, 2019
1 parent ad7fb86 commit da6dd16
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 8 deletions.
1 change: 1 addition & 0 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ test_script:
- where chromedriver
- set CHROMEDRIVER=C:\Tools\WebDriver\chromedriver.exe
- cargo test -p js-sys --target wasm32-unknown-unknown
- set WBINDGEN_I_PROMISE_JS_SYNTAX_WORKS_IN_NODE=1
- cargo test -p webidl-tests --target wasm32-unknown-unknown
# Try just a few features for `web-sys`, unfortunately the whole crate blows
# system command line limits meaning we can't even spawn rustc to enable all
Expand Down
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ matrix:
install: *INSTALL_NODE_VIA_NVM
script:
- cargo test -p wasm-bindgen-webidl
- export WBINDGEN_I_PROMISE_JS_SYNTAX_WORKS_IN_NODE=1
- cargo test -p webidl-tests --target wasm32-unknown-unknown
if: branch = master

Expand Down
14 changes: 9 additions & 5 deletions crates/cli-support/src/js/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ use crate::descriptor::{Descriptor, VectorKind};
use crate::{Bindgen, EncodeInto, OutputMode};
use failure::{bail, Error, ResultExt};
use std::collections::{HashMap, HashSet};
use std::env;
use walrus::{MemoryId, Module};
use wasm_bindgen_wasm_interpreter::Interpreter;

Expand Down Expand Up @@ -2792,11 +2793,14 @@ impl<'a, 'b> SubContext<'a, 'b> {
// module syntax in the snippet to a CommonJS module, which is in theory
// not that hard but is a chunk of work to do.
if is_local_snippet && self.cx.config.mode.nodejs() {
bail!(
"local JS snippets are not supported with `--nodejs`; \
see rustwasm/rfcs#6 for more details, but this restriction \
will be lifted in the future"
);
// have a small unergonomic escape hatch for our webidl-tests tests
if env::var("WBINDGEN_I_PROMISE_JS_SYNTAX_WORKS_IN_NODE").is_err() {
bail!(
"local JS snippets are not supported with `--nodejs`; \
see rustwasm/rfcs#6 for more details, but this restriction \
will be lifted in the future"
);
}
}

// Similar to `--no-modules`, only allow vendor prefixes basically for web
Expand Down
5 changes: 2 additions & 3 deletions crates/webidl-tests/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,13 @@ fn main() {

let out_file = out_dir.join(path.file_name().unwrap()).with_extension("rs");

let js_file = path.with_extension("js").canonicalize().unwrap();
generated_rust.push_str(&format!(
r#"
pub mod import_script {{
use wasm_bindgen::prelude::*;
use wasm_bindgen_test::*;
#[wasm_bindgen(module = r"{}")]
#[wasm_bindgen(module = "/{}.js")]
extern "C" {{
fn not_actually_a_function{1}(x: &str);
}}
Expand All @@ -41,7 +40,7 @@ fn main() {
}}
}}
"#,
js_file.display(),
path.file_stem().unwrap().to_str().unwrap(),
i
));

Expand Down

0 comments on commit da6dd16

Please sign in to comment.