File: link_to.rs

package info (click to toggle)
rustc-web 1.78.0%2Bdfsg1-2~deb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,245,420 kB
  • sloc: xml: 147,985; javascript: 18,022; sh: 11,083; python: 10,265; ansic: 6,172; cpp: 5,023; asm: 4,390; makefile: 4,269
file content (30 lines) | stat: -rw-r--r-- 988 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
use wasm_bindgen::prelude::*;
use wasm_bindgen_test::*;

#[wasm_bindgen(module = "/tests/wasm/link_to.js")]
extern "C" {
    #[wasm_bindgen(catch)]
    fn read_file(url: &str) -> Result<String, JsValue>;
}

#[wasm_bindgen_test]
fn test_module() {
    let link = wasm_bindgen::link_to!(module = "/tests/wasm/linked_module.js");
    assert_eq!(read_file(&link).unwrap(), "// linked module\n");
}

#[wasm_bindgen_test]
fn test_raw_module() {
    let link = wasm_bindgen::link_to!(raw_module = "./not-found.js");
    assert!(read_file(&link).is_err());
}

#[wasm_bindgen_test]
fn test_inline_js() {
    // Test two invocations to ensure that snippet indices from different
    // Program structs are offset correctly.
    let link1 = wasm_bindgen::link_to!(inline_js = "// inline js 1\n");
    let link2 = wasm_bindgen::link_to!(inline_js = "// inline js 2\n");
    assert_eq!(read_file(&link1).unwrap(), "// inline js 1\n");
    assert_eq!(read_file(&link2).unwrap(), "// inline js 2\n");
}