Skip to content

Commit c03df81

Browse files
author
HeroicKatora
authored
Merge pull request #242 from image-rs/testing-in-wasm
Testing in wasm
2 parents aa376fa + 2cc99c4 commit c03df81

File tree

3 files changed

+48
-0
lines changed

3 files changed

+48
-0
lines changed

.github/workflows/rust.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,29 @@ jobs:
7070
env:
7171
FEATURES: ${{ matrix.features }}
7272
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc
73+
cross_compile_wasm:
74+
runs-on: ubuntu-latest
75+
steps:
76+
- name: Install node
77+
run: |
78+
sudo apt-get update
79+
sudo apt-get install nodejs
80+
node -v
81+
- name: Install wasm-bindgen
82+
run: >
83+
curl -L "$WASMBINDGEN_UPSTREAM"
84+
| tar xzf - --strip-components=1 wasm-bindgen-0.2.80-x86_64-unknown-linux-musl/wasm-bindgen-test-runner
85+
&& sudo mv wasm-bindgen-test-runner /usr/bin/wasm-bindgen-test-runner
86+
env:
87+
WASMBINDGEN_UPSTREAM: https://github.com/rustwasm/wasm-bindgen/releases/download/0.2.80/wasm-bindgen-0.2.80-x86_64-unknown-linux-musl.tar.gz
88+
- name: Installing Rust toolchain
89+
uses: actions-rs/toolchain@v1
90+
with:
91+
override: true
92+
toolchain: stable
93+
target: wasm32-unknown-unknown
94+
- uses: actions/checkout@v2
95+
- name: Test
96+
run: cargo test -vv --target wasm32-unknown-unknown
97+
env:
98+
CARGO_TARGET_WASM32_UNKNOWN_UNKNOWN_RUNNER: wasm-bindgen-test-runner

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ rayon = { version = "1.5.1", optional = true }
1818
png = "0.16"
1919
walkdir = "2.0"
2020
criterion = "0.3"
21+
wasm-bindgen-test = "0.3"
2122

2223
[features]
2324
default = ["rayon"]

tests/lib.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,27 @@ mod common;
99
mod crashtest;
1010
mod reftest;
1111

12+
#[test]
13+
#[wasm_bindgen_test::wasm_bindgen_test]
14+
fn included_file() {
15+
const FILE: &[u8] = include_bytes!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/reftest/images/mozilla/jpg-progressive.jpg"));
16+
17+
let mut data = FILE;
18+
let mut decoder = jpeg::Decoder::new(&mut data);
19+
let ref_data = decoder.decode().unwrap();
20+
let ref_info = decoder.info().unwrap();
21+
22+
let mut data = FILE;
23+
decoder = jpeg::Decoder::new(&mut data);
24+
decoder.read_info().unwrap();
25+
let info = decoder.info().unwrap();
26+
let data = decoder.decode().unwrap();
27+
28+
assert_eq!(info, decoder.info().unwrap());
29+
assert_eq!(info, ref_info);
30+
assert_eq!(data, ref_data);
31+
}
32+
1233
#[test]
1334
fn read_info() {
1435
let path = Path::new("tests").join("reftest").join("images").join("mozilla").join("jpg-progressive.jpg");

0 commit comments

Comments
 (0)