From 06d58c96622389d86a74e23bd709706857cbc11a Mon Sep 17 00:00:00 2001 From: Kamil Tekiela Date: Thu, 4 Aug 2022 20:59:31 +0100 Subject: Fix bug #17663 Signed-off-by: Kamil Tekiela --- test/classes/InsertEditTest.php | 120 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) (limited to 'test') diff --git a/test/classes/InsertEditTest.php b/test/classes/InsertEditTest.php index 1c7ad8eee3..13ee204b74 100644 --- a/test/classes/InsertEditTest.php +++ b/test/classes/InsertEditTest.php @@ -2023,6 +2023,126 @@ class InsertEditTest extends AbstractTestCase ], $result ); + + // Test to see if a zero-string is not ignored + $result = $this->insertEdit->getQueryValuesForInsertAndUpdateInMultipleEdit( + $multi_edit_columns_name, + [], + '0', + [], + [], + false, + [], + [], + "'0'", + [], + '0', + [] + ); + + $this->assertEquals( + [ + ["`fld` = '0'"], + [], + ], + $result + ); + + // Can only happen when table contains blob field that was left unchanged during edit + $result = $this->insertEdit->getQueryValuesForInsertAndUpdateInMultipleEdit( + $multi_edit_columns_name, + [], + '', + [], + [], + false, + [], + [], + '', + [], + '0', + [] + ); + + $this->assertEquals( + [ + [], + [], + ], + $result + ); + + // Test to see if a field will be set to null when it wasn't null previously + $result = $this->insertEdit->getQueryValuesForInsertAndUpdateInMultipleEdit( + $multi_edit_columns_name, + ['on'], + '', + [], + [], + false, + [], + [], + 'NULL', + [], + '0', + [] + ); + + $this->assertEquals( + [ + ['`fld` = NULL'], + [], + ], + $result + ); + + // Test to see if a field will be ignored if it was null previously + $result = $this->insertEdit->getQueryValuesForInsertAndUpdateInMultipleEdit( + $multi_edit_columns_name, + ['on'], + '', + [], + [], + false, + [], + [], + 'NULL', + [], + '0', + ['on'] + ); + + $this->assertEquals( + [ + [], + [], + ], + $result + ); + + // Test to see if a field will be ignored if it the value is unchanged + $result = $this->insertEdit->getQueryValuesForInsertAndUpdateInMultipleEdit( + $multi_edit_columns_name, + [], + "a'b", + ["a'b"], + [], + false, + [], + [], + "'a\'b'", + [], + '0', + [] + ); + + $this->assertEquals( + [ + [], + [], + ], + $result + ); } /** -- cgit v1.2.3