#!/bin/bash # Enhanced Test Suite for CodePress CMS v2.0 - WCAG 2.1 AA Compliant # Tests for 100% functionality, security, and accessibility compliance BASE_URL="http://localhost:8080" TOTAL_TESTS=0 PASSED_TESTS=0 FAILED_TESTS=0 WARNINGS=0 # Colors for output RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${BLUE}========================================${NC}" echo -e "${BLUE}CodePress CMS v2.0 Enhanced Test Suite${NC}" echo -e "${BLUE}Target: $BASE_URL${NC}" echo -e "${BLUE}WCAG 2.1 AA Compliant - 100% Goal${NC}" echo -e "${BLUE}========================================${NC}" # Function to run a test run_test() { local test_name="$1" local test_command="$2" local expected="$3" echo -n "Testing: $test_name... " result=$(eval "$test_command" 2>/dev/null) if [ "$result" = "$expected" ]; then echo -e "${GREEN}[PASS]${NC} ✅" ((PASSED_TESTS++)) else echo -e "${RED}[FAIL]${NC} ❌" echo " Expected: $expected" echo " Got: $result" ((FAILED_TESTS++)) fi ((TOTAL_TESTS++)) } echo "" echo -e "${BLUE}1. CORE CMS FUNCTIONALITY TESTS${NC}" echo "-------------------------------" # Test 1: Homepage loads with accessibility run_test "Homepage with accessibility" "curl -s '$BASE_URL/' | grep -c 'role=\"main\"'" "1" # Test 2: Guide page loads with ARIA run_test "Guide page ARIA" "curl -s '$BASE_URL/?guide' | grep -c 'role=\"main\"'" "1" # Test 3: Language switching with accessibility run_test "Language switching" "curl -s '$BASE_URL/?lang=en' | grep -c 'lang=\"en\"'" "1" # Test 4: Search functionality with ARIA run_test "Search ARIA" "curl -s '$BASE_URL/?search=test' | grep -c 'role=\"search\"'" "1" echo "" echo -e "${BLUE}2. CONTENT RENDERING TESTS${NC}" echo "--------------------------" # Test 5: Markdown rendering with accessibility run_test "Markdown accessibility" "curl -s '$BASE_URL/' | grep -c '