PHPUnit 9.6.34 by Sebastian Bergmann and contributors. Runtime: PHP 8.5.5 Configuration: /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/phpunit.xml Admin Settings ✔ Sanitize ra valid [0.05 ms] ✔ Sanitize ra zero [0.03 ms] ✔ Sanitize ra max [0.03 ms] ✔ Sanitize ra clamps negative [0.03 ms] ✔ Sanitize ra clamps over 360 [0.03 ms] ✔ Sanitize ra handles string [0.03 ms] ✔ Sanitize ra handles non numeric [0.02 ms] ✔ Sanitize dec valid [0.02 ms] ✔ Sanitize dec negative max [0.02 ms] ✔ Sanitize dec positive max [0.03 ms] ✔ Sanitize dec clamps below minus90 [0.02 ms] ✔ Sanitize dec clamps above 90 [0.02 ms] ✔ Sanitize fov valid [0.03 ms] ✔ Sanitize fov min [0.02 ms] ✔ Sanitize fov max [0.02 ms] ✔ Sanitize fov clamps zero [0.02 ms] ✔ Sanitize fov clamps negative [0.03 ms] ✔ Sanitize fov clamps over 180 [0.02 ms] ✔ Constants [0.02 ms] Bulk Import ✔ Page slug constant [0.03 ms] ✔ Nonce action constant [0.02 ms] ✔ Required columns constant [0.03 ms] ✔ All columns includes optional fields [0.02 ms] ✔ Valid media types [0.02 ms] ✔ Add submenu page registers under pin cpt with capability [0.03 ms] ✔ Process row missing object name returns error [0.03 ms] ✔ Process row missing ra returns error [0.02 ms] ✔ Process row missing dec returns error [0.02 ms] ✔ Process row rejects ra above 360 [0.03 ms] ✔ Process row rejects ra negative [0.02 ms] ✔ Process row rejects dec above 90 [0.02 ms] ✔ Process row rejects dec below minus90 [0.03 ms] ✔ Process row accepts boundary values [0.03 ms] ✔ Process row creates published cc pin post [0.02 ms] ✔ Process row sets all meta fields [0.03 ms] ✔ Process row defaults invalid media type to photo [0.03 ms] ✔ Process row defaults empty media type to photo [0.02 ms] ✔ Process row skips empty optional meta fields [0.02 ms] ✔ Process row attaches featured image when filename matches [0.04 ms] ✔ Process row creates pin without image when filename missing [0.03 ms] ✔ Process row creates pin with empty image filename [0.02 ms] ✔ Find attachment uses prepared query with esc like [0.03 ms] ✔ Find attachment anchors like on path separator [0.03 ms] ✔ Find attachment escapes like wildcards in filename [0.02 ms] ✔ Find attachment returns false on empty filename [0.02 ms] ✔ Find attachment returns false when no match [0.03 ms] ✔ Process import reports error when no file uploaded [0.04 ms] ✔ Process import reports error on upload error [0.02 ms] ✔ Process import reports error when required column missing [1.45 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 ✔ Process import creates valid rows and skips invalid ones [0.27 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Process import skipped message includes line number [0.21 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Process import handles case insensitive headers [0.20 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Process import skips fully empty lines [0.21 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Serve sample csv no op without trigger [0.04 ms] ✔ Serve sample csv no op without nonce [0.02 ms] ✔ Serve sample csv no op without capability [0.02 ms] ✔ Serve sample csv outputs template when authorized [0.06 ms] ✔ Validate row rejects non numeric ra [0.02 ms] ✔ Validate row rejects non numeric dec [0.02 ms] ✔ Process row rejects non numeric ra does not create origin pin [0.03 ms] ✔ Create pin from validated returns error when insert returns zero [0.02 ms] ✔ Parse uploaded csv strips utf8 bom from first header [0.19 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Parse uploaded csv rejects non csv extension [0.15 ms] ✔ Parse uploaded csv returns rows with validation status [0.21 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Parse uploaded csv preserves raw record for preview [0.23 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Parse uploaded csv includes line numbers [0.20 ms] Deprecated: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 249 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 272 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 Deprecated: fgetcsv(): the $escape parameter must be provided as its default value will change in /Volumes/T9/Astro/Site Web Cassini/clubcassini-local/app/public/wp-content/plugins/cc-planetarium/includes/class-cc-bulk-import.php on line 300 ✔ Create pins from validated rows creates only valid rows [0.04 ms] ✔ Create pins from validated rows handles empty input [0.02 ms] ✔ Create pin from validated creates published pin with meta [0.02 ms] ✔ Render page preview action stores transient and renders preview [0.35 ms] ✔ Render page import action creates pins from transient and deletes it [0.12 ms] ✔ Render page import action with expired transient shows fatal error [0.10 ms] ✔ Render page cancel action deletes transient [0.09 ms] ✔ Render page no post renders upload form [0.10 ms] ✔ Preview nonce action constant [0.03 ms] ✔ Confirm nonce action constant [0.02 ms] DSOCatalog ✔ Search returns results for valid query [0.32 ms] ✔ Search is case insensitive [0.27 ms] ✔ Search by alias [0.28 ms] ✔ Search prefix matching [0.22 ms] ✔ Search max 8 results [0.22 ms] ✔ Search empty query returns empty [0.04 ms] ✔ Search no match returns empty [0.25 ms] ✔ Get returns object [0.23 ms] ✔ Get is case insensitive [0.21 ms] ✔ Get returns null for unknown [0.23 ms] ✔ Get returns null for empty [0.04 ms] ✔ Catalog entries have required fields [0.20 ms] ✔ Get ra in valid range [0.24 ms] ✔ Get dec in valid range [0.22 ms] ✔ Search ngc object [0.27 ms] ✔ Search ic object [0.27 ms] ✔ Search results have required fields [0.27 ms] Moderation Rest ✔ Moderation routes are registered [0.04 ms] ✔ Get submissions permission requires cc approve submissions [0.03 ms] ✔ Get submissions returns empty when none [0.03 ms] ✔ Get submissions formats pending pins [0.04 ms] ✔ Get submissions handles deleted author [0.03 ms] ✔ Get submissions sets pagination headers [0.03 ms] ✔ Get submissions clamps per page to 100 [0.02 ms] ✔ Approve submission flips status to publish [0.03 ms] ✔ Approve submission fires action hook [0.02 ms] ✔ Approve submission missing post returns 404 [0.03 ms] ✔ Approve submission wrong post type returns 404 [0.02 ms] ✔ Approve submission already published returns 400 [0.02 ms] ✔ Approve submission already trashed returns 400 [0.02 ms] ✔ Reject submission trashes post [0.03 ms] ✔ Reject submission stores reason in meta [0.03 ms] ✔ Reject submission without reason does not store meta [0.02 ms] ✔ Reject submission ignores whitespace reason [0.02 ms] ✔ Reject submission fires action hook [0.02 ms] ✔ Reject submission missing post returns 404 [0.02 ms] ✔ Reject submission already processed returns 400 [0.02 ms] ✔ Approve route permission requires capability [0.03 ms] ✔ Reject route permission requires capability [0.03 ms] Moderation ✔ Page slug constant [0.02 ms] ✔ Capability constant [0.02 ms] ✔ Add submenu page registers under pin cpt [0.03 ms] ✔ Add submenu page has no badge when zero pending [0.02 ms] ✔ Add submenu page includes badge when pending [0.02 ms] ✔ Get pending count returns int [0.02 ms] ✔ Get pending count defaults to zero [0.02 ms] ✔ Badge added to parent menu when pending [0.03 ms] ✔ Badge not added to parent menu when zero pending [0.02 ms] ✔ Badge handler tolerates missing global menu [0.02 ms] Pin Cpt Admin ✔ Add meta box registers meta box [0.03 ms] ✔ Set columns includes author [0.02 ms] ✔ Set columns order [0.02 ms] ✔ Render author column [0.03 ms] ✔ Save meta saves all fields [0.05 ms] ✔ Save meta clamps ra [0.03 ms] ✔ Save meta rejects invalid nonce [0.02 ms] ✔ Save meta rejects without capability [0.02 ms] ✔ Save meta validates date format [0.02 ms] ✔ Save meta validates media type [0.02 ms] ✔ Save meta allows empty date [0.02 ms] ✔ Save meta skips on autosave [0.02 ms] ✔ Add admin hooks method exists [0.02 ms] ✔ Enqueue admin assets method exists [0.02 ms] ✔ Ajax dso search method exists [0.02 ms] ✔ Meta box template exists [0.03 ms] Pin Cpt ✔ Post type slug [0.02 ms] ✔ Post type slug length [0.03 ms] ✔ Register is callable [0.02 ms] ✔ Auth callback exists [0.02 ms] ✔ Admin column methods exist [0.02 ms] ✔ Set columns keys [0.02 ms] Plugin Structure ✔ Required files exist [0.06 ms] ✔ Required directories exist [0.04 ms] ✔ Constants defined [0.02 ms] ✔ Plugin header [0.04 ms] ✔ Php files valid syntax [587.54 ms] Rest Api ✔ Namespace [0.04 ms] ✔ Register routes callable [0.04 ms] ✔ Register routes registers expected routes [0.05 ms] ✔ Get pins returns empty array when no pins [0.04 ms] ✔ Get pins returns formatted pins [0.04 ms] ✔ Get pins sets pagination headers [0.03 ms] ✔ Get pins image url null without thumbnail [0.03 ms] ✔ Get pins image url set with thumbnail [0.03 ms] ✔ Search pins returns error without query [0.03 ms] ✔ Search pins returns results with query [0.02 ms] ✔ Search pins empty query returns error [0.02 ms] ✔ Create pin creates post with meta [0.05 ms] ✔ Create pin fires action hook [0.03 ms] ✔ Create pin missing title returns error [0.02 ms] ✔ Create pin missing object name returns error [0.03 ms] ✔ Create pin invalid image id returns error [0.03 ms] ✔ Update pin updates title [0.02 ms] ✔ Update pin partial update meta [0.04 ms] ✔ Update pin not found [0.02 ms] ✔ Update pin wrong post type [0.02 ms] ✔ Update pin fires action hook [0.02 ms] ✔ Delete pin trashes post [0.03 ms] ✔ Delete pin not found [0.02 ms] ✔ Delete pin fires action hook [0.02 ms] ✔ Format pin returns all expected fields [0.03 ms] ✔ Format pin ra dec are floats [0.03 ms] ✔ Route args include per page and page [0.03 ms] ✔ Per page validation rejects over 200 [0.03 ms] ✔ Post route args include required fields [0.03 ms] ✔ Submissions route registered [0.02 ms] ✔ Upload route registered [0.03 ms] ✔ Submissions permission requires logged in [0.03 ms] ✔ Create submission creates pending pin with meta [0.04 ms] ✔ Create submission fires action hook [0.03 ms] ✔ Create submission rejects invalid image id [0.03 ms] ✔ Create submission rejects empty object name [0.02 ms] ✔ Submissions media type validator accepts three values [0.02 ms] ✔ Submissions ra validator clamps range [0.03 ms] ✔ Submissions dec validator clamps range [0.03 ms] ✔ Upload permission requires logged in [0.02 ms] ✔ Upload image rejects missing file [0.03 ms] ✔ Upload image rejects invalid mime [0.02 ms] ✔ Upload image rejects oversize file [0.02 ms] ✔ Upload image returns attachment metadata on success [0.04 ms] ✔ Upload image propagates wp handle upload error [0.03 ms] ✔ Create submission rejects trashed attachment [0.02 ms] ✔ Create submission rejects attachment owned by another user [0.02 ms] ✔ Create submission allows admin override for foreign attachment [0.03 ms] ✔ Create submission enforces daily quota [0.02 ms] ✔ Upload image enforces daily quota [0.02 ms] ✔ Quota counter increments on success [0.03 ms] ✔ Delete upload removes orphan attachment owned by user [0.03 ms] ✔ Delete upload rejects non owner [0.02 ms] ✔ Delete upload rejects attached image [0.02 ms] ✔ Delete upload rejects unknown id [0.03 ms] ✔ Delete upload route registered [0.03 ms] ✔ Observation date validator accepts valid iso date [0.08 ms] ✔ Observation date validator rejects invalid format [0.03 ms] ✔ Observation date validator rejects far future [0.03 ms] ✔ Object name validator rejects overlong input [0.03 ms] ✔ Description validator rejects overlong input [0.03 ms] ✔ Equipment validator rejects overlong input [0.02 ms] Roles ✔ Capabilities defined [0.03 ms] ✔ Capabilities have cc prefix [0.03 ms] ✔ Create roles is callable [0.03 ms] ✔ Remove roles is callable [0.02 ms] Uninstall ✔ Uninstall file exists [0.03 ms] ✔ Uninstall checks constant [0.04 ms] ✔ Uninstall cleans options [0.04 ms] ✔ Uninstall removes roles [0.03 ms] ✔ Uninstall deletes posts [0.03 ms] ✔ Uninstall flushes rewrites [0.04 ms] Wasm Mime ✔ Activate adds wasm mime type [0.04 ms] ✔ Deactivate removes wasm mime type [0.03 ms] ✔ Add wasm upload mime [0.02 ms] ✔ Shortcode has a11y attributes [0.03 ms] ✔ Localize script includes i18n loading text [0.05 ms] Time: 00:00.605, Memory: 33.94 MB OK (229 tests, 586 assertions)