Skip to content

Commit c8b7ce0

Browse files
committed
Fix adding data-od-replaced meta attributes for values given to boolean attributes
1 parent da8aa56 commit c8b7ce0

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

plugins/image-prioritizer/tests/test-cases/multiple-videos-on-all-breakpoints.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static function () use ( $breakpoint_max_widths ) {
5656
<body>
5757
<video class="desktop" poster="https://example.com/poster1.jpg" width="1200" height="500" src="https://example.com/header1.mp4" preload="none" autoplay></video>
5858
<video class="desktop" poster="https://example.com/poster2.jpg" width="1200" height="500" src="https://example.com/header2.mp4" preload="auto" autoplay></video>
59-
<video class="desktop" poster="https://example.com/poster3.jpg" width="1200" height="500" src="https://example.com/header3.mp4" preload="auto" autoplay></video><!-- TODO: Try removing the preload attribute value. -->
59+
<video class="desktop" poster="https://example.com/poster3.jpg" width="1200" height="500" src="https://example.com/header3.mp4" preload autoplay></video>
6060
<video class="desktop" poster="https://example.com/poster4.jpg" width="1200" height="500" src="https://example.com/header4.mp4" preload="metadata" autoplay></video>
6161
<video class="desktop" poster="https://example.com/poster5.jpg" width="1200" height="500" src="https://example.com/header5.mp4" autoplay></video>
6262
</body>
@@ -72,7 +72,7 @@ static function () use ( $breakpoint_max_widths ) {
7272
<body>
7373
<video data-od-replaced-preload="none" data-od-xpath="/*[1][self::HTML]/*[2][self::BODY]/*[1][self::VIDEO]" class="desktop" poster="https://example.com/poster1.jpg" width="1200" height="500" src="https://example.com/header1.mp4" preload="auto" autoplay></video>
7474
<video data-od-xpath="/*[1][self::HTML]/*[2][self::BODY]/*[2][self::VIDEO]" class="desktop" poster="https://example.com/poster2.jpg" width="1200" height="500" src="https://example.com/header2.mp4" preload="auto" autoplay></video>
75-
<video data-od-added-data-original-autoplay data-od-added-data-original-poster data-od-added-data-original-preload data-od-removed-autoplay data-od-removed-poster="https://example.com/poster3.jpg" data-od-replaced-class="desktop" data-od-replaced-preload="auto" data-od-xpath="/*[1][self::HTML]/*[2][self::BODY]/*[3][self::VIDEO]" data-original-autoplay data-original-poster="https://example.com/poster3.jpg" data-original-preload="auto" class="desktop wp-lazy-video" width="1200" height="500" src="https://example.com/header3.mp4" preload="none" ></video><!-- TODO: Try removing the preload attribute value. -->
75+
<video data-od-added-data-original-autoplay data-od-added-data-original-poster data-od-added-data-original-preload data-od-removed-autoplay data-od-removed-poster="https://example.com/poster3.jpg" data-od-replaced-class="desktop" data-od-replaced-preload data-od-xpath="/*[1][self::HTML]/*[2][self::BODY]/*[3][self::VIDEO]" data-original-autoplay data-original-poster="https://example.com/poster3.jpg" data-original-preload class="desktop wp-lazy-video" width="1200" height="500" src="https://example.com/header3.mp4" preload="none" ></video>
7676
<video data-od-added-data-original-autoplay data-od-added-data-original-poster data-od-added-data-original-preload data-od-removed-autoplay data-od-removed-poster="https://example.com/poster4.jpg" data-od-replaced-class="desktop" data-od-replaced-preload="metadata" data-od-xpath="/*[1][self::HTML]/*[2][self::BODY]/*[4][self::VIDEO]" data-original-autoplay data-original-poster="https://example.com/poster4.jpg" data-original-preload="metadata" class="desktop wp-lazy-video" width="1200" height="500" src="https://example.com/header4.mp4" preload="none" ></video>
7777
<video data-od-added-data-original-autoplay data-od-added-data-original-poster data-od-added-data-original-preload data-od-added-preload data-od-removed-autoplay data-od-removed-poster="https://example.com/poster5.jpg" data-od-replaced-class="desktop" data-od-xpath="/*[1][self::HTML]/*[2][self::BODY]/*[5][self::VIDEO]" data-original-autoplay data-original-poster="https://example.com/poster5.jpg" data-original-preload="default" preload="none" class="desktop wp-lazy-video" width="1200" height="500" src="https://example.com/header5.mp4" ></video>
7878
<script type="module">/* const lazyVideoObserver ... */</script>

plugins/optimization-detective/class-od-html-tag-processor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -378,7 +378,7 @@ public function set_attribute( $name, $value ): bool { // phpcs:ignore SlevomatC
378378
$existing_value = $this->get_attribute( $name );
379379
$result = parent::set_attribute( $name, $value );
380380
if ( $result ) {
381-
if ( is_string( $existing_value ) ) {
381+
if ( null !== $existing_value ) {
382382
$this->set_meta_attribute( "replaced-{$name}", $existing_value );
383383
} else {
384384
$this->set_meta_attribute( "added-{$name}", true );

plugins/optimization-detective/tests/test-class-od-html-tag-processor.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ public function test_append_head_and_body_html(): void {
421421
* @covers ::set_meta_attribute
422422
*/
423423
public function test_html_tag_processor_wrapper_methods(): void {
424-
$processor = new OD_HTML_Tag_Processor( '<html lang="en" class="foo" dir="ltr"></html>' );
424+
$processor = new OD_HTML_Tag_Processor( '<html lang="en" class="foo" dir="ltr" data-novalue></html>' );
425425
while ( $processor->next_open_tag() ) {
426426
$open_tag = $processor->get_tag();
427427
if ( 'HTML' === $open_tag ) {
@@ -430,9 +430,13 @@ public function test_html_tag_processor_wrapper_methods(): void {
430430
$processor->set_attribute( 'id', 'root' );
431431
$processor->set_meta_attribute( 'foo', 'bar' );
432432
$processor->set_meta_attribute( 'baz', true );
433+
$processor->set_attribute( 'data-novalue', 'Nevermind!' );
433434
}
434435
}
435-
$this->assertSame( '<html data-od-added-id data-od-baz data-od-foo="bar" data-od-removed-dir="ltr" data-od-replaced-lang="en" id="root" lang="es" class="foo" ></html>', $processor->get_updated_html() );
436+
$this->assertSame(
437+
'<html data-od-added-id data-od-baz data-od-foo="bar" data-od-removed-dir="ltr" data-od-replaced-data-novalue data-od-replaced-lang="en" id="root" lang="es" class="foo" data-novalue="Nevermind!"></html>',
438+
$processor->get_updated_html()
439+
);
436440
}
437441

438442
/**

0 commit comments

Comments
 (0)