From 3a6a1f9e7ecbbb33e7d20be621e1b41ce750b30d Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 23 Feb 2012 14:44:53 -0500 Subject: [PATCH] go/parser: expand test cases for bad import R=gri CC=golang-dev https://golang.org/cl/5697047 --- src/pkg/go/parser/parser_test.go | 44 ++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/src/pkg/go/parser/parser_test.go b/src/pkg/go/parser/parser_test.go index da0df14741..93ca3d6aa3 100644 --- a/src/pkg/go/parser/parser_test.go +++ b/src/pkg/go/parser/parser_test.go @@ -207,24 +207,40 @@ func TestVarScope(t *testing.T) { } var imports = map[string]bool{ - "a": true, - "a/b": true, - "a.b": true, - "m\x61th": true, - "greek/αβ": true, - "": false, - "\x00": false, - "\x7f": false, - "a!": false, - "a b": false, - `a\b`: false, - "`a`": false, - "\x80\x80": false, + `"a"`: true, + "`a`": true, + `"a/b"`: true, + `"a.b"`: true, + `"m\x61th"`: true, + `"greek/αβ"`: true, + `""`: false, + + // Each of these pairs tests both `` vs "" strings + // and also use of invalid characters spelled out as + // escape sequences and written directly. + // For example `"\x00"` tests import "\x00" + // while "`\x00`" tests import ``. + `"\x00"`: false, + "`\x00`": false, + `"\x7f"`: false, + "`\x7f`": false, + `"a!"`: false, + "`a!`": false, + `"a b"`: false, + "`a b`": false, + `"a\\b"`: false, + "`a\\b`": false, + "\"`a`\"": false, + "`\"a\"`": false, + `"\x80\x80"`: false, + "`\x80\x80`": false, + `"\xFFFD"`: false, + "`\xFFFD`": false, } func TestImports(t *testing.T) { for path, isValid := range imports { - src := fmt.Sprintf("package p; import %q", path) + src := fmt.Sprintf("package p; import %s", path) _, err := ParseFile(fset, "", src, 0) switch { case err != nil && isValid: -- 2.50.0