Files
mataba/shop/docs/TESTING.md
T

3.0 KiB
Raw Blame History

XShop – Testing

1. Levels

Level Tool Scope
PHP lint php -l Every PHP file on build
PHPCS WordPress standard Security & WPCS violations
PHPStan level 6 Core plugin classes
JS lint ESLint Assets
Manual Checklist Features per Definition of Done

2. Manual Matrix (must pass before 1.0.0)

  • Activation/deactivation (theme + plugin), WC integration, products (simple/variable), cart/checkout/account, search/filter, wishlist/compare, Q&A, mobile menu, mega menu, RTL, LTR, dark mode, Elementor, Gutenberg.

M1 Gate (foundation) — manual QA performed 2026-09-13

Check Result
php -l on all xshop-theme/**/*.php (PHP 8.2.12) ✅ Pass (24 files incl. inc/setup/body-classes.php:1)
node --check assets/js/theme.js ✅ Pass
No TODO/FIXME/console.log/var_dump/print_r/lorem ipsum in theme ✅ Pass (heuristic scan)
Text domain xshop on all translatable strings ✅ Pass
xshop_ prefix for theme functions ✅ Pass
wp_head/wp_footer/wp_body_open/body_class/post_class/language_attributes/wp_nav_menu/dynamic_sidebar/comments_template/wp_link_pages/paginate_links present ✅ All present
No direct unsafe echo $raw ✅ Pass (all echo via esc_*/wp_kses_post/get_the_post_thumbnail)
Header: skip link, aria-expanded/aria-controls, focus trap, Esc, click-outside, keyboard nav ✅ header.php:1 + site-header.php:1 + theme.js:1
Footer: widgets, nav, copyright, accessible ✅ site-footer.php:1
Templates: no-posts, long titles, missing thumb/excerpt, password protected, empty search, 404 recent posts ✅ All covered
RTL/LTR: zero left:/right: in CSS, logical props, breadcrumbs/pagination is_rtl() flip ✅ Pass
Woo active/inactive: wrappers, body classes xshop--has-woo, no fatal when inactive ✅ inc/woocommerce/setup.php:1 + inc/helpers/template.php:1 guards
Dark mode tokens ✅ tokens.css:1 full coverage + header.php:1 data-theme + body-classes.php:1
Responsive: 360/768/1024/1280 token breakpoints ✅ layout.css:1 + components.css:1
No PHP warnings/notices (static) ✅ Pass — no undefined vars, all apply_filters guarded

3. Browser

Chromium, Firefox, Edge, Safari (where available). Responsive: 360/768/1024/1280.

4. Accessibility Checks

Keyboard nav, focus trap (modal/drawer), visible focus, semantic HTML, labels, screen reader (NVDA/VoiceOver spot), contrast, prefers-reduced-motion.

5. Performance Smoke

Lighthouse home/shop/product ≥ 85 perf (desktop). Query count via Query Monitor.

6. How to Run (local)

C:\xampp\php\php.exe -l xshop-theme\functions.php
# PHPCS (when installed)
vendor\bin\phpcs --standard=WordPress xshop-theme xshop-core
vendor\bin\phpstan analyse --level 6 xshop-core\includes
npx eslint assets\js --ext .js

7. Release Gate

No PHP warnings/notices, no console errors, no PHPCS security errors.