test_tui_files.py
1 #!/usr/bin/env python3 2 """ 3 Test the file reading functionality we added to TUI. 4 """ 5 6 import sys 7 import os 8 from pathlib import Path 9 10 # Add the project root to Python path 11 project_root = os.path.dirname(os.path.abspath(__file__)) 12 sys.path.insert(0, project_root) 13 14 def test_directory_listing(): 15 """Test directory listing functionality.""" 16 try: 17 cwd = Path.cwd() 18 files = [] 19 dirs = [] 20 21 for item in cwd.iterdir(): 22 if item.is_dir(): 23 dirs.append(f"๐ {item.name}/") 24 else: 25 size = item.stat().st_size 26 if size < 1024: 27 size_str = f"{size}B" 28 elif size < 1024*1024: 29 size_str = f"{size//1024}KB" 30 else: 31 size_str = f"{size//(1024*1024)}MB" 32 files.append(f"๐ {item.name} ({size_str})") 33 34 print(f"๐ Current Directory: {cwd}\n") 35 36 if dirs: 37 print("๐ Directories:") 38 for d in sorted(dirs): 39 print(f" {d}") 40 print() 41 42 if files: 43 print("๐ Files:") 44 for f in sorted(files): 45 print(f" {f}") 46 47 if not dirs and not files: 48 print("Empty directory") 49 50 return True 51 52 except Exception as e: 53 print(f"โ Error reading directory: {str(e)}") 54 return False 55 56 def test_file_reading(): 57 """Test file reading functionality.""" 58 try: 59 # Test reading the README 60 from kamaji.file_context import read_file_content 61 62 content = read_file_content("README.md") 63 if content is None: 64 print("โ Could not read README.md") 65 return False 66 67 # Show first 500 characters 68 if len(content) > 500: 69 display_content = content[:500] + f"\n\n[... truncated, showing first 500 of {len(content)} characters]" 70 else: 71 display_content = content 72 73 print(f"๐ README.md:\n{display_content}") 74 return True 75 76 except Exception as e: 77 print(f"โ Error reading file: {str(e)}") 78 return False 79 80 if __name__ == "__main__": 81 print("๐งช Testing Kamaji TUI File Functionality\n") 82 83 print("1. Testing directory listing...") 84 if test_directory_listing(): 85 print("โ Directory listing works!\n") 86 else: 87 print("โ Directory listing failed!\n") 88 89 print("2. Testing file reading...") 90 if test_file_reading(): 91 print("โ File reading works!") 92 else: 93 print("โ File reading failed!")