mod common;
use std::env;
#[test]
fn test_list_path_dot_integration()
{
let test_dir = env::current_dir().unwrap();
let output = common::clg_cmd()
.args( [ ".list", "path::." ] )
.current_dir( &test_dir )
.output()
.expect( "Failed to execute claude_storage" );
let stdout = String::from_utf8_lossy( &output.stdout );
let stderr = String::from_utf8_lossy( &output.stderr );
if !output.status.success()
{
eprintln!( "Command failed:" );
eprintln!( "stdout: {stdout}" );
eprintln!( "stderr: {stderr}" );
}
assert!
(
output.status.success(),
"Command should succeed, got:\nstdout: {stdout}\nstderr: {stderr}"
);
assert!
(
!stdout.contains( "Failed to resolve path parameter" ),
"Should not fail path resolution: {stdout}"
);
}
#[test]
fn test_list_path_dotdot_integration()
{
let test_dir = env::current_dir().unwrap();
let output = common::clg_cmd()
.args( [ ".list", "path::.." ] )
.current_dir( &test_dir )
.output()
.expect( "Failed to execute claude_storage" );
let stdout = String::from_utf8_lossy( &output.stdout );
let stderr = String::from_utf8_lossy( &output.stderr );
assert!
(
output.status.success(),
"Command should succeed, got:\nstdout: {stdout}\nstderr: {stderr}"
);
assert!
(
!stdout.contains( "Failed to resolve path parameter" ),
"Should not fail path resolution: {stdout}"
);
}
#[test]
fn test_list_path_tilde_integration()
{
let test_dir = env::current_dir().unwrap();
let output = common::clg_cmd()
.args( [ ".list", "path::~" ] )
.current_dir( &test_dir )
.output()
.expect( "Failed to execute claude_storage" );
let stdout = String::from_utf8_lossy( &output.stdout );
let stderr = String::from_utf8_lossy( &output.stderr );
assert!
(
output.status.success(),
"Command should succeed, got:\nstdout: {stdout}\nstderr: {stderr}"
);
assert!
(
!stdout.contains( "Failed to resolve path parameter" ),
"Should not fail path resolution: {stdout}"
);
}
#[test]
fn test_list_path_pattern_backward_compat()
{
let test_dir = env::current_dir().unwrap();
let output = common::clg_cmd()
.args( [ ".list", "path::claude_tools" ] )
.current_dir( &test_dir )
.output()
.expect( "Failed to execute claude_storage" );
let stdout = String::from_utf8_lossy( &output.stdout );
let stderr = String::from_utf8_lossy( &output.stderr );
assert!
(
output.status.success(),
"Command should succeed, got:\nstdout: {stdout}\nstderr: {stderr}"
);
assert!
(
!stdout.contains( "Failed to resolve path parameter" ),
"Should not fail on pattern: {stdout}"
);
}
#[test]
fn test_list_path_tilde_slash_integration()
{
let test_dir = env::current_dir().unwrap();
let output = common::clg_cmd()
.args( [ ".list", "path::~/pro" ] )
.current_dir( &test_dir )
.output()
.expect( "Failed to execute claude_storage" );
let stdout = String::from_utf8_lossy( &output.stdout );
let stderr = String::from_utf8_lossy( &output.stderr );
assert!
(
output.status.success(),
"Command should succeed, got:\nstdout: {stdout}\nstderr: {stderr}"
);
assert!
(
!stdout.contains( "Failed to resolve path parameter" ),
"Should not fail path resolution: {stdout}"
);
}
#[test]
fn test_list_path_absolute_integration()
{
let test_dir = env::current_dir().unwrap();
let abs_path = test_dir.to_string_lossy().to_string();
let output = common::clg_cmd()
.args( [ ".list", &format!( "path::{abs_path}" ) ] )
.current_dir( &test_dir )
.output()
.expect( "Failed to execute claude_storage" );
let stdout = String::from_utf8_lossy( &output.stdout );
let stderr = String::from_utf8_lossy( &output.stderr );
assert!
(
output.status.success(),
"Command should succeed, got:\nstdout: {stdout}\nstderr: {stderr}"
);
assert!
(
!stdout.contains( "Failed to resolve path parameter" ),
"Should not fail path resolution: {stdout}"
);
}