mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-23 18:21:13 +08:00
60 lines
1.2 KiB
Rust
60 lines
1.2 KiB
Rust
use oxide_types::object::JsObject;
|
|
use oxide_types::value::JsValue;
|
|
|
|
fn new_obj() -> JsObject {
|
|
JsObject::new_empty(0, JsValue::null())
|
|
}
|
|
|
|
#[test]
|
|
fn test_set_frozen() {
|
|
let mut obj = new_obj();
|
|
assert!(!obj.is_frozen());
|
|
obj.set_frozen(true);
|
|
assert!(obj.is_frozen());
|
|
}
|
|
|
|
#[test]
|
|
fn test_set_sealed() {
|
|
let mut obj = new_obj();
|
|
assert!(!obj.is_sealed());
|
|
obj.set_sealed(true);
|
|
assert!(obj.is_sealed());
|
|
}
|
|
|
|
#[test]
|
|
fn test_frozen_and_sealed_independent() {
|
|
let mut obj = new_obj();
|
|
obj.set_frozen(true);
|
|
assert!(obj.is_frozen());
|
|
assert!(!obj.is_sealed());
|
|
obj.set_sealed(true);
|
|
assert!(obj.is_frozen());
|
|
assert!(obj.is_sealed());
|
|
obj.set_frozen(false);
|
|
assert!(!obj.is_frozen());
|
|
assert!(obj.is_sealed());
|
|
}
|
|
|
|
#[test]
|
|
fn test_defaults_are_false() {
|
|
let obj = new_obj();
|
|
assert!(!obj.is_frozen());
|
|
assert!(!obj.is_sealed());
|
|
}
|
|
|
|
#[test]
|
|
fn test_clear_frozen() {
|
|
let mut obj = new_obj();
|
|
obj.set_frozen(true);
|
|
obj.set_frozen(false);
|
|
assert!(!obj.is_frozen());
|
|
}
|
|
|
|
#[test]
|
|
fn test_clear_sealed() {
|
|
let mut obj = new_obj();
|
|
obj.set_sealed(true);
|
|
obj.set_sealed(false);
|
|
assert!(!obj.is_sealed());
|
|
}
|