diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-10-05 21:45:41 +0200 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-10-05 21:45:41 +0200 |
commit | 5b5021812ea6dc859312e00b6b0f078eea54c88d (patch) | |
tree | 0a8840ee0429cc405cb597438a73d03bca970c1a /tests/codeigniter/database/query_builder/join_test.php | |
parent | 49d08053257b55db511eaca08b8ab5d12149f3b6 (diff) | |
parent | dbad54e09a39a77c7404dee9ca1a6b34299469d0 (diff) |
Merge upstream branch
Diffstat (limited to 'tests/codeigniter/database/query_builder/join_test.php')
-rw-r--r-- | tests/codeigniter/database/query_builder/join_test.php | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/tests/codeigniter/database/query_builder/join_test.php b/tests/codeigniter/database/query_builder/join_test.php index e05329d67..25bd4accb 100644 --- a/tests/codeigniter/database/query_builder/join_test.php +++ b/tests/codeigniter/database/query_builder/join_test.php @@ -34,5 +34,25 @@ class Join_test extends CI_TestCase { $this->assertEquals('Derek Jones', $job_user[0]['user_name']); $this->assertEquals('Developer', $job_user[0]['job_name']); } - + + // ------------------------------------------------------------------------ + + public function test_join_escape_multiple_conditions() + { + // We just need a valid query produced, not one that makes sense + $fields = array($this->db->protect_identifiers('table1.field1'), $this->db->protect_identifiers('table2.field2')); + + $expected = 'SELECT '.implode(', ', $fields) + ."\nFROM ".$this->db->escape_identifiers('table1') + ."\nLEFT JOIN ".$this->db->escape_identifiers('table2').' ON '.implode(' = ', $fields) + .' AND '.$fields[0]." = 'foo' AND ".$fields[1].' = 0'; + + $result = $this->db->select('table1.field1, table2.field2') + ->from('table1') + ->join('table2', "table1.field1 = table2.field2 AND table1.field1 = 'foo' AND table2.field2 = 0", 'LEFT') + ->get_compiled_select(); + + $this->assertEquals($expected, $result); + } + }
\ No newline at end of file |