vertigo 0.2.0-alpha

Reactive Real-DOM library for Rust
Documentation
use std::collections::HashMap;
use super::js_value_struct::JsValue;
use super::js_json_struct::JsJson;


#[test]
fn json_json_string() {
    let data1 = JsValue::Json(JsJson::String("test string".into()));

    let block = data1.to_snapshot();

    let Ok(data2) = JsValue::from_block(block) else {
        unreachable!();
    };

    assert_eq!(data1, data2);
}


#[test]
fn json_json_list() {
    let data1 = JsValue::Json(JsJson::List(vec!(
        JsJson::String("aaaa".into()),
        JsJson::String("bbbb".into()),
        JsJson::True,
        JsJson::Null,
        JsJson::Number(12.3),
        JsJson::List(vec!(
            JsJson::String("cccc".into()),
            JsJson::String("dddd".into()),
            JsJson::Null,
        )),
        JsJson::Object(HashMap::from([
            ("aaa".to_string(), JsJson::Number(2.0)),
            ("bbb".to_string(), JsJson::String(String::from("ccc")))
        ]))
    )));

    let block = data1.to_snapshot();

    let Ok(data2) = JsValue::from_block(block) else {
        unreachable!();
    };

    assert_eq!(data1, data2);
}