Headers & Footers Plugin - Ultimate Test

WordPress: ' . get_bloginfo('version') . ' | PHP: ' . PHP_VERSION . '

'; $all_passed = true; $start_time = microtime(true); // TEST 1: Files echo '
TEST 1: Plugin Files
'; $files = array( 'Main plugin' => plugin_dir_path(__FILE__) . 'pc-headers-and-footers-and-ad-pixels-5ake.php', 'Database class' => dirname(__FILE__) . '/includes/class-database.php', 'Snippet class' => dirname(__FILE__) . '/includes/class-snippet.php', 'Admin class' => dirname(__FILE__) . '/admin/class-admin.php', 'Public class' => dirname(__FILE__) . '/public/class-public.php', ); foreach ($files as $name => $path) { if (file_exists($path)) { echo "

OK: $name exists

"; } else { echo "

FAIL: $name MISSING!

"; $all_passed = false; } } // TEST 2: Classes echo '
TEST 2: Classes
'; if (class_exists('PC_HFAP_Database')) { echo "

OK: PC_HFAP_Database class exists

"; } else { echo "

FAIL: PC_HFAP_Database class not found

"; $all_passed = false; } if (class_exists('PC_HFAP_Snippet')) { echo "

OK: PC_HFAP_Snippet class exists

"; } else { echo "

FAIL: PC_HFAP_Snippet class not found

"; $all_passed = false; } // TEST 3: Database echo '
TEST 3: Database Table
'; try { global $wpdb; PC_HFAP_Database::create_tables(); $table_name = PC_HFAP_Database::get_table_name(); $table_exists = $wpdb->get_var($wpdb->prepare('SHOW TABLES LIKE %s', $table_name)); if ($table_name === $table_exists) { echo "

OK: Table \'$table_name\' exists

"; $count = $wpdb->get_var("SELECT COUNT(*) FROM $table_name"); echo "

Current snippets: $count

"; } else { echo "

FAIL: Table does not exist!

"; $all_passed = false; } } catch (Exception $e) { echo "

FAIL: Database error: " . $e->getMessage() . '

'; $all_passed = false; } // TEST 4: CRUD echo '
TEST 4: CRUD Operations
'; $test_id = 0; // CREATE try { $data = array( 'title' => 'Ultimate Test ' . time(), 'location' => 'header', 'code' => '' ); $snippet = new PC_HFAP_Snippet($data); $result = $snippet->save(); if ($result) { $test_id = $result; echo "

OK: CREATE - Snippet ID $result created

"; } else { echo "

FAIL: CREATE - Failed to create snippet

"; echo "

Error: " . $wpdb->last_error . '

'; $all_passed = false; } } catch (Exception $e) { echo "

FAIL: CREATE Exception: " . $e->getMessage() . '

'; $all_passed = false; } // READ if ($test_id > 0) { try { $snippet = PC_HFAP_Snippet::get_by_id($test_id); if ($snippet && $snippet->get_id()) { echo "

OK: READ - Retrieved snippet

"; } else { echo "

FAIL: READ - Could not retrieve

"; $all_passed = false; } } catch (Exception $e) { echo "

FAIL: READ Exception

"; $all_passed = false; } // UPDATE try { $snippet = PC_HFAP_Snippet::get_by_id($test_id); if ($snippet) { $snippet->set_title('Updated ' . time()); $snippet->set_code(''); $update_result = $snippet->save(); if ($update_result !== false) { echo "

OK: UPDATE - Snippet updated

"; } else { echo "

FAIL: UPDATE - Failed

"; $all_passed = false; } } } catch (Exception $e) { echo "

FAIL: UPDATE Exception

"; $all_passed = false; } // DELETE try { $snippet = PC_HFAP_Snippet::get_by_id($test_id); if ($snippet) { $delete_result = $snippet->delete(); if ($delete_result) { echo "

OK: DELETE - Snippet deleted

"; } else { echo "

FAIL: DELETE - Failed

"; $all_passed = false; } } } catch (Exception $e) { echo "

FAIL: DELETE Exception

"; $all_passed = false; } } else { echo "

FAIL: SKIPPED READ/UPDATE/DELETE (no ID)

"; $all_passed = false; } // FINAL $end_time = microtime(true); $duration = round(($end_time - $start_time) * 1000, 2); echo '
'; echo '
'; echo '

COMPLETED IN ' . $duration . 'ms

'; if ($all_passed) { echo '

ALL TESTS PASSED

'; } else { echo '

SOME TESTS FAILED

'; } echo '
'; echo '

Quick Links

'; echo ''; echo '';