#[cfg(feature = "web-sys")]
use wasm_bindgen_test::*;
#[cfg(feature = "web-sys")]
wasm_bindgen_test_configure!(run_in_browser);
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_core_functionality_after_wasm_optimization() {
use crate::*;
use std::collections::HashMap;
let animation_value = AnimationValue::Number(42.0);
assert_eq!(animation_value.to_string(), "42");
let mut target = HashMap::new();
target.insert("opacity".to_string(), AnimationValue::Number(0.5));
target.insert("x".to_string(), AnimationValue::Pixels(100.0));
let animation_target: AnimationTarget = target;
assert_eq!(
animation_target.get("opacity"),
Some(&AnimationValue::Number(0.5))
);
assert_eq!(
animation_target.get("x"),
Some(&AnimationValue::Pixels(100.0))
);
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_engines_after_wasm_optimization() {
use crate::*;
let _minimal_engine = MinimalEngine::new();
let transition = Transition {
duration: Some(0.5),
ease: Easing::EaseOut,
..Default::default()
};
assert_eq!(transition.duration, Some(0.5));
assert_eq!(transition.ease, Easing::EaseOut);
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_performance_monitoring_after_wasm_optimization() {
use crate::performance::*;
let budget = PerformanceBudget::default();
assert_eq!(budget.target_fps, 60.0);
let _monitor = PerformanceMonitor::new(budget);
assert!(true);
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_animation_values_after_wasm_optimization() {
use crate::*;
let num_value = AnimationValue::Number(42.0);
assert_eq!(num_value.to_string(), "42");
let pixel_value = AnimationValue::Pixels(100.0);
assert_eq!(pixel_value.to_string(), "100px");
let transform_value = AnimationValue::Transform(Transform {
x: Some(10.0),
y: Some(20.0),
scale_x: Some(1.5),
scale_y: Some(1.5),
rotate_z: Some(45.0),
..Default::default()
});
assert!(transform_value.to_string().contains("translateX(10px)"));
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_easing_functions_after_wasm_optimization() {
use crate::*;
let linear = Easing::Linear;
let ease_in = Easing::EaseIn;
let ease_out = Easing::EaseOut;
let ease_in_out = Easing::EaseInOut;
let spring = Easing::Spring(SpringConfig {
stiffness: 100.0,
damping: 10.0,
mass: 1.0,
velocity: 0.0,
rest_delta: 0.01,
rest_speed: 0.01,
});
match linear {
Easing::Linear => assert!(true),
_ => panic!("Expected Linear easing"),
}
match spring {
Easing::Spring(config) => {
assert_eq!(config.stiffness, 100.0);
assert_eq!(config.damping, 10.0);
}
_ => panic!("Expected Spring easing"),
}
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_repeat_configurations_after_wasm_optimization() {
use crate::*;
let never = RepeatConfig::Never;
let count = RepeatConfig::Count(5);
let infinite = RepeatConfig::Infinite;
let infinite_reverse = RepeatConfig::InfiniteReverse;
match never {
RepeatConfig::Never => assert!(true),
_ => panic!("Expected Never repeat"),
}
match count {
RepeatConfig::Count(n) => assert_eq!(n, 5),
_ => panic!("Expected Count(5) repeat"),
}
match infinite {
RepeatConfig::Infinite => assert!(true),
_ => panic!("Expected Infinite repeat"),
}
match infinite_reverse {
RepeatConfig::InfiniteReverse => assert!(true),
_ => panic!("Expected InfiniteReverse repeat"),
}
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_stagger_configurations_after_wasm_optimization() {
use crate::*;
let stagger_config = StaggerConfig {
delay: 0.1,
from: StaggerFrom::First,
};
assert_eq!(stagger_config.delay, 0.1);
assert_eq!(stagger_config.from, StaggerFrom::First);
let from_first = StaggerFrom::First;
let from_last = StaggerFrom::Last;
let from_center = StaggerFrom::Center;
let from_index = StaggerFrom::Index(5);
match from_first {
StaggerFrom::First => assert!(true),
_ => panic!("Expected First stagger from"),
}
match from_last {
StaggerFrom::Last => assert!(true),
_ => panic!("Expected Last stagger from"),
}
match from_center {
StaggerFrom::Center => assert!(true),
_ => panic!("Expected Center stagger from"),
}
match from_index {
StaggerFrom::Index(n) => assert_eq!(n, 5),
_ => panic!("Expected Index(5) stagger from"),
}
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_complex_nested_types_after_wasm_optimization() {
use crate::*;
use std::collections::HashMap;
let mut complex_target = HashMap::new();
complex_target.insert("opacity".to_string(), AnimationValue::Number(0.8));
complex_target.insert("x".to_string(), AnimationValue::Pixels(100.0));
complex_target.insert("y".to_string(), AnimationValue::Pixels(200.0));
complex_target.insert("scale".to_string(), AnimationValue::Number(1.2));
complex_target.insert(
"transform".to_string(),
AnimationValue::Transform(Transform {
rotate_z: Some(45.0),
scale_x: Some(1.5),
scale_y: Some(1.5),
..Default::default()
}),
);
let animation_target: AnimationTarget = complex_target;
assert_eq!(
animation_target.get("opacity"),
Some(&AnimationValue::Number(0.8))
);
assert_eq!(
animation_target.get("x"),
Some(&AnimationValue::Pixels(100.0))
);
assert_eq!(
animation_target.get("y"),
Some(&AnimationValue::Pixels(200.0))
);
assert_eq!(
animation_target.get("scale"),
Some(&AnimationValue::Number(1.2))
);
if let Some(AnimationValue::Transform(transform)) = animation_target.get("transform") {
assert_eq!(transform.rotate_z, Some(45.0));
assert_eq!(transform.scale_x, Some(1.5));
assert_eq!(transform.scale_y, Some(1.5));
} else {
panic!("Expected Transform value");
}
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_wasm_optimization_bundle_size_targets() {
assert!(true);
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_memory_optimization_after_wasm_optimization() {
use crate::memory_optimization::*;
let _profiler = MemoryProfiler::new();
assert_eq!(TARGET_ANIMATION_MEMORY_KB, 50.0);
assert_eq!(TARGET_ENGINE_MEMORY_KB, 100.0);
assert_eq!(TARGET_CACHE_MEMORY_KB, 25.0);
}
#[cfg_attr(feature = "web-sys", wasm_bindgen_test)]
#[cfg_attr(not(feature = "web-sys"), test)]
fn test_lazy_loading_after_wasm_optimization() {
use crate::lazy_loading::*;
let _loader = get_lazy_loader();
let config = LazyLoadingConfig::default();
assert_eq!(config.max_loaded_modules, 10);
assert_eq!(config.max_total_size, 1024 * 1024); }