28 lines
614 B
Go
28 lines
614 B
Go
// Copyright 2014 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 seq
|
|
|
|
import (
|
|
"testing"
|
|
"unicode/utf16"
|
|
)
|
|
|
|
var strData = []string{
|
|
"abcxyz09{}",
|
|
"Hello, 世界",
|
|
string([]rune{0xffff, 0x10000, 0x10001, 0x12345, 0x10ffff}),
|
|
}
|
|
|
|
func TestString(t *testing.T) {
|
|
for _, test := range strData {
|
|
chars := make([]uint16, 4*len(test))
|
|
nchars := UTF16Encode(test, chars)
|
|
chars = chars[:nchars]
|
|
got := string(utf16.Decode(chars))
|
|
if got != test {
|
|
t.Errorf("UTF16: got %q, want %q", got, test)
|
|
}
|
|
}
|
|
}
|