jstime_core 0.66.0

Another JS Runtime
Documentation
use jstime_core as jstime;

mod common;

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_events_module_exists() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-module-exists.js");
        let result = jstime.run_script("globalThis.testEventsModuleExists", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_basic_emit() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-basic-emit.js");
        let result = jstime.run_script("globalThis.testBasicEmit", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_once() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-once.js");
        let result = jstime.run_script("globalThis.testOnce", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_remove_listener() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-remove-listener.js");
        let result = jstime.run_script("globalThis.testRemoveListener", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_named_imports() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-named-imports.js");
        let result = jstime.run_script("globalThis.testNamedImports", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_default_import() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-default-import.js");
        let result = jstime.run_script("globalThis.testDefaultImport", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_eventtarget_inheritance() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-eventtarget-inheritance.js");
        let result = jstime.run_script("globalThis.testEventTargetInheritance", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_listener_count() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-listener-count.js");
        let result = jstime.run_script("globalThis.testListenerCount", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_prepend_listener() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-prepend-listener.js");
        let result = jstime.run_script("globalThis.testPrependListener", "test");
        assert_eq!(result.unwrap(), "true");
    }

    #[test]
    fn test_remove_all_listeners() {
        let _setup_guard = common::setup();
        let options = jstime::Options::default();
        let mut jstime = jstime::JSTime::new(options);

        let _result = jstime.import("./tests/fixtures/events/test-remove-all-listeners.js");
        let result = jstime.run_script("globalThis.testRemoveAllListeners", "test");
        assert_eq!(result.unwrap(), "true");
    }
}