41 lines
1.3 KiB
Rust
41 lines
1.3 KiB
Rust
#[cfg(test)]
|
|
mod tests {
|
|
use crate::meta_plugin::MetaPlugin;
|
|
use crate::meta_plugin::program::MetaPluginProgram;
|
|
|
|
#[test]
|
|
fn test_meta_plugin_program_creation() {
|
|
let mut plugin =
|
|
MetaPluginProgram::new("echo", vec!["test"], "test_plugin".to_string(), false);
|
|
|
|
assert_eq!(plugin.meta_name(), "test_plugin");
|
|
// If echo is available, it should be supported
|
|
// We don't assert on is_supported() as it depends on system availability
|
|
}
|
|
|
|
#[test]
|
|
fn test_meta_plugin_program_create_writer() {
|
|
let plugin = MetaPluginProgram::new("cat", vec![], "cat_plugin".to_string(), false);
|
|
|
|
// Creating a writer should work for valid programs
|
|
let result = plugin.create();
|
|
// We don't assert success as it depends on system availability
|
|
// but we ensure it doesn't panic
|
|
let _ = result;
|
|
}
|
|
|
|
#[test]
|
|
fn test_meta_plugin_program_unsupported() {
|
|
let plugin = MetaPluginProgram::new(
|
|
"nonexistent_program_xyz",
|
|
vec![],
|
|
"bad_plugin".to_string(),
|
|
false,
|
|
);
|
|
|
|
// An unsupported plugin should report as such
|
|
// Note: This might still be supported if the program exists
|
|
let _ = plugin.is_supported();
|
|
}
|
|
}
|