@@ -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