test_language_switching.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. // Start session
  3. session_start();
  4. require_once 'includes/config.php';
  5. require_once 'includes/translation.php';
  6. echo "=== Testing Language Switching Fix ===\n\n";
  7. // Test 1: Simulate URL with lang parameter
  8. $_GET['lang'] = 'fi';
  9. $_SERVER['REQUEST_URI'] = '/index.php?lang=fi&category=test';
  10. echo "Test 1 - URL with lang parameter: $_SERVER[REQUEST_URI]\n";
  11. try {
  12. $translation = Translation::getInstance();
  13. echo "Current language after lang parameter: " . $translation->getCurrentLanguage() . "\n";
  14. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n";
  15. echo "SUCCESS: Language switching works!\n\n";
  16. } catch (Exception $e) {
  17. echo "ERROR: " . $e->getMessage() . "\n\n";
  18. }
  19. // Test 2: Simulate URL without lang parameter (should use session)
  20. $_GET = array(); // Clear GET params
  21. $_SERVER['REQUEST_URI'] = '/index.php?category=test';
  22. echo "Test 2 - URL without lang parameter: $_SERVER[REQUEST_URI]\n";
  23. try {
  24. $translation = Translation::getInstance();
  25. echo "Current language from session: " . $translation->getCurrentLanguage() . "\n";
  26. echo "Session language: " . ($_SESSION['language'] ?? 'not set') . "\n";
  27. echo "SUCCESS: Session persistence works!\n\n";
  28. } catch (Exception $e) {
  29. echo "ERROR: " . $e->getMessage() . "\n\n";
  30. }
  31. // Test 3: Test language switcher generation
  32. echo "Test 3 - Language switcher generation:\n";
  33. $switcherHtml = $translation->getLanguageSwitcher('index.php?category=test');
  34. echo "Language switcher HTML:\n$switcherHtml\n\n";
  35. echo "=== All Tests Completed ===\n";
  36. ?>