...
This commit is contained in:
@@ -1,170 +0,0 @@
|
||||
// Test script for Git module functions
|
||||
|
||||
// Import required modules
|
||||
import "os" as os;
|
||||
import "process" as process;
|
||||
|
||||
// Test GitTree creation
|
||||
fn test_git_tree_creation() {
|
||||
// Get home directory
|
||||
let home_dir = env("HOME");
|
||||
let code_dir = `${home_dir}/code`;
|
||||
|
||||
print("Testing GitTree creation...");
|
||||
let git_tree = gittree_new(code_dir);
|
||||
|
||||
print(`Created GitTree with base path: ${code_dir}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Test GitTree list method
|
||||
fn test_git_tree_list() {
|
||||
// Get home directory
|
||||
let home_dir = env("HOME");
|
||||
let code_dir = `${home_dir}/code`;
|
||||
|
||||
print("Testing GitTree list method...");
|
||||
let git_tree = gittree_new(code_dir);
|
||||
let repos = git_tree.list();
|
||||
|
||||
print(`Found ${repos.len()} repositories`);
|
||||
|
||||
// Print the first few repositories
|
||||
let count = if repos.len() > 3 { 3 } else { repos.len() };
|
||||
for i in range(0, count) {
|
||||
print(` - ${repos[i]}`);
|
||||
}
|
||||
|
||||
return repos.len() >= 0; // Success even if no repos found
|
||||
}
|
||||
|
||||
// Test GitTree find method
|
||||
fn test_git_tree_find() {
|
||||
// Get home directory
|
||||
let home_dir = env("HOME");
|
||||
let code_dir = `${home_dir}/code`;
|
||||
|
||||
print("Testing GitTree find method...");
|
||||
let git_tree = gittree_new(code_dir);
|
||||
let repos = git_tree.list();
|
||||
|
||||
if repos.len() == 0 {
|
||||
print("No repositories found, skipping test");
|
||||
return true;
|
||||
}
|
||||
|
||||
// Extract a part of the first repo name to search for
|
||||
let repo_path = repos[0];
|
||||
let parts = repo_path.split("/");
|
||||
let repo_name = parts[parts.len() - 1];
|
||||
let search_pattern = repo_name + "*";
|
||||
|
||||
print(`Searching for repositories matching pattern: ${search_pattern}`);
|
||||
let matching = git_tree.find(search_pattern);
|
||||
|
||||
print(`Found ${matching.len()} matching repositories`);
|
||||
for repo in matching {
|
||||
print(` - ${repo}`);
|
||||
}
|
||||
|
||||
return matching.len() > 0;
|
||||
}
|
||||
|
||||
// Test GitTree get method
|
||||
fn test_git_tree_get() {
|
||||
// Get home directory
|
||||
let home_dir = env("HOME");
|
||||
let code_dir = `${home_dir}/code`;
|
||||
|
||||
print("Testing GitTree get method...");
|
||||
let git_tree = gittree_new(code_dir);
|
||||
let repos = git_tree.list();
|
||||
|
||||
if repos.len() == 0 {
|
||||
print("No repositories found, skipping test");
|
||||
return true;
|
||||
}
|
||||
|
||||
// Extract a part of the first repo name to search for
|
||||
let repo_path = repos[0];
|
||||
let parts = repo_path.split("/");
|
||||
let repo_name = parts[parts.len() - 1];
|
||||
|
||||
print(`Getting GitRepo objects for: ${repo_name}`);
|
||||
let git_repos = git_tree.get(repo_name);
|
||||
|
||||
print(`Found ${git_repos.len()} GitRepo objects`);
|
||||
for repo in git_repos {
|
||||
print(` - ${repo.path()}`);
|
||||
}
|
||||
|
||||
return git_repos.len() > 0;
|
||||
}
|
||||
|
||||
// Test GitRepo has_changes method
|
||||
fn test_git_repo_has_changes() {
|
||||
// Get home directory
|
||||
let home_dir = env("HOME");
|
||||
let code_dir = `${home_dir}/code`;
|
||||
|
||||
print("Testing GitRepo has_changes method...");
|
||||
let git_tree = gittree_new(code_dir);
|
||||
let repos = git_tree.list();
|
||||
|
||||
if repos.len() == 0 {
|
||||
print("No repositories found, skipping test");
|
||||
return true;
|
||||
}
|
||||
|
||||
// Get the first repo
|
||||
let git_repos = git_tree.get(repos[0]);
|
||||
if git_repos.len() == 0 {
|
||||
print("Failed to get GitRepo object, skipping test");
|
||||
return true;
|
||||
}
|
||||
|
||||
let git_repo = git_repos[0];
|
||||
let has_changes = git_repo.has_changes();
|
||||
|
||||
print(`Repository ${git_repo.path()} has changes: ${has_changes}`);
|
||||
return true;
|
||||
}
|
||||
|
||||
// Run the tests
|
||||
fn run_tests() {
|
||||
let tests = [
|
||||
#{ name: "git_tree_creation", fn: test_git_tree_creation },
|
||||
#{ name: "git_tree_list", fn: test_git_tree_list },
|
||||
#{ name: "git_tree_find", fn: test_git_tree_find },
|
||||
#{ name: "git_tree_get", fn: test_git_tree_get },
|
||||
#{ name: "git_repo_has_changes", fn: test_git_repo_has_changes }
|
||||
];
|
||||
|
||||
let passed = 0;
|
||||
let failed = 0;
|
||||
|
||||
for test in tests {
|
||||
print(`\nRunning test: ${test.name}`);
|
||||
|
||||
let result = false;
|
||||
try {
|
||||
result = test.fn();
|
||||
} catch(err) {
|
||||
print(`Test ${test.name} threw an error: ${err}`);
|
||||
result = false;
|
||||
}
|
||||
|
||||
if result {
|
||||
print(`Test ${test.name} PASSED`);
|
||||
passed += 1;
|
||||
} else {
|
||||
print(`Test ${test.name} FAILED`);
|
||||
failed += 1;
|
||||
}
|
||||
}
|
||||
|
||||
print(`\nTest summary: ${passed} passed, ${failed} failed`);
|
||||
}
|
||||
|
||||
// Run all tests
|
||||
run_tests();
|
Reference in New Issue
Block a user