mirror of
https://github.com/fluencelabs/wasm-bindgen
synced 2025-07-17 13:11:56 +00:00
.cargo
ci
crates
anyref-xform
backend
cli
cli-support
futures
js-sys
macro
macro-support
shared
test
test-macro
threads-xform
typescript
typescript-tests
wasm-interpreter
web-sys
src
tests
wasm
anchor_element.rs
body_element.rs
br_element.rs
button_element.rs
console.rs
div_element.rs
dom_point.rs
element.js
element.rs
event.js
event.rs
head_element.rs
headers.js
headers.rs
heading_element.rs
history.rs
hr_element.rs
html_element.rs
html_html_element.rs
indexeddb.rs
input_element.rs
location.rs
main.rs
menu_element.rs
menu_item_element.rs
meta_element.rs
meter_element.rs
mod_elements.rs
olist_element.rs
optgroup_element.rs
option_element.rs
options_collection.rs
output_element.rs
paragraph_element.rs
param_element.rs
performance.rs
pre_element.rs
progress_element.rs
quote_element.rs
response.js
response.rs
rtc_rtp_transceiver_direction.rs
script_element.rs
select_element.rs
slot_element.rs
span_element.rs
style_element.rs
table_element.rs
title_element.rs
whitelisted_immutable_slices.rs
xpath_result.rs
webidls
Cargo.toml
README.md
build.rs
webidl
webidl-tests
examples
guide
releases
src
tests
.gitattributes
.gitignore
CHANGELOG.md
CONTRIBUTING.md
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md
_package.json
azure-pipelines.yml
build.rs
publish.rs
43 lines
1.3 KiB
Rust
43 lines
1.3 KiB
Rust
extern crate futures;
|
|
extern crate js_sys;
|
|
extern crate wasm_bindgen_futures;
|
|
|
|
use futures::Future;
|
|
use js_sys::{ArrayBuffer, DataView};
|
|
use wasm_bindgen::prelude::*;
|
|
use wasm_bindgen::JsCast;
|
|
use wasm_bindgen_futures::JsFuture;
|
|
use wasm_bindgen_test::*;
|
|
use web_sys::Response;
|
|
|
|
#[wasm_bindgen(module = "/tests/wasm/response.js")]
|
|
extern "C" {
|
|
fn new_response() -> Response;
|
|
}
|
|
|
|
#[wasm_bindgen_test]
|
|
fn test_response_from_js() {
|
|
let response = new_response();
|
|
assert!(!response.ok());
|
|
assert!(!response.redirected());
|
|
assert_eq!(response.status(), 501);
|
|
}
|
|
|
|
#[wasm_bindgen_test(async)]
|
|
fn test_response_from_bytes() -> impl Future<Item = (), Error = JsValue> {
|
|
let mut bytes: [u8; 3] = [1, 3, 5];
|
|
let response = Response::new_with_opt_u8_array(Some(&mut bytes)).unwrap();
|
|
assert!(response.ok());
|
|
assert_eq!(response.status(), 200);
|
|
|
|
let buf_promise = response.array_buffer().unwrap();
|
|
JsFuture::from(buf_promise).map(move |buf_val| {
|
|
assert!(buf_val.is_instance_of::<ArrayBuffer>());
|
|
let array_buf: ArrayBuffer = buf_val.dyn_into().unwrap();
|
|
let data_view = DataView::new(&array_buf, 0, bytes.len());
|
|
for (i, byte) in bytes.iter().enumerate() {
|
|
assert_eq!(&data_view.get_uint8(i), byte);
|
|
}
|
|
})
|
|
}
|