summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDamien Regad <dregad@mantisbt.org>2021-04-11 17:46:18 +0200
committerDamien Regad <dregad@mantisbt.org>2021-08-15 11:19:41 +0200
commit270ad43af56a12445ed100a6c2ebeed38372f1ed (patch)
tree10a7fe8db59d439214e31bd081e08cdf2b55c4b1 /tests
parent89a56401ebe159022e5d11f9c3831f4c6082650b (diff)
downloadadodb-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.php53
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`'],
+ ];
+ }
+
+}