object = new DbMysqlFunctions(); } protected function tearDown(): void { $this->object = null; } public function testConcat() { $result = $this->object->concat('param1', 'param2'); $this->assertEquals('concat(param1, param2)', $result); $result = $this->object->concat('param1', 'param2', 'param3'); $this->assertEquals('concat(param1, param2, param3)', $result); $result = $this->object->concat('param1', 'param2', 'param3', 'param4'); $this->assertEquals('concat(param1, param2, param3, param4)', $result); } public function testLimit() { $baseSql = 'select * from table'; $result = $this->object->limit($baseSql, 10); $this->assertEquals($baseSql . ' LIMIT 10, 50', $result); $result = $this->object->limit($baseSql, 10, 20); $this->assertEquals($baseSql . ' LIMIT 10, 20', $result); $result = $this->object->limit($baseSql . ' LIMIT 5, 50', 10, 20); $this->assertEquals($baseSql . ' LIMIT 10, 20', $result); } public function testTop() { $baseSql = 'select * from table'; $result = $this->object->top($baseSql, 10); $this->assertEquals($baseSql . ' LIMIT 0, 10', $result); $result = $this->object->top($baseSql . ' LIMIT 20,350', 10); $this->assertEquals($baseSql . ' LIMIT 0, 10', $result); } public function testHasTop() { $this->assertTrue($this->object->hasTop()); } public function testHasLimit() { $this->assertTrue($this->object->hasLimit()); } public function testSqlDate() { $this->assertEquals("DATE_FORMAT(column,'%e/%b/%Y')", $this->object->sqlDate('d/M/Y', 'column')); $this->assertEquals("DATE_FORMAT(column,'%d/%m/%Y %H:%i')", $this->object->sqlDate('D/m/Y H:i', 'column')); $this->assertEquals("DATE_FORMAT(column,'%H:%i')", $this->object->sqlDate('H:i', 'column')); $this->assertEquals("DATE_FORMAT(column,'%e %m %Y %H %i')", $this->object->sqlDate('d m Y H i', 'column')); $this->assertEquals("DATE_FORMAT(now(),'%e/%m/%y %I:%i')", $this->object->sqlDate('d/m/y h:i')); $this->assertEquals("DATE_FORMAT(column,'%b ')", $this->object->sqlDate('M q', 'column')); } 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); } public function testForUpdate() { $this->assertTrue($this->object->hasForUpdate()); $sql1 = 'select * from table'; $sql2 = 'select * from table for update'; $sql3 = 'select * from table for update '; $this->assertEquals( 'select * from table FOR UPDATE ', $this->object->forUpdate($sql1) ); $this->assertEquals( 'select * from table for update', $this->object->forUpdate($sql2) ); $this->assertEquals( 'select * from table for update ', $this->object->forUpdate($sql3) ); } } __halt_compiler();----SIGNATURE:----K+ak4L/Ia0Iv7lEzXgyDETfpyPcy7OBhzHcUCzQd0OWLX9wcGVaN/fqvDGPqhnVyTeqaiMzi6HsbY+H3Nw56XNteQkIT8p3Yfed7BI9mHW1schIa8FwXW3PrNfIG9mS7G2neL9BWg8M9/TQzzrYl6/5NRYxfcwLxRk8N2D35bxN2WgnMXlis6CMgBcc28tvt+0siaBBWs/Xpxvyj+mB1zeB8IDYRiO1TJ3O5Y4kP+AbJrPSm1S2ZvFAYJd/bMhc1yKTVQ3rnoznBM48Wjl36jAZ8OzFmqIDDDr3ejDQo7DLXiY4ZS4U6GcG/jTOYsiU6zBG+8vRX2gf/jw4LpkLE0P64JpVeSirUBLF0PGSf0zGax7F5fdqcBOaP1siLzSSAClG1WBN5BFaRRK2y97iI7hdn+61GJriRIyFWdEHYO1PoqCGUXhTo1ietoorp1XzsfYatfVi7I/14mSTCYEXcx/pvYo9+bPgBtLjLhx2ICl9G90cCY/7rLBnEJjbspyIVs9HCEKOhys7irmOFOdGeQ2OjLAA8W+y6WMBwzR3YBzqf/11U52vq+zjYrpOyXkhyO8QvB7UPqZQi6AvweJ7pqyAffz4QAbCtBmJbsjst9jdYVfPirKuldpya264ES01bwkc5yTznFIp9bSzmQUtGJ+hIiJnL833OFd6+Qy4V5UE=----ATTACHMENT:----OTI0NzU5MDIyMDc1NjcyMyA1MDQyNTM2OTI1MDAzMDkgODQ0NzY3NDgyODIwNTU5Ng==