// Copyright 2013 ChaiShushan . All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package mo import ( "reflect" "sort" "testing" ) func TestFile_Data(t *testing.T) { f, err := Load(testMoFile.Data()) if err != nil { t.Fatal(err) } if a, b := len(f.Messages), len(testMoFile.Messages); a != b { t.Logf("size not equal: expect = %d, got = %d", b, a) } for i, v := range f.Messages { if !reflect.DeepEqual(&v, &testMoFile.Messages[i]) { t.Fatalf("%d: expect = %v, got = %v", i, testMoFile.Messages[i], v) } } } func init() { sort.Slice(testMoFile.Messages, func(i, j int) bool { return testMoFile.Messages[i].less(&testMoFile.Messages[j]) }) } var testMoFile = &File{ Messages: []Message{ Message{ MsgContext: "main.init", MsgId: "Gettext in init.", MsgStr: "Init函数中的Gettext.", }, Message{ MsgContext: "main.main", MsgId: "Hello, world!", MsgStr: "你好, 世界!", }, Message{ MsgContext: "main.func", MsgId: "Gettext in func.", MsgStr: "闭包函数中的Gettext.", }, Message{ MsgContext: "code.google.com/p/gettext-go/examples/hi.SayHi", MsgId: "pkg hi: Hello, world!", MsgStr: "来自\"Hi\"包的问候: 你好, 世界!", }, }, }