diff options
| author | Damien Regad <dregad@mantisbt.org> | 2021-04-11 17:46:18 +0200 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2021-08-15 11:19:41 +0200 |
| commit | 270ad43af56a12445ed100a6c2ebeed38372f1ed (patch) | |
| tree | 10a7fe8db59d439214e31bd081e08cdf2b55c4b1 /tests | |
| parent | 89a56401ebe159022e5d11f9c3831f4c6082650b (diff) | |
| download | adodb-270ad43af56a12445ed100a6c2ebeed38372f1ed.tar.gz adodb-270ad43af56a12445ed100a6c2ebeed38372f1ed.tar.bz2 adodb-270ad43af56a12445ed100a6c2ebeed38372f1ed.zip | |
Test case for _adodb_quote_fieldname()
This is a basic test case to ensure the code matches expected results
as discussed in #721 [[1]].
[1]: https://github.com/ADOdb/ADOdb/issues/721#issuecomment-817338903
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/LibTest.php | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tests/LibTest.php b/tests/LibTest.php new file mode 100644 index 00000000..7948354f --- /dev/null +++ b/tests/LibTest.php @@ -0,0 +1,53 @@ +<?php + +use PHPUnit\Framework\TestCase; + +require_once dirname(__FILE__) . '/../adodb.inc.php'; +require_once dirname(__FILE__) . '/../adodb-lib.inc.php'; + +/** + * Class LibTest. + * + * Test cases for adodb-lib.inc.php + */ +class LibTest extends TestCase +{ + /** @var ADOConnection Database connection for tests */ + private $db; + + public function setUp() + { + $this->db = ADONewConnection('mysqli'); + } + + /** + * Test for {@see _adodb_quote_fieldname()} + * + * @dataProvider quoteProvider + */ + public function testQuoteFieldNames($method, $field, $expected) + { + global $ADODB_QUOTE_FIELDNAMES; + $ADODB_QUOTE_FIELDNAMES = $method; + $this->assertSame($expected, _adodb_quote_fieldname($this->db, $field)); + } + + /** + * Data provider for {@see testQuoteFieldNames()} + * @return array + */ + public function quoteProvider() + { + return [ + 'No quoting, single-word field name' => [false, 'Field', 'FIELD'], + 'No quoting, field name with space' => [false, 'Field Name', '`FIELD NAME`'], + 'Quoting `true`' => [true, 'Field', '`FIELD`'], + 'Quoting `UPPER`' => ['UPPER', 'Field', '`FIELD`'], + 'Quoting `LOWER`' => ['LOWER', 'Field', '`field`'], + 'Quoting `NATIVE`' => ['NATIVE', 'Field', '`Field`'], + 'Quoting `BRACKETS`' => ['BRACKETS', 'Field', '[FIELD]'], + 'Unknown value defaults to UPPER' => ['XXX', 'Field', '`FIELD`'], + ]; + } + +} |
