Sha256: 59c80b6ac0f60fe8499884ee4842b8a4f12039c6c29c58a329e85c187d42c94c

Contents?: true

Size: 1.12 KB

Versions: 11

Compression:

Stored size: 1.12 KB

Contents

use js_sys::*;
use wasm_bindgen::prelude::*;
use wasm_bindgen_test::*;

#[wasm_bindgen]
extern "C" {
    type SomeValue;
    #[wasm_bindgen(method, setter, structural)]
    fn set_some(this: &SomeValue, val: JsValue);
}

fn some_value() -> Object {
    let value = SomeValue::from(JsValue::from(Object::new()));
    value.set_some("value".into());
    Object::from(JsValue::from(value))
}

#[wasm_bindgen_test]
fn new() {
    assert!(JsValue::from(WeakSet::new()).is_object())
}

#[wasm_bindgen_test]
fn has() {
    let set = WeakSet::new();
    let value = some_value();
    assert!(!set.has(&value));
    set.add(&value);
    assert!(set.has(&value));
    assert!(!set.has(&some_value()));
}

#[wasm_bindgen_test]
fn delete() {
    let set = WeakSet::new();
    let value = some_value();
    set.add(&value);
    assert!(set.has(&value));
    assert!(set.delete(&value));
    assert!(!set.has(&value));
    assert!(!set.delete(&value));
}

#[wasm_bindgen_test]
fn weakset_inheritance() {
    let set = WeakSet::new();
    assert!(set.is_instance_of::<WeakSet>());
    assert!(set.is_instance_of::<Object>());
    let _: &Object = set.as_ref();
}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
wasmtime-23.0.2 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-22.0.0 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-21.0.1 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-20.0.2 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-20.0.0 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-18.0.3 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-17.0.1 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-17.0.0 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-16.0.0 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-15.0.1 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs
wasmtime-15.0.0 ./ext/cargo-vendor/js-sys-0.3.66/tests/wasm/WeakSet.rs