rune-testing 0.6.15

Test helpers for Rune, an embeddable dynamic programming language for Rust.
Documentation
use rune_testing::*;

#[test]
fn test_variant_typing() {
    assert_eq! {
        rune! {
            bool => r#"fn main() { Err(0) is Result }"#
        },
        true,
    };

    assert_eq! {
        rune! {
            bool => r#"fn main() { Ok(0) is Result }"#
        },
        true,
    };

    assert_eq! {
        rune! {
            bool => r#"fn main() { Some(0) is Option }"#
        },
        true,
    };

    assert_eq! {
        rune! {
            bool => r#"fn main() { None is Option }"#
        },
        true,
    };

    assert_eq! {
        rune! {
            bool => r#"
            enum Custom { A, B(a) }
            fn main() { Custom::A is Custom }
            "#
        },
        true,
    };

    assert_eq! {
        rune! {
            bool => r#"
            enum Custom { A, B(a) }
            fn main() { Custom::B(42) is Custom }
            "#
        },
        true,
    };

    assert_eq! {
        rune! {
            bool => r#"
            enum Custom { A, B(a) }
            fn main() { Custom::A is Option }
            "#
        },
        false,
    };

    assert_eq! {
        rune! {
            bool => r#"
            enum Custom { A, B(a) }
            fn main() { Custom::A is not Option }
            "#
        },
        true,
    };
}