--TEST-- isVisible: enforces publish_date and expiry_date boundaries --FILE-- $tomorrow]) ? "visible\n" : "hidden\n"; // Past publish_date = visible echo isVisible(['publish_date' => $yesterday]) ? "visible\n" : "hidden\n"; // Publish date = today = visible (inclusive) echo isVisible(['publish_date' => $today]) ? "visible\n" : "hidden\n"; // Past expiry_date = hidden echo isVisible(['expiry_date' => $yesterday]) ? "visible\n" : "hidden\n"; // Future expiry_date = visible echo isVisible(['expiry_date' => $tomorrow]) ? "visible\n" : "hidden\n"; // Expiry date = today = visible (inclusive) echo isVisible(['expiry_date' => $today]) ? "visible\n" : "hidden\n"; // Both set, today in range = visible echo isVisible([ 'publish_date' => $yesterday, 'expiry_date' => $tomorrow, ]) ? "visible\n" : "hidden\n"; // Both set, today before range = hidden echo isVisible([ 'publish_date' => $tomorrow, 'expiry_date' => gmdate('Y-m-d', strtotime('+2 days')), ]) ? "visible\n" : "hidden\n"; // Both set, today after range = hidden echo isVisible([ 'publish_date' => gmdate('Y-m-d', strtotime('-3 days')), 'expiry_date' => $yesterday, ]) ? "visible\n" : "hidden\n"; ?> --EXPECT-- hidden visible visible hidden visible visible visible hidden hidden