From 7cdbfc2eaf5d452b1f16550fb80b17b8f92b37cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maur=C3=ADcio=20Meneghini=20Fauth?= Date: Sat, 27 May 2023 15:36:26 -0300 Subject: [PATCH] Add Event enum for trigger events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MaurĂ­cio Meneghini Fauth --- libraries/classes/Triggers/Event.php | 15 +++++++++++++++ libraries/classes/Triggers/Trigger.php | 4 +++- libraries/classes/Triggers/Triggers.php | 4 ++-- .../classes/Plugins/Export/ExportHtmlwordTest.php | 4 ++-- test/classes/Plugins/Export/ExportOdtTest.php | 4 ++-- .../classes/Plugins/Export/ExportTexytextTest.php | 4 ++-- test/classes/Triggers/TriggerTest.php | 3 ++- 7 files changed, 28 insertions(+), 10 deletions(-) create mode 100644 libraries/classes/Triggers/Event.php diff --git a/libraries/classes/Triggers/Event.php b/libraries/classes/Triggers/Event.php new file mode 100644 index 0000000000..59f403a7f9 --- /dev/null +++ b/libraries/classes/Triggers/Event.php @@ -0,0 +1,15 @@ +name; $oneResult['table'] = $newTrigger->table; $oneResult['action_timing'] = $newTrigger->timing; - $oneResult['event_manipulation'] = $newTrigger->event; + $oneResult['event_manipulation'] = $newTrigger->event->value; $oneResult['definition'] = $newTrigger->statement; $oneResult['definer'] = $newTrigger->definer; @@ -536,7 +536,7 @@ class Triggers "CREATE TRIGGER %s %s %s ON %s\n FOR EACH ROW %s\n%s\n", $oneResult['full_trigger_name'], $newTrigger->timing, - $newTrigger->event, + $newTrigger->event->value, Util::backquote($newTrigger->table), $newTrigger->statement, $delimiter, diff --git a/test/classes/Plugins/Export/ExportHtmlwordTest.php b/test/classes/Plugins/Export/ExportHtmlwordTest.php index 5f007841a9..9a3d2ee475 100644 --- a/test/classes/Plugins/Export/ExportHtmlwordTest.php +++ b/test/classes/Plugins/Export/ExportHtmlwordTest.php @@ -570,7 +570,7 @@ class ExportHtmlwordTest extends AbstractTestCase [ 'TRIGGER_SCHEMA' => 'database', 'TRIGGER_NAME' => 'tna"me', - 'EVENT_MANIPULATION' => 'manip&', + 'EVENT_MANIPULATION' => 'UPDATE', 'EVENT_OBJECT_TABLE' => 'table', 'ACTION_TIMING' => 'ac>t', 'ACTION_STATEMENT' => 'def', @@ -591,7 +591,7 @@ class ExportHtmlwordTest extends AbstractTestCase $this->assertStringContainsString( 'tna"me' . 'ac>t' . - 'manip&' . + 'UPDATE' . 'def', $result, ); diff --git a/test/classes/Plugins/Export/ExportOdtTest.php b/test/classes/Plugins/Export/ExportOdtTest.php index 86a1634b4d..547013875e 100644 --- a/test/classes/Plugins/Export/ExportOdtTest.php +++ b/test/classes/Plugins/Export/ExportOdtTest.php @@ -735,7 +735,7 @@ class ExportOdtTest extends AbstractTestCase [ 'TRIGGER_SCHEMA' => 'database', 'TRIGGER_NAME' => 'tna"me', - 'EVENT_MANIPULATION' => 'manip&', + 'EVENT_MANIPULATION' => 'INSERT', 'EVENT_OBJECT_TABLE' => 'ta 'ac>t', 'ACTION_STATEMENT' => 'def', @@ -761,7 +761,7 @@ class ExportOdtTest extends AbstractTestCase $this->assertStringContainsString('ac>t', $result); - $this->assertStringContainsString('manip&', $result); + $this->assertStringContainsString('INSERT', $result); $this->assertStringContainsString('def', $result); } diff --git a/test/classes/Plugins/Export/ExportTexytextTest.php b/test/classes/Plugins/Export/ExportTexytextTest.php index 11b0e2942f..f76e5b6950 100644 --- a/test/classes/Plugins/Export/ExportTexytextTest.php +++ b/test/classes/Plugins/Export/ExportTexytextTest.php @@ -327,7 +327,7 @@ class ExportTexytextTest extends AbstractTestCase [ 'TRIGGER_SCHEMA' => 'database', 'TRIGGER_NAME' => 'tna"me', - 'EVENT_MANIPULATION' => 'manip&', + 'EVENT_MANIPULATION' => 'DELETE', 'EVENT_OBJECT_TABLE' => 'ta 'ac>t', 'ACTION_STATEMENT' => 'def', @@ -344,7 +344,7 @@ class ExportTexytextTest extends AbstractTestCase $result = $this->object->getTriggers('database', 'taassertStringContainsString('|tna"me|ac>t|manip&|def', $result); + $this->assertStringContainsString('|tna"me|ac>t|DELETE|def', $result); $this->assertStringContainsString('|Name|Time|Event|Definition', $result); } diff --git a/test/classes/Triggers/TriggerTest.php b/test/classes/Triggers/TriggerTest.php index 4f30c90c66..1d3ddba1a0 100644 --- a/test/classes/Triggers/TriggerTest.php +++ b/test/classes/Triggers/TriggerTest.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace PhpMyAdmin\Tests\Triggers; +use PhpMyAdmin\Triggers\Event; use PhpMyAdmin\Triggers\Trigger; use PHPUnit\Framework\TestCase; @@ -26,7 +27,7 @@ class TriggerTest extends TestCase $this->assertNotNull($actual); $this->assertSame('trigger_name', $actual->name); $this->assertSame('BEFORE', $actual->timing); - $this->assertSame('UPDATE', $actual->event); + $this->assertSame(Event::Update, $actual->event); $this->assertSame('test_table', $actual->table); $this->assertSame('BEGIN END', $actual->statement); $this->assertSame('definer@localhost', $actual->definer);