Skip to content

Commit 4cf424e

Browse files
Refactor Chromium version tests to use dataProvider
1 parent 7922385 commit 4cf424e

1 file changed

Lines changed: 29 additions & 31 deletions

File tree

tests/phpunit/tests/media/wpGetChromiumMajorVersion.php

Lines changed: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,43 +29,41 @@ public function tear_down() {
2929
parent::tear_down();
3030
}
3131

32+
/**
33+
* @ticket 64766
34+
*/
3235
public function test_returns_null_when_no_user_agent() {
3336
unset( $_SERVER['HTTP_USER_AGENT'] );
3437
$this->assertNull( wp_get_chromium_major_version() );
3538
}
3639

37-
public function test_returns_null_for_empty_user_agent() {
38-
$_SERVER['HTTP_USER_AGENT'] = '';
39-
$this->assertNull( wp_get_chromium_major_version() );
40-
}
41-
42-
public function test_returns_null_for_firefox() {
43-
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; rv:128.0) Gecko/20100101 Firefox/128.0';
44-
$this->assertNull( wp_get_chromium_major_version() );
45-
}
46-
47-
public function test_returns_null_for_safari() {
48-
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15';
49-
$this->assertNull( wp_get_chromium_major_version() );
50-
}
51-
52-
public function test_returns_version_for_chrome() {
53-
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36';
54-
$this->assertSame( 137, wp_get_chromium_major_version() );
55-
}
56-
57-
public function test_returns_version_for_edge() {
58-
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0';
59-
$this->assertSame( 137, wp_get_chromium_major_version() );
60-
}
61-
62-
public function test_returns_version_for_opera() {
63-
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 OPR/122.0.0.0';
64-
$this->assertSame( 136, wp_get_chromium_major_version() );
40+
/**
41+
* @ticket 64766
42+
*
43+
* @dataProvider data_user_agents
44+
*
45+
* @param string $user_agent The user agent string.
46+
* @param int|null $expected The expected Chromium major version, or null.
47+
*/
48+
public function test_returns_expected_version( $user_agent, $expected ) {
49+
$_SERVER['HTTP_USER_AGENT'] = $user_agent;
50+
$this->assertSame( $expected, wp_get_chromium_major_version() );
6551
}
6652

67-
public function test_returns_version_for_older_chrome() {
68-
$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36';
69-
$this->assertSame( 100, wp_get_chromium_major_version() );
53+
/**
54+
* Data provider for test_returns_expected_version.
55+
*
56+
* @return array[]
57+
*/
58+
public function data_user_agents() {
59+
return array(
60+
'empty user agent' => array( '', null ),
61+
'Firefox' => array( 'Mozilla/5.0 (Windows NT 10.0; rv:128.0) Gecko/20100101 Firefox/128.0', null ),
62+
'Safari' => array( 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Safari/605.1.15', null ),
63+
'Chrome 137' => array( 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36', 137 ),
64+
'Edge 137' => array( 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36 Edg/137.0.0.0', 137 ),
65+
'Opera (Chrome 136)' => array( 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 OPR/122.0.0.0', 136 ),
66+
'Chrome 100' => array( 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36', 100 ),
67+
);
7068
}
7169
}

0 commit comments

Comments
 (0)