Skip to content

v0.2 refinements: resolve the 14 open issues#75

Merged
gin0115 merged 5 commits into
masterfrom
feature/v0.2-refinements
Jun 4, 2026
Merged

v0.2 refinements: resolve the 14 open issues#75
gin0115 merged 5 commits into
masterfrom
feature/v0.2-refinements

Conversation

@gin0115
Copy link
Copy Markdown
Owner

@gin0115 gin0115 commented Jun 4, 2026

No breaking API changes. Full WP PHPUnit suite green; phpstan -l8 clean; php-cs-fixer @psr12 clean.

CI reworked into per-WP-version workflows (6.6-6.9 x PHP 8.0-8.4 x MySQL/MariaDB). (#55 complex example + visual page live in the consuming pixie-harness plugin.)

glynn and others added 2 commits June 4, 2026 12:35
No breaking API changes. Full WP PHPUnit suite green; phpstan -l8 clean;
php-cs-fixer @psr12 clean.

- #26 Opt-in throw on WPDB error (Connection::THROW_ON_ERROR + WpDbException)
- #27 Table aliases via ['table' => 'alias'] for selection and joins
- #28 JSON Support Phase 2 (portable JSON_* modification expressions + orderByJson cast)
- #31 Uncouple QueryBuilder into self-contained condition handlers
- #36 Eloquent-style when(bool, Closure, ?Closure)
- #48 Relocate sanitiser into a Sanitizer class (wrapSanitizer kept for BC)
- #50 Object-based events (Event value object + lazy static constructors)
- #56 Statements as value objects (ArrayAccess; getStatements() shape unchanged)
- #70-74 Composer/toolchain alignment: WP 6.9, PHP floor 8.0, PHPUnit ^8||^9, PHPStan ^2

CI reworked into per-WP-version workflows (6.6-6.9 x PHP 8.0-8.4 x MySQL/MariaDB).
(#55 complex example + visual page live in the consuming pixie-harness plugin.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
phpmyadmin/sql-parser dev-master now requires PHP ^8.2, which broke
`composer update` on the 8.0 and 8.1 matrix legs. Pin to the 5.x line
(resolves to 5.11.1), which supports PHP 7.2-8.4 and keeps the Parser /
ParserException API the test suite uses. Suite stays green (289 tests).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Jun 4, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.51%. Comparing base (e421b6e) to head (38c4bc2).
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@             Coverage Diff              @@
##             master      #75      +/-   ##
============================================
+ Coverage     97.62%   98.51%   +0.88%     
- Complexity      440      523      +83     
============================================
  Files            18       29      +11     
  Lines          1095     1347     +252     
============================================
+ Hits           1069     1327     +258     
+ Misses           26       20       -6     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

glynn and others added 3 commits June 4, 2026 12:52
…onfig

WordPress 6.8 added an E_USER_NOTICE when wp_is_block_theme() is called
too early; the WP test framework turns it into a failure, so the WP 6.8
and 6.9 CI legs failed while 6.6/6.7 passed. Add the same error handler
the Perique libraries use to suppress only that specific notice.

@see https://core.trac.wordpress.org/ticket/63086

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Cover the branches the new code added so the patch doesn't drop coverage:
- Statement ArrayAccess writes (offsetSet keyed + append, offsetUnset)
- JoinStatement/OrderByStatement typed getters
- WpDbException::fromWpdb() empty-last_error fallback + SQL context
- JoinConditionHandler plain-string and Raw join tables
- JsonExpressionFactory Raw value / Raw document / float branches

All new src files now report 100% line coverage (301 tests, 953 assertions).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the legacy verbose Scrutinizer config with the standard Perique
layout (checks/build/tools/filter/coding_style), tweaked for this setup:
PSR-12 (4-space, not tabs) coding style and excluding the roots/wordpress
core install dir.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@gin0115 gin0115 merged commit c8e1d8d into master Jun 4, 2026
60 of 61 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants