Skip to content

Commit b099092

Browse files
Tests: Add unit tests for wp_admin_viewport_meta().
Follow-up to [48412]. Props pbearne. Fixes #65187. git-svn-id: https://develop.svn.wordpress.org/trunk@62366 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 8e8b4df commit b099092

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
3+
/**
4+
* @group admin
5+
*
6+
* @covers ::wp_admin_viewport_meta
7+
*/
8+
class Tests_Admin_Includes_Misc_Wp_Admin_Viewport_Meta_Test extends WP_UnitTestCase {
9+
10+
/**
11+
* Tests wp_admin_viewport_meta() output.
12+
*
13+
* @dataProvider data_wp_admin_viewport_meta
14+
*
15+
* @ticket 65187
16+
*
17+
* @param string|null $filter_value The value to return from the filter, or null if no filter.
18+
* @param string $expected The expected output string.
19+
*/
20+
public function test_wp_admin_viewport_meta( $filter_value, $expected ) {
21+
if ( null !== $filter_value ) {
22+
add_filter(
23+
'admin_viewport_meta',
24+
function () use ( $filter_value ) {
25+
return $filter_value;
26+
}
27+
);
28+
}
29+
30+
$this->expectOutputString( $expected );
31+
wp_admin_viewport_meta();
32+
}
33+
34+
/**
35+
* Data provider for test_wp_admin_viewport_meta().
36+
*
37+
* @return array<string, array{
38+
* filter_value: string|null,
39+
* expected: string,
40+
* }>
41+
*/
42+
public function data_wp_admin_viewport_meta(): array {
43+
return array(
44+
'default value' => array(
45+
'filter_value' => null,
46+
'expected' => '<meta name="viewport" content="width=device-width,initial-scale=1.0">',
47+
),
48+
'custom filtered value' => array(
49+
'filter_value' => 'width=device-width,initial-scale=2.0',
50+
'expected' => '<meta name="viewport" content="width=device-width,initial-scale=2.0">',
51+
),
52+
'empty filtered value' => array(
53+
'filter_value' => '',
54+
'expected' => '',
55+
),
56+
'escaped filtered value' => array(
57+
'filter_value' => 'width=device-width; content="><script>alert(1)</script>',
58+
'expected' => '<meta name="viewport" content="' . esc_attr( 'width=device-width; content="><script>alert(1)</script>' ) . '">',
59+
),
60+
);
61+
}
62+
}

0 commit comments

Comments
 (0)