Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(56)

Delta Between Two Patch Sets: src/pkg/exp/sql/sql_test.go

Issue 5483088: code review 5483088: sql: add Rows.Columns (Closed)
Left Patch Set: Created 13 years, 3 months ago
Right Patch Set: diff -r 021414aecce6 https://go.googlecode.com/hg/ Created 13 years, 3 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/exp/sql/sql.go ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 // Copyright 2011 The Go Authors. All rights reserved. 1 // Copyright 2011 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style 2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file. 3 // license that can be found in the LICENSE file.
4 4
5 package sql 5 package sql
6 6
7 import ( 7 import (
8 "reflect" 8 "reflect"
9 "strings" 9 "strings"
10 "testing" 10 "testing"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 if err != nil { 65 if err != nil {
66 t.Fatalf("Err: %v", err) 66 t.Fatalf("Err: %v", err)
67 } 67 }
68 want := []row{ 68 want := []row{
69 {age: 1, name: "Alice"}, 69 {age: 1, name: "Alice"},
70 {age: 2, name: "Bob"}, 70 {age: 2, name: "Bob"},
71 {age: 3, name: "Chris"}, 71 {age: 3, name: "Chris"},
72 } 72 }
73 if !reflect.DeepEqual(got, want) { 73 if !reflect.DeepEqual(got, want) {
74 t.Logf(" got: %#v\nwant: %#v", got, want) 74 t.Logf(" got: %#v\nwant: %#v", got, want)
75 }
76 }
77
78 func TestRowsColumns(t *testing.T) {
79 db := newTestDB(t, "people")
80 defer closeDB(t, db)
81 rows, err := db.Query("SELECT|people|age,name|")
82 if err != nil {
83 t.Fatalf("Query: %v", err)
84 }
85 cols, err := rows.Columns()
86 if err != nil {
87 t.Fatalf("Columns: %v", err)
88 }
89 want := []string{"age", "name"}
90 if !reflect.DeepEqual(cols, want) {
91 t.Errorf("got %#v; want %#v", cols, want)
75 } 92 }
76 } 93 }
77 94
78 func TestQueryRow(t *testing.T) { 95 func TestQueryRow(t *testing.T) {
79 db := newTestDB(t, "people") 96 db := newTestDB(t, "people")
80 defer closeDB(t, db) 97 defer closeDB(t, db)
81 var name string 98 var name string
82 var age int 99 var age int
83 100
84 err := db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&age) 101 err := db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&age)
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 wantErr string 197 wantErr string
181 } 198 }
182 execTests := []execTest{ 199 execTests := []execTest{
183 // Okay: 200 // Okay:
184 {[]interface{}{"Brad", 31}, ""}, 201 {[]interface{}{"Brad", 31}, ""},
185 {[]interface{}{"Brad", int64(31)}, ""}, 202 {[]interface{}{"Brad", int64(31)}, ""},
186 {[]interface{}{"Bob", "32"}, ""}, 203 {[]interface{}{"Bob", "32"}, ""},
187 {[]interface{}{7, 9}, ""}, 204 {[]interface{}{7, 9}, ""},
188 205
189 // Invalid conversions: 206 // Invalid conversions:
190 » » {[]interface{}{"Brad", int64(0xFFFFFFFF)}, "db: converting Exec argument #1's type: sql/driver: value 4294967295 overflows int32"}, 207 » » {[]interface{}{"Brad", int64(0xFFFFFFFF)}, "sql: converting Exec argument #1's type: sql/driver: value 4294967295 overflows int32"},
191 » » {[]interface{}{"Brad", "strconv fail"}, "db: converting Exec arg ument #1's type: sql/driver: value \"strconv fail\" can't be converted to int32" }, 208 » » {[]interface{}{"Brad", "strconv fail"}, "sql: converting Exec ar gument #1's type: sql/driver: value \"strconv fail\" can't be converted to int32 "},
192 209
193 // Wrong number of args: 210 // Wrong number of args:
194 » » {[]interface{}{}, "db: expected 2 arguments, got 0"}, 211 » » {[]interface{}{}, "sql: expected 2 arguments, got 0"},
195 » » {[]interface{}{1, 2, 3}, "db: expected 2 arguments, got 3"}, 212 » » {[]interface{}{1, 2, 3}, "sql: expected 2 arguments, got 3"},
196 } 213 }
197 for n, et := range execTests { 214 for n, et := range execTests {
198 _, err := stmt.Exec(et.args...) 215 _, err := stmt.Exec(et.args...)
199 errStr := "" 216 errStr := ""
200 if err != nil { 217 if err != nil {
201 errStr = err.Error() 218 errStr = err.Error()
202 } 219 }
203 if errStr != et.wantErr { 220 if errStr != et.wantErr {
204 t.Errorf("stmt.Execute #%d: for %v, got error %q, want e rror %q", 221 t.Errorf("stmt.Execute #%d: for %v, got error %q, want e rror %q",
205 n, et.args, errStr, et.wantErr) 222 n, et.args, errStr, et.wantErr)
(...skipping 28 matching lines...) Expand all
234 func TestIssue2542Deadlock(t *testing.T) { 251 func TestIssue2542Deadlock(t *testing.T) {
235 db := newTestDB(t, "people") 252 db := newTestDB(t, "people")
236 closeDB(t, db) 253 closeDB(t, db)
237 for i := 0; i < 2; i++ { 254 for i := 0; i < 2; i++ {
238 _, err := db.Query("SELECT|people|age,name|") 255 _, err := db.Query("SELECT|people|age,name|")
239 if err == nil { 256 if err == nil {
240 t.Fatalf("expected error") 257 t.Fatalf("expected error")
241 } 258 }
242 } 259 }
243 } 260 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b