mirror of
https://github.com/golang/go
synced 2024-11-25 00:17:58 -07:00
fix string_lit test to be more thorough
SVN=121623
This commit is contained in:
parent
f9c58c25e0
commit
f07d2eea52
@ -41,9 +41,6 @@ sieve.go:8: fatal error: walktype: switch 1 unknown op SEND l(8)
|
||||
BUG: known to fail incorrectly
|
||||
|
||||
=========== ./string_lit.go
|
||||
string_lit.go:5: syntax error
|
||||
string_lit.go:12: unknown escape sequence: \
|
||||
BUG: known to fail incorrectly
|
||||
|
||||
=========== ./switch.go
|
||||
|
||||
|
@ -6,25 +6,74 @@
|
||||
|
||||
package main
|
||||
|
||||
func main() {
|
||||
[]string(
|
||||
"",
|
||||
" ",
|
||||
"'`",
|
||||
"a",
|
||||
"ä",
|
||||
"本",
|
||||
"\a\b\f\n\r\t\v\\\"",
|
||||
"\000\123\x00\xca\xFE\u0123\ubabe\U0123ABCD\Ucafebabe",
|
||||
|
||||
``,
|
||||
` `,
|
||||
`'"`,
|
||||
`a`,
|
||||
`ä`,
|
||||
`本`,
|
||||
`\a\b\f\n\r\t\v\\\'\"`,
|
||||
`\000\123\x00\xca\xFE\u0123\ubabe\U0123ABCD\Ucafebabe`,
|
||||
`\x\u\U\`
|
||||
);
|
||||
var ecode int;
|
||||
|
||||
func assert(a, b, c string) {
|
||||
if a != b {
|
||||
ecode = 1;
|
||||
print "FAIL: ", c, ": ", a, "!=", b, "\n";
|
||||
var max int = len(a);
|
||||
if len(b) > max {
|
||||
max = len(b);
|
||||
}
|
||||
for i := 0; i < max; i++ {
|
||||
ac := 0;
|
||||
bc := 0;
|
||||
if i < len(a) {
|
||||
ac = int(a[i]);
|
||||
}
|
||||
if i < len(b) {
|
||||
bc = int(b[i]);
|
||||
}
|
||||
if ac != bc {
|
||||
print "\ta[", i, "] = ", ac, "; b[", i, "] =", bc, "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func main() int {
|
||||
ecode = 0;
|
||||
s :=
|
||||
""
|
||||
" "
|
||||
"'`"
|
||||
"a"
|
||||
"ä"
|
||||
"本"
|
||||
"\a\b\f\n\r\t\v\\\""
|
||||
"\000\123\x00\xca\xFE\u0123\ubabe\U0000babe"
|
||||
|
||||
``
|
||||
` `
|
||||
`'"`
|
||||
`a`
|
||||
`ä`
|
||||
`本`
|
||||
`\a\b\f\n\r\t\v\\\'`
|
||||
`\000\123\x00\xca\xFE\u0123\ubabe\U0000babe`
|
||||
`\x\u\U\`
|
||||
;
|
||||
assert("", ``, "empty");
|
||||
assert(" ", " ", "blank");
|
||||
assert("\x61", "a", "lowercase a");
|
||||
assert("\x61", `a`, "lowercase a (backquote)");
|
||||
assert("\u00e4", "ä", "a umlaut");
|
||||
assert("\u00e4", `ä`, "a umlaut (backquote)");
|
||||
assert("\u672c", "本", "nihon");
|
||||
assert("\u672c", `本`, "nihon (backquote)");
|
||||
assert("\x07\x08\x0c\x0a\x0d\x09\x0b\x5c\x22",
|
||||
"\a\b\f\n\r\t\v\\\"",
|
||||
"backslashes");
|
||||
assert("\\a\\b\\f\\n\\r\\t\\v\\\\\\\"",
|
||||
`\a\b\f\n\r\t\v\\\"`,
|
||||
"backslashes (backquote)");
|
||||
assert("\x00\x53\000\xca\376S몾몾",
|
||||
"\000\123\x00\312\xFE\u0053\ubabe\U0000babe",
|
||||
"backslashes 2");
|
||||
assert("\\000\\123\\x00\\312\\xFE\\u0123\\ubabe\\U0000babe",
|
||||
`\000\123\x00\312\xFE\u0123\ubabe\U0000babe`,
|
||||
"backslashes 2 (backquote)");
|
||||
assert("\\x\\u\\U\\", `\x\u\U\`, "backslash 3 (backquote)");
|
||||
return ecode;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user