|
@@ 2347-2370 (lines=24) @@
|
| 2344 |
|
* |
| 2345 |
|
* Default case: img with srcsets |
| 2346 |
|
*/ |
| 2347 |
|
public function test_imgopt_exclusion() |
| 2348 |
|
{ |
| 2349 |
|
$urls = $this->get_urls(); |
| 2350 |
|
$siteurl = $urls['siteurl']; |
| 2351 |
|
$imgopthost = $urls['imgopthost']; |
| 2352 |
|
$opts = autoptimizeImages::fetch_options(); |
| 2353 |
|
$opts['autoptimize_imgopt_checkbox_field_1'] = '1'; |
| 2354 |
|
$opts['autoptimize_imgopt_checkbox_field_3'] = '0'; |
| 2355 |
|
$opts['autoptimize_imgopt_text_field_6'] = 'excluded.jpg'; |
| 2356 |
|
|
| 2357 |
|
$markup = <<<MARKUP |
| 2358 |
|
<img src='$siteurl/wp-content/image.jpg' width='400' height='200' srcset="$siteurl/wp-content/image-300X150.jpg 300w, $siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /> |
| 2359 |
|
<img src='$siteurl/wp-content/excluded.jpg' width='400' height='200' srcset="$siteurl/wp-content/image-300X150.jpg 300w, $siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /> |
| 2360 |
|
MARKUP; |
| 2361 |
|
|
| 2362 |
|
$expected = <<<MARKUP |
| 2363 |
|
<img src='$imgopthost/client/q_glossy,ret_img,w_400,h_200/$siteurl/wp-content/image.jpg' width='400' height='200' srcset="$imgopthost/client/q_glossy,ret_img,w_300/$siteurl/wp-content/image-300X150.jpg 300w, $imgopthost/client/q_glossy,ret_img,w_600/$siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /> |
| 2364 |
|
<img src='$siteurl/wp-content/excluded.jpg' width='400' height='200' srcset="$siteurl/wp-content/image-300X150.jpg 300w, $siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /> |
| 2365 |
|
MARKUP; |
| 2366 |
|
$instance = autoptimizeImages::instance(); |
| 2367 |
|
$instance->set_options( $opts ); |
| 2368 |
|
$actual = $instance->filter_optimize_images( $markup ); |
| 2369 |
|
$this->assertEquals( $expected, $actual ); |
| 2370 |
|
} |
| 2371 |
|
|
| 2372 |
|
/** |
| 2373 |
|
* Test image optimization in autoptimizeImages.php. |
|
@@ 2431-2452 (lines=22) @@
|
| 2428 |
|
* |
| 2429 |
|
* case: img with srcsets and lazyload |
| 2430 |
|
*/ |
| 2431 |
|
public function test_imgopt_with_lazyload() |
| 2432 |
|
{ |
| 2433 |
|
$urls = $this->get_urls(); |
| 2434 |
|
$siteurl = $urls['siteurl']; |
| 2435 |
|
$imgopthost = $urls['imgopthost']; |
| 2436 |
|
$opts = autoptimizeImages::fetch_options(); |
| 2437 |
|
$opts['autoptimize_imgopt_checkbox_field_1'] = '1'; |
| 2438 |
|
$opts['autoptimize_imgopt_checkbox_field_3'] = '1'; |
| 2439 |
|
|
| 2440 |
|
$markup = <<<MARKUP |
| 2441 |
|
<img src='$siteurl/wp-content/image.jpg' width='400' height='200' srcset="$siteurl/wp-content/image-300X150.jpg 300w, $siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /> |
| 2442 |
|
MARKUP; |
| 2443 |
|
|
| 2444 |
|
$expected = <<<MARKUP |
| 2445 |
|
<noscript><img src='$imgopthost/client/q_glossy,ret_img,w_400,h_200/$siteurl/wp-content/image.jpg' width='400' height='200' srcset="$imgopthost/client/q_glossy,ret_img,w_300/$siteurl/wp-content/image-300X150.jpg 300w, $imgopthost/client/q_glossy,ret_img,w_600/$siteurl/wp-content/image-600X300.jpg 600w" sizes="(max-width: 300px) 100vw, 300px" /></noscript><img class="lazyload" src='$imgopthost/client/q_lqip,ret_wait,w_400,h_200/$siteurl/wp-content/image.jpg' data-src='$imgopthost/client/q_glossy,ret_img,w_400,h_200/$siteurl/wp-content/image.jpg' width='400' height='200' data-srcset="$imgopthost/client/q_glossy,ret_img,w_300/$siteurl/wp-content/image-300X150.jpg 300w, $imgopthost/client/q_glossy,ret_img,w_600/$siteurl/wp-content/image-600X300.jpg 600w" data-sizes="(max-width: 300px) 100vw, 300px" /> |
| 2446 |
|
MARKUP; |
| 2447 |
|
|
| 2448 |
|
$instance = autoptimizeImages::instance(); |
| 2449 |
|
$instance->set_options( $opts ); |
| 2450 |
|
$actual = $instance->filter_optimize_images( $markup ); |
| 2451 |
|
$this->assertEquals( $expected, $actual ); |
| 2452 |
|
} |
| 2453 |
|
|
| 2454 |
|
/** |
| 2455 |
|
* Test image optimization in autoptimizeImages.php. |