#!/bin/bash set -e # Create test directory TEST_DIR="test_dir" rm -rf "$TEST_DIR" mkdir -p "$TEST_DIR" cd "$TEST_DIR" # Create test files with edge cases touch "Test File (1).txt" touch "Test File (2).txt" touch "60% of Americans Don’t Have $1000 to Pay For Unexpected Medical Expenses.en.vtt" touch "Are You The Patsy?.en.vtt" touch "Can You Change The Culture of Healthcare At your Company?.en.vtt" touch "Let’s Play A Game!.en.vtt" touch "Spend More Time Researching Your Healthcare Budget!.en.vtt" touch "401(k) Plan.en.vtt" touch "Duplicate Name" touch "Duplicate Name" touch "Hidden File" mv "Hidden File" ".Hidden File" # Make it a hidden file # Create a long filename that is under the system limit (255 chars max) long_base="VeryLongFilename_$(printf 'A%.0s' {1..234})" touch "$long_base.txt" # Print original files echo "🔍 Original files:" ls -1 # Dry run test echo -e "\n🧪 Dry run (--dry-run):" ../rename_safe.sh --dry-run . # Actual run test echo -e "\n🚀 Actual run:" ../rename_safe.sh . # Final listing echo -e "\n✅ Final files after renaming:" ls -1 # Cleanup cd .. rm -rf "$TEST_DIR"