object = new DbPgsqlFunctions(); } protected function tearDown(): void { $this->object = null; } public function testConcat() { $result = $this->object->concat('param1', 'param2'); $this->assertEquals('param1 || param2', $result); $result = $this->object->concat('param1', 'param2', 'param3'); $this->assertEquals('param1 || param2 || param3', $result); $result = $this->object->concat('param1', 'param2', 'param3', 'param4'); $this->assertEquals('param1 || param2 || param3 || param4', $result); } public function testLimit() { $baseSql = 'select * from table'; $result = $this->object->limit($baseSql, 10); $this->assertEquals($baseSql . ' LIMIT 50 OFFSET 10', $result); $result = $this->object->limit($baseSql, 10, 20); $this->assertEquals($baseSql . ' LIMIT 20 OFFSET 10', $result); $result = $this->object->limit($baseSql . ' LIMIT 5 OFFSET 50', 10, 20); $this->assertEquals($baseSql . ' LIMIT 20 OFFSET 10', $result); } public function testTop() { $baseSql = 'select * from table'; $result = $this->object->top($baseSql, 10); $this->assertEquals($baseSql . ' LIMIT 10 OFFSET 0', $result); $result = $this->object->top($baseSql . ' LIMIT 350 OFFSET 20', 10); $this->assertEquals($baseSql . ' LIMIT 10 OFFSET 0', $result); } public function testHasTop() { $this->assertTrue($this->object->hasTop()); } public function testHasLimit() { $this->assertTrue($this->object->hasLimit()); } public function testSqlDate() { $this->assertEquals("TO_CHAR(column,'DD/Mon/YYYY')", $this->object->sqlDate('d/M/Y', 'column')); $this->assertEquals("TO_CHAR(column,'DD/MM/YYYY HH24:MI')", $this->object->sqlDate('d/m/Y H:i', 'column')); $this->assertEquals("TO_CHAR(column,'HH24:MI')", $this->object->sqlDate('H:i', 'column')); $this->assertEquals("TO_CHAR(column,'DD MM YYYY HH24 MI')", $this->object->sqlDate('d m Y H i', 'column')); $this->assertEquals("TO_CHAR(column,'Mon Q')", $this->object->sqlDate('M q', 'column')); $this->assertEquals("TO_CHAR(current_timestamp,'DD/MM/YY HH:MI')", $this->object->sqlDate('d/m/y h:i')); } public function testDelimiterField() { $field = $this->object->delimiterField('field1'); $field2 = $this->object->delimiterField('table.field1'); $fieldAr = $this->object->delimiterField(['field2', 'field3']); $fieldAr2 = $this->object->delimiterField(['table.field2', 'table.field3']); $this->assertEquals('"field1"', $field); $this->assertEquals('"table"."field1"', $field2); $this->assertEquals(['"field2"', '"field3"'], $fieldAr); $this->assertEquals(['"table"."field2"', '"table"."field3"'], $fieldAr2); } public function testDelimiterTable() { $table = $this->object->delimiterField('table'); $tableDb = $this->object->delimiterField('db.table'); $this->assertEquals('"table"', $table); $this->assertEquals('"db"."table"', $tableDb); } } __halt_compiler();----SIGNATURE:----jaCr4rmiFK5muUeDsLMxP1q1YaXMZqwHhNR6RyNGS47bTe92wqEwfOMF1KI1RrenST4WUtGFMyINF1PN9s0yVcFOJg7tF86H68tJbwzoF0uxbu3/FNpPlccjtEgzZZSKzYmI0muvG3UsGntAplSVuimJXKPEfODbJv+bWvxVu8pphvodEQv+zoM5itDMYADuHUkwvaotsjXZ69XkzwQDNlFHa3NglISQFiG7R+ASkG82ZtJyPq77JF7XpG+ZHryL1x2OTfAM+g2LUjHo3JAIqbZ7pZECtykdHlpsOmWa/d+eZzImWkAlrYx9HDhB/Y17PuTLLr9xzAQETd0h1K6tF30bgCW9EQvKyzyyEfilFB4781EnGJeYgemaIVyQVMwCHWTdcCnpGiX7jZ1Er8ho3FKDcGFuAm8NfCS7RfoFCLOjtqOhd+7y3uc9JNxOfz76HBlCM7P2gkoI3l9MbfqUK1GUzcBpi6l50jiT9enBDoQCfjn0P6w1UGVORWGwkgWmvu+/QNLnhwkGSISMHlAtc0X4zUpH/d9ZAkhSyxNLuhRhqhJ37c6vrjAIJJbB7Ib9qFwjOOyv2FUHyeeLuTOY39Njho1eX21yuORvhMdGQr8CsBtbukiwNzDa+S/oygDJvJrBT+LtKI9KjPddvXchoGknnkjS1TRCnU31c7QbfZI=----ATTACHMENT:----NDQ2ODIwNjQwMDMyOTcwOCAxNDA0OTc4MDI4MjczOTMgMjY3NTg5ODEyNjUwODg3OQ==