Skip to content

Commit 65a0809

Browse files
committed
chore: test
1 parent 333ebb9 commit 65a0809

File tree

3 files changed

+79
-1
lines changed

3 files changed

+79
-1
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ repos:
2525
entry: goimports
2626
files: \.go$
2727
additional_dependencies:
28-
- golang.org/x/tools/cmd/goimports@latest
28+
- golang.org/x/tools/cmd/goimports@v0.24.0
2929
args:
3030
- -w
3131
require_serial: true

chunk.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,8 @@ func (this *SQCloud) sendString(data string) (int, error) {
287287
}
288288
}
289289

290+
data = strings.Trim(data, " \t\r\n")
291+
290292
rawBuffer := protocolBufferFromString(data, false)[0]
291293
bytesToSend = len(rawBuffer)
292294

test/select_test.go

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package test
2+
3+
import (
4+
"os"
5+
"testing"
6+
7+
"github.com/sqlitecloud/sqlitecloud-go"
8+
)
9+
10+
func TestSelectWithLeadingChars(t *testing.T) {
11+
// Server API test
12+
connectionString, _ := os.LookupEnv("SQLITE_CONNECTION_STRING")
13+
apikey, _ := os.LookupEnv("SQLITE_API_KEY")
14+
connectionString += "/" + os.Getenv("SQLITE_DB") + "?apikey=" + apikey
15+
16+
config, err1 := sqlitecloud.ParseConnectionString(connectionString)
17+
if err1 != nil {
18+
t.Fatal(err1.Error())
19+
}
20+
21+
db := sqlitecloud.New(*config)
22+
err := db.Connect()
23+
24+
if err != nil {
25+
t.Fatalf(err.Error())
26+
}
27+
28+
defer db.Close()
29+
30+
// test select with leading spaces
31+
result, err := db.Select(" SELECT 1 AS value;")
32+
if err != nil {
33+
t.Fatal(err.Error())
34+
}
35+
if result.GetNumberOfRows() != 1 {
36+
t.Fatalf("Expected 1 row, got %d rows", result.GetNumberOfRows())
37+
}
38+
39+
// test select with leading tabs
40+
result, err = db.Select("\t\t\tSELECT 1 AS value;")
41+
if err != nil {
42+
t.Fatal(err.Error())
43+
}
44+
if result.GetNumberOfRows() != 1 {
45+
t.Fatalf("Expected 1 row, got %d rows", result.GetNumberOfRows())
46+
}
47+
48+
// test select with leading new lines
49+
result, err = db.Select("\n\n\nSELECT 1 AS value;")
50+
if err != nil {
51+
t.Fatal(err.Error())
52+
}
53+
if result.GetNumberOfRows() != 1 {
54+
t.Fatalf("Expected 1 row, got %d rows", result.GetNumberOfRows())
55+
}
56+
57+
// test with leading carriage returns
58+
result, err = db.Select("\r\r\rSELECT 1 AS value;")
59+
if err != nil {
60+
t.Fatal(err.Error())
61+
}
62+
if result.GetNumberOfRows() != 1 {
63+
t.Fatalf("Expected 1 row, got %d rows", result.GetNumberOfRows())
64+
}
65+
66+
// test select with mixed leading characters
67+
result, err = db.Select(`
68+
SELECT 1 AS value;
69+
`)
70+
if err != nil {
71+
t.Fatal(err.Error())
72+
}
73+
if result.GetNumberOfRows() != 1 {
74+
t.Fatalf("Expected 1 row, got %d rows", result.GetNumberOfRows())
75+
}
76+
}

0 commit comments

Comments
 (0)