+ /**
+ * Data provider for trimSqlReallyTrimsAllWhitespace
+ *
+ * @see trimSqlReallyTrimsAllWhitespace
+ */
+ public function trimSqlReallyTrimsAllWhitespaceDataProvider() {
+ return array(
+ 'Nothing to trim' => array('SELECT * FROM test WHERE 1=1;', 'SELECT * FROM test WHERE 1=1 '),
+ 'Space after ;' => array('SELECT * FROM test WHERE 1=1; ', 'SELECT * FROM test WHERE 1=1 '),
+ 'Space before ;' => array('SELECT * FROM test WHERE 1=1 ;', 'SELECT * FROM test WHERE 1=1 '),
+ 'Space before and after ;' => array('SELECT * FROM test WHERE 1=1 ; ', 'SELECT * FROM test WHERE 1=1 '),
+ 'Linefeed after ;' => array('SELECT * FROM test WHERE 1=1' . LF . ';', 'SELECT * FROM test WHERE 1=1 '),
+ 'Linefeed before ;' => array('SELECT * FROM test WHERE 1=1;' . LF, 'SELECT * FROM test WHERE 1=1 '),
+ 'Linefeed before and after ;' => array('SELECT * FROM test WHERE 1=1' . LF . ';' . LF, 'SELECT * FROM test WHERE 1=1 '),
+ 'Tab after ;' => array('SELECT * FROM test WHERE 1=1' . TAB . ';', 'SELECT * FROM test WHERE 1=1 '),
+ 'Tab before ;' => array('SELECT * FROM test WHERE 1=1;' . TAB, 'SELECT * FROM test WHERE 1=1 '),
+ 'Tab before and after ;' => array('SELECT * FROM test WHERE 1=1' . TAB . ';' . TAB, 'SELECT * FROM test WHERE 1=1 '),
+ );
+ }
+
+ /**
+ * @test
+ * @dataProvider trimSqlReallyTrimsAllWhitespaceDataProvider
+ * @param string $sql The SQL to trim
+ * @param string $expected The expected trimmed SQL with single space at the end
+ */
+ public function trimSqlReallyTrimsAllWhitespace($sql, $expected) {
+ $result = $this->fixture->_call('trimSQL', $sql);
+ $this->assertSame($expected, $result);
+ }
+