Skip to content

Commit 810e6d9

Browse files
committed
Make WpdbExposedMethodsForTesting helper class extend WP_SQLite_DB
1 parent 14fe48e commit 810e6d9

File tree

2 files changed

+63
-5
lines changed

2 files changed

+63
-5
lines changed

.github/workflows/wp-tests-phpunit-run.js

Lines changed: 58 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,9 @@ const fs = require( 'fs' );
1111
const path = require( 'path' );
1212

1313
const expectedErrors = [
14-
'Tests_DB_Charset::test_strip_invalid_text',
15-
'Tests_DB::test_db_reconnect',
14+
'Tests_DB_Charset::test_invalid_characters_in_query',
15+
'Tests_DB_Charset::test_set_charset_changes_the_connection_collation',
1616
'Tests_DB::test_get_col_info',
17-
'Tests_DB::test_process_fields_value_too_long_for_field with data set "invalid chars"',
18-
'Tests_DB::test_process_fields_value_too_long_for_field with data set "too long"',
1917
'Tests_DB::test_process_fields',
2018
];
2119

@@ -24,6 +22,59 @@ const expectedFailures = [
2422
'Tests_Admin_wpSiteHealth::test_object_cache_thresholds with data set #3',
2523
'Tests_Comment::test_wp_new_comment_respects_comment_field_lengths',
2624
'Tests_Comment::test_wp_update_comment',
25+
'Tests_DB_Charset::test_get_column_charset with data set #0',
26+
'Tests_DB_Charset::test_get_column_charset with data set #1',
27+
'Tests_DB_Charset::test_get_column_charset with data set #2',
28+
'Tests_DB_Charset::test_get_column_charset with data set #3',
29+
'Tests_DB_Charset::test_get_column_charset with data set #4',
30+
'Tests_DB_Charset::test_get_column_charset with data set #5',
31+
'Tests_DB_Charset::test_get_column_charset with data set #6',
32+
'Tests_DB_Charset::test_get_column_charset with data set #7',
33+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #0',
34+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #1',
35+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #2',
36+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #3',
37+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #4',
38+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #5',
39+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #6',
40+
'Tests_DB_Charset::test_get_column_charset_is_mysql_undefined with data set #7',
41+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #0',
42+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #1',
43+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #2',
44+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #3',
45+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #4',
46+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #5',
47+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #6',
48+
'Tests_DB_Charset::test_get_column_charset_non_mysql with data set #7',
49+
'Tests_DB_Charset::test_get_table_charset with data set #1',
50+
'Tests_DB_Charset::test_get_table_charset with data set #4',
51+
'Tests_DB_Charset::test_get_table_charset with data set #5',
52+
'Tests_DB_Charset::test_get_table_charset with data set #6',
53+
'Tests_DB_Charset::test_get_table_charset with data set #7',
54+
'Tests_DB_Charset::test_process_field_charsets_on_nonexistent_table',
55+
'Tests_DB_Charset::test_strip_invalid_text with data set #21',
56+
'Tests_DB_Charset::test_strip_invalid_text with data set #22',
57+
'Tests_DB_Charset::test_strip_invalid_text with data set #23',
58+
'Tests_DB_Charset::test_strip_invalid_text with data set #24',
59+
'Tests_DB_Charset::test_strip_invalid_text with data set #25',
60+
'Tests_DB_Charset::test_strip_invalid_text with data set #26',
61+
'Tests_DB_Charset::test_strip_invalid_text with data set #27',
62+
'Tests_DB_Charset::test_strip_invalid_text with data set #28',
63+
'Tests_DB_Charset::test_strip_invalid_text with data set #30',
64+
'Tests_DB_Charset::test_strip_invalid_text with data set #31',
65+
'Tests_DB_Charset::test_strip_invalid_text with data set #32',
66+
'Tests_DB_Charset::test_strip_invalid_text with data set #33',
67+
'Tests_DB_Charset::test_strip_invalid_text with data set #34',
68+
'Tests_DB_Charset::test_strip_invalid_text with data set #35',
69+
'Tests_DB_Charset::test_strip_invalid_text with data set #36',
70+
'Tests_DB_Charset::test_strip_invalid_text with data set #37',
71+
'Tests_DB_Charset::test_strip_invalid_text with data set #39',
72+
'Tests_DB_Charset::test_strip_invalid_text with data set #40',
73+
'Tests_DB_Charset::test_strip_invalid_text with data set #41',
74+
'Tests_DB_Charset::test_strip_invalid_text_for_column_bails_if_ascii_input_too_long',
75+
'Tests_DB_Charset::test_strip_invalid_text_from_query with data set "utf8 + utf8mb4"',
76+
'Tests_DB_Charset::test_table_collation_check with data set "utf8_bin + big5_chinese_ci"',
77+
'Tests_DB_Charset::test_table_collation_check with data set "utf8_unicode_ci"',
2778
'Tests_DB_dbDelta::test_spatial_indices',
2879
'Tests_DB::test_charset_switched_to_utf8mb4',
2980
'Tests_DB::test_close',
@@ -32,6 +83,9 @@ const expectedFailures = [
3283
'Tests_DB::test_insert_value_too_long_for_field with data set "too long"',
3384
'Tests_DB::test_mysqli_flush_sync',
3485
'Tests_DB::test_non_unicode_collations',
86+
'Tests_DB::test_pre_get_col_charset_filter',
87+
'Tests_DB::test_process_fields_on_nonexistent_table',
88+
'Tests_DB::test_process_fields_value_too_long_for_field with data set "too long"',
3589
'Tests_DB::test_query_value_contains_invalid_chars',
3690
'Tests_DB::test_replace_value_too_long_for_field with data set "too long"',
3791
'Tests_DB::test_replace',

wp-setup.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ cp "$DIR"/db.copy "$WP_DIR"/src/wp-content/db.php
5858
sed -i.bak "s#'{SQLITE_IMPLEMENTATION_FOLDER_PATH}'#__DIR__.'/plugins/sqlite-database-integration'#g" "$WP_DIR"/src/wp-content/db.php
5959
sed -i.bak "s#{SQLITE_PLUGIN}#$WP_DIR/src/wp-content/plugins/sqlite-database-integration/load.php#g" "$WP_DIR"/src/wp-content/db.php
6060

61-
# 5. Install dependencies.
61+
# 5. Rewrite helper class WpdbExposedMethodsForTesting to extend WP_SQLite_DB.
62+
echo "Rewriting helper class 'WpdbExposedMethodsForTesting' to extend WP_SQLite_DB..."
63+
sed -i.bak "s#class WpdbExposedMethodsForTesting extends wpdb {#class WpdbExposedMethodsForTesting extends WP_SQLite_DB {#g" "$WP_DIR"/tests/phpunit/includes/utils.php
64+
65+
# 6. Install dependencies.
6266
echo "Installing dependencies..."
6367
npm --prefix "$WP_DIR" install

0 commit comments

Comments
 (0)