'image/jpeg']; } function wp_create_nonce(string $action): string { return 'nonce-' . $action; } function get_query_var(string $name, $default = '') { return $default; } function is_user_logged_in(): bool { return false; } function get_current_user_id(): int { return 0; } function wp_max_upload_size(): int { return 1048576; } function is_page_template(string $template = ''): bool { return false; } function jio_is_lazy(string $scope): bool { return false; } function jio_get_lazy_thumb(string $size = ''): string { return 'https://example.test/lazy.svg'; } function jio_get_default_avatar_url(): string { return 'https://example.test/avatar.png'; } require dirname(__DIR__, 2) . '/src/Core/ScriptsPart1c.php'; class RuntimeAssetBehaviorHarness { use \Jio\Core\ScriptsPart1c; public function enqueue(): void { $this->enqueue_public_fonts_js_and_data('https://example.test/theme', 'jio-public', [], false, false, false, false, JIO_VERSION, []); } private function resolve_frontend_routes(): array { return ['orders' => '/orders', 'resources' => '/resources']; } } function write_runtime_file(string $relative, int $mtime): void { $path = get_template_directory() . '/assets/js/runtime/' . $relative; if (!is_dir(dirname($path))) mkdir(dirname($path), 0777, true); file_put_contents($path, '// ' . $relative); touch($path, $mtime); clearstatcache(true, $path); } function latest_runtime_version(): string { $GLOBALS['runtime_asset_localized'] = []; (new RuntimeAssetBehaviorHarness())->enqueue(); return (string) $GLOBALS['runtime_asset_localized']['loader_js']['_win']['ver']; } $baseTime = time() - 600; write_runtime_file('main.js', $baseTime + 10); write_runtime_file('main.min.js', $baseTime + 30); write_runtime_file('imgbox.js', $baseTime + 20); $versions = [latest_runtime_version()]; write_runtime_file('main.min.js', $baseTime + 40); $versions[] = latest_runtime_version(); write_runtime_file('comment-tools.js', $baseTime + 50); $versions[] = latest_runtime_version(); foreach (glob(get_template_directory() . '/assets/js/runtime/*.js') ?: [] as $file) unlink($file); $versions[] = latest_runtime_version(); foreach (glob(get_template_directory() . '/assets/js/runtime/*') ?: [] as $file) { if (is_dir($file)) rmdir($file); } rmdir(get_template_directory() . '/assets/js/runtime'); rmdir(get_template_directory() . '/assets/js'); rmdir(get_template_directory() . '/assets'); rmdir(get_template_directory()); echo json_encode([ 'versions' => $versions, 'expected' => [(string) ($baseTime + 30), (string) ($baseTime + 40), (string) ($baseTime + 50), JIO_VERSION], ], JSON_THROW_ON_ERROR);