Skip to content

Commit

Permalink
Build/Test: Add Tests for _wp_mysql_week.
Browse files Browse the repository at this point in the history
Props pbearne.
Fixes #59931.


git-svn-id: https://develop.svn.wordpress.org/trunk@57207 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
aaronjorbin committed Dec 19, 2023
1 parent c78e3fb commit 3c6680b
Showing 1 changed file with 44 additions and 0 deletions.
44 changes: 44 additions & 0 deletions tests/phpunit/tests/functions/WpMysqlWeek.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?php

/**
* Tests for the _wp_mysql_week function.
*
* @group Functons.php
*
* @covers ::_wp_mysql_week
*/
class Tests_Functons_WpMysqlWeek extends WP_UnitTestCase {

/**
* @ticket 59931
*
* @dataProvider data_test_wp_mysql_week
*/
public function test_wp_mysql_week( $date, $start_of_week, $expected_sql ) {

add_filter(
'pre_option_start_of_week',
static function ( $value ) use ( $start_of_week ) {
return $start_of_week ?? $value;
}
);

$this->assertSame( $expected_sql, _wp_mysql_week( 'col_name' ) );
}

/**
* @return array[]
*/
public function data_test_wp_mysql_week() {
return array(
array( '1969-12-25', 0, 'WEEK( col_name, 0 )' ),
array( '1969-12-25', 1, 'WEEK( col_name, 1 )' ),
array( '1969-12-25', 2, 'WEEK( DATE_SUB( col_name, INTERVAL 2 DAY ), 0 )' ),
array( '1969-12-25', 3, 'WEEK( DATE_SUB( col_name, INTERVAL 3 DAY ), 0 )' ),
array( '1969-12-25', 4, 'WEEK( DATE_SUB( col_name, INTERVAL 4 DAY ), 0 )' ),
array( '1969-12-25', 5, 'WEEK( DATE_SUB( col_name, INTERVAL 5 DAY ), 0 )' ),
array( '1969-12-25', 6, 'WEEK( DATE_SUB( col_name, INTERVAL 6 DAY ), 0 )' ),
array( '1969-12-25', 9, 'WEEK( col_name, 0 )' ),
);
}
}

0 comments on commit 3c6680b

Please sign in to comment.