MCPcopy
hub / github.com/go-sql-driver/mysql / TestString

Function TestString

driver_test.go:617–664  ·  driver_test.go::TestString
(t *testing.T)

Source from the content-addressed store, hash-verified

615}
616
617func TestString(t *testing.T) {
618 runTestsParallel(t, dsn, func(dbt *DBTest, tbl string) {
619 types := [6]string{"CHAR(255)", "VARCHAR(255)", "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT"}
620 in := "κόσμε üöäßñóùéàâÿœ'îë Árvíztűrő いろはにほへとちりぬるを イロハニホヘト דג סקרן чащах น่าฟังเอย"
621 var out string
622 var rows *sql.Rows
623
624 for _, v := range types {
625 dbt.mustExec("CREATE TABLE " + tbl + " (value " + v + ") CHARACTER SET utf8")
626
627 dbt.mustExec("INSERT INTO "+tbl+" VALUES (?)", in)
628
629 rows = dbt.mustQuery("SELECT value FROM " + tbl)
630 if rows.Next() {
631 rows.Scan(&out)
632 if in != out {
633 dbt.Errorf("%s: %s != %s", v, in, out)
634 }
635 } else {
636 dbt.Errorf("%s: no data", v)
637 }
638 rows.Close()
639
640 dbt.mustExec("DROP TABLE IF EXISTS " + tbl)
641 }
642
643 // BLOB
644 dbt.mustExec("CREATE TABLE " + tbl + " (id int, value BLOB) CHARACTER SET utf8")
645
646 id := 2
647 in = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " +
648 "sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, " +
649 "sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. " +
650 "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. " +
651 "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, " +
652 "sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, " +
653 "sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. " +
654 "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
655 dbt.mustExec("INSERT INTO "+tbl+" VALUES (?, ?)", id, in)
656
657 err := dbt.db.QueryRow("SELECT value FROM "+tbl+" WHERE id = ?", id).Scan(&out)
658 if err != nil {
659 dbt.Fatalf("Error on BLOB-Query: %s", err.Error())
660 } else if out != in {
661 dbt.Errorf("BLOB: %s != %s", in, out)
662 }
663 })
664}
665
666func TestRawBytes(t *testing.T) {
667 runTestsParallel(t, dsn, func(dbt *DBTest, _ string) {

Callers

nothing calls this directly

Calls 7

runTestsParallelFunction · 0.85
mustExecMethod · 0.80
mustQueryMethod · 0.80
ScanMethod · 0.80
NextMethod · 0.45
CloseMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected