URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [stringrange.go] - Rev 700
Compare with Previous | Blame | View Log
// $G $F.go && $L $F.$A && ./$A.out// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package mainimport ("fmt""os""unicode/utf8")func main() {s := "\000\123\x00\xca\xFE\u0123\ubabe\U0000babe\U0010FFFFx"expect := []rune{0, 0123, 0, 0xFFFD, 0xFFFD, 0x123, 0xbabe, 0xbabe, 0x10FFFF, 'x'}offset := 0var i intvar c runeok := truecnum := 0for i, c = range s {r, size := utf8.DecodeRuneInString(s[i:len(s)]) // check it another wayif i != offset {fmt.Printf("unexpected offset %d not %d\n", i, offset)ok = false}if r != expect[cnum] {fmt.Printf("unexpected rune %d from DecodeRuneInString: %x not %x\n", i, r, expect[cnum])ok = false}if c != expect[cnum] {fmt.Printf("unexpected rune %d from range: %x not %x\n", i, r, expect[cnum])ok = false}offset += sizecnum++}if i != len(s)-1 {fmt.Println("after loop i is", i, "not", len(s)-1)ok = false}i = 12345c = 23456for i, c = range "" {}if i != 12345 {fmt.Println("range empty string assigned to index:", i)ok = false}if c != 23456 {fmt.Println("range empty string assigned to value:", c)ok = false}if !ok {fmt.Println("BUG: stringrange")os.Exit(1)}}
