1
0
mirror of https://github.com/DATA-DOG/go-sqlmock.git synced 2025-03-19 20:57:50 +02:00

update and test query whitespace stripping

This commit is contained in:
gedi 2014-02-07 15:04:47 +02:00
parent 6f1be66c43
commit af59e07d27
4 changed files with 32 additions and 7 deletions

View File

@ -116,4 +116,3 @@ func (c *conn) Query(query string, args []driver.Value) (driver.Rows, error) {
return eq.rows, nil
}

View File

@ -101,4 +101,3 @@ type expectedExec struct {
result driver.Result
}

16
util.go
View File

@ -1,11 +1,17 @@
package sqlmock
import "strings"
import (
"regexp"
"strings"
)
var re *regexp.Regexp
func init() {
re = regexp.MustCompile("\\s+")
}
// strip out new lines and trim spaces
func stripQuery(q string) (s string) {
s = strings.Replace(q, "\n", " ", -1)
s = strings.Replace(s, "\r", "", -1)
s = strings.TrimSpace(s)
return
return strings.TrimSpace(re.ReplaceAllString(q, " "))
}

21
util_test.go Normal file
View File

@ -0,0 +1,21 @@
package sqlmock
import (
"testing"
)
func TestQueryStringStripping(t *testing.T) {
assert := func(actual, expected string) {
if res := stripQuery(actual); res != expected {
t.Errorf("Expected '%s' to be '%s', but got '%s'", actual, expected, res)
}
}
assert(" SELECT 1", "SELECT 1")
assert("SELECT 1 FROM d", "SELECT 1 FROM d")
assert(`
SELECT c
FROM D
`, "SELECT c FROM D")
assert("UPDATE (.+) SET ", "UPDATE (.+) SET")
}