Just Modern Images – Ultimate Stress Test

ERROR: No JPG/PNG attachments found. Upload a couple of images first.

1) wp_get_attachment_image()

2) Exclude classes (should NOT be wrapped)

These <img> have class no-modern. If your settings exclude it, it must remain untouched.

3) High priority (should be skipped when Process high-priority = OFF)

High priority test

4) the_content() – mixed markup (conversion expected where applicable)

Plain img from uploads:

plain-from-uploads

Lazy attributes only (data-src):

lazy-data-src

Lazy attributes: data-litespeed-original:

lazy-litespeed

srcset ONLY (no src) – must not fatal:

srcset-only

Protocol-relative (should be skipped):

proto-relative

With querystring (should be skipped unless plugin supports it):

querystring

Uploads-looking but wrong host (must bail-out):

wrong-host

Already in picture WITHOUT sources (should be augmented):

picture-no-sources

Picture with WebP source only (augment should add AVIF when buffer ON):

picture-webp-only

Picture with broken srcset (must NOT fatal; must NOT add empty sources):

broken-srcset

srcset with density descriptors (1x/2x):

density-srcset

srcset with weird spacing (parser robustness):

weird-spacing

Malformed img tag (should not fatal):

Data URI (should be ignored):

SVG (should be ignored):

svg

Uppercase extension (likely skipped):

uppercase

Inside noscript (should be ignored by DOM as text or handled safely):

5) Existing picture with WebP/AVIF sources (must not duplicate) – passed through the_content()

already-webp-avif

6) Very small image / tiny candidate (should be skipped)

7) Control group (NOT passed through filters)

If you see conversion here, something is rewriting raw output unexpectedly.

raw-no-filter