improved security sanitization - security spcecific unit tests - add unit tests to workflow build - add unami analytics.
95 lines
2.0 KiB
Rust
95 lines
2.0 KiB
Rust
// Copyright (c) 2024 Jason Witty <jasonpwitty+socktop@proton.me>.
|
|
// All rights reserved.
|
|
//
|
|
// Unit tests for event.rs module
|
|
|
|
use bytes::Bytes;
|
|
use webterm::event::{ChildDied, IO};
|
|
|
|
#[test]
|
|
fn test_io_from_bytes() {
|
|
let data = Bytes::from("test data");
|
|
let io = IO::from(data.clone());
|
|
assert_eq!(io.0, data);
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_from_string() {
|
|
let data = String::from("test string");
|
|
let io = IO::from(data.clone());
|
|
assert_eq!(io.0, Bytes::from(data));
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_from_str() {
|
|
let data = "test str";
|
|
let io = IO::from(data);
|
|
assert_eq!(io.0, Bytes::from(data));
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_equality() {
|
|
let io1 = IO::from("same data");
|
|
let io2 = IO::from("same data");
|
|
let io3 = IO::from("different data");
|
|
|
|
assert_eq!(io1, io2);
|
|
assert_ne!(io1, io3);
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_clone() {
|
|
let original = IO::from("original data");
|
|
let cloned = original.clone();
|
|
|
|
assert_eq!(original, cloned);
|
|
assert_eq!(original.0, cloned.0);
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_empty() {
|
|
let empty = IO::from("");
|
|
assert_eq!(empty.0.len(), 0);
|
|
assert!(empty.0.is_empty());
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_binary_data() {
|
|
let binary_data = vec![0u8, 1, 2, 3, 255];
|
|
let bytes = Bytes::from(binary_data.clone());
|
|
let io = IO::from(bytes);
|
|
|
|
assert_eq!(io.0.as_ref(), binary_data.as_slice());
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_unicode() {
|
|
let unicode = "Hello 世界 🌍";
|
|
let io = IO::from(unicode);
|
|
assert_eq!(io.0, Bytes::from(unicode));
|
|
}
|
|
|
|
#[test]
|
|
fn test_io_large_data() {
|
|
let large_string = "a".repeat(10000);
|
|
let io = IO::from(large_string.as_str());
|
|
assert_eq!(io.0.len(), 10000);
|
|
}
|
|
|
|
#[test]
|
|
fn test_child_died_creation() {
|
|
let event = ChildDied();
|
|
// ChildDied is a unit struct, just verify it can be created
|
|
let _cloned = event.clone();
|
|
}
|
|
|
|
#[test]
|
|
fn test_child_died_clone() {
|
|
let event1 = ChildDied();
|
|
let event2 = event1.clone();
|
|
// Both should exist without panicking
|
|
// ChildDied is a zero-sized type, so dropping is a no-op
|
|
let _ = event1;
|
|
let _ = event2;
|
|
}
|