blob: 836c3c1a2d0b0de309abe4b8a6ffa0aabc85668a [file] [log] [blame]
Rob Pikefc0dc042012-02-19 13:19:43 +11001// run
Robert Griesemerd2490e72008-03-19 15:45:07 -07002
3// Copyright 2009 The Go Authors. All rights reserved.
4// Use of this source code is governed by a BSD-style
5// license that can be found in the LICENSE file.
6
Rob Pikefc0dc042012-02-19 13:19:43 +11007// Test character literal syntax.
8
Robert Griesemerd2490e72008-03-19 15:45:07 -07009package main
10
Russ Cox918afd942009-05-08 15:21:41 -070011import "os"
12
Rob Pike34cb7c22008-06-27 14:15:06 -070013func main() {
Rob Pike74dd0ab2009-08-17 13:30:22 -070014 var i uint64 =
15 ' ' +
16 'a' +
17 'ä' +
18 '本' +
19 '\a' +
20 '\b' +
21 '\f' +
22 '\n' +
23 '\r' +
24 '\t' +
25 '\v' +
26 '\\' +
27 '\'' +
28 '\000' +
29 '\123' +
30 '\x00' +
31 '\xca' +
32 '\xFE' +
33 '\u0123' +
34 '\ubabe' +
Russ Cox42a691b2010-06-08 22:32:04 -070035 '\U0010FFFF' +
36 '\U000ebabe'
Russ Cox42a691b2010-06-08 22:32:04 -070037 if '\U000ebabe' != 0x000ebabe {
Rob Pike4f61fc92010-09-04 10:36:13 +100038 print("ebabe wrong\n")
Rob Pike74dd0ab2009-08-17 13:30:22 -070039 os.Exit(1)
40 }
Russ Cox42a691b2010-06-08 22:32:04 -070041 if i != 0x20e213 {
Rob Pike4f61fc92010-09-04 10:36:13 +100042 print("number is ", i, " should be ", 0x20e213, "\n")
Rob Pike74dd0ab2009-08-17 13:30:22 -070043 os.Exit(1)
Rob Pike4f61fc92010-09-04 10:36:13 +100044 }
Robert Griesemerd2490e72008-03-19 15:45:07 -070045}