本文整理汇总了Golang中github.com/corestoreio/csfw/config.SectionSlice类的典型用法代码示例。如果您正苦于以下问题:Golang SectionSlice类的具体用法?Golang SectionSlice怎么用?Golang SectionSlice使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SectionSlice类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: TestSectionSliceSort
func TestSectionSliceSort(t *testing.T) {
want := []int{-10, 1, 10, 11, 20}
ss := config.SectionSlice{
&config.Section{ID: "a", SortOrder: 20},
&config.Section{ID: "b", SortOrder: -10},
&config.Section{ID: "c", SortOrder: 10},
&config.Section{ID: "d", SortOrder: 11},
&config.Section{ID: "e", SortOrder: 1},
}
for i, f := range *(ss.Sort()) {
assert.EqualValues(t, want[i], f.SortOrder)
}
}
开发者ID:levcom,项目名称:csfw,代码行数:14,代码来源:elements_test.go
示例2: TestSectionSliceSortAll
func TestSectionSliceSortAll(t *testing.T) {
want := `[{"ID":"b","SortOrder":-10,"Groups":null},{"ID":"e","SortOrder":1,"Groups":null},{"ID":"c","SortOrder":10,"Groups":null},{"ID":"a","SortOrder":20,"Groups":[{"ID":"b","SortOrder":-10,"Fields":[{"ID":"b","SortOrder":-10},{"ID":"e","SortOrder":1},{"ID":"c","SortOrder":10},{"ID":"d","SortOrder":11},{"ID":"a","SortOrder":20}]},{"ID":"e","SortOrder":1,"Fields":null},{"ID":"d","SortOrder":11,"Fields":[{"ID":"b","SortOrder":-10},{"ID":"e","SortOrder":1},{"ID":"c","SortOrder":10},{"ID":"d","SortOrder":11},{"ID":"a","SortOrder":20}]},{"ID":"a","SortOrder":20,"Fields":[{"ID":"b","SortOrder":-10},{"ID":"e","SortOrder":1},{"ID":"c","SortOrder":10},{"ID":"d","SortOrder":11},{"ID":"a","SortOrder":20}]}]}]` + "\n"
ss := config.SectionSlice{
&config.Section{ID: "a", SortOrder: 20, Groups: config.GroupSlice{
&config.Group{ID: "a", SortOrder: 20, Fields: config.FieldSlice{&config.Field{ID: "a", SortOrder: 20}, &config.Field{ID: "b", SortOrder: -10}, &config.Field{ID: "c", SortOrder: 10}, &config.Field{ID: "d", SortOrder: 11}, &config.Field{ID: "e", SortOrder: 1}}},
&config.Group{ID: "b", SortOrder: -10, Fields: config.FieldSlice{&config.Field{ID: "a", SortOrder: 20}, &config.Field{ID: "b", SortOrder: -10}, &config.Field{ID: "c", SortOrder: 10}, &config.Field{ID: "d", SortOrder: 11}, &config.Field{ID: "e", SortOrder: 1}}},
&config.Group{ID: "d", SortOrder: 11, Fields: config.FieldSlice{&config.Field{ID: "a", SortOrder: 20}, &config.Field{ID: "b", SortOrder: -10}, &config.Field{ID: "c", SortOrder: 10}, &config.Field{ID: "d", SortOrder: 11}, &config.Field{ID: "e", SortOrder: 1}}},
&config.Group{ID: "e", SortOrder: 1},
}},
&config.Section{ID: "b", SortOrder: -10},
&config.Section{ID: "c", SortOrder: 10},
&config.Section{ID: "e", SortOrder: 1},
}
ss.SortAll()
have := ss.ToJSON()
if want != have {
t.Errorf("\nWant: %s\nHave: %s\n", want, have)
}
}
开发者ID:levcom,项目名称:csfw,代码行数:19,代码来源:elements_test.go
示例3: TestSectionSliceMerge
func TestSectionSliceMerge(t *testing.T) {
// Got stuck in comparing JSON?
// Use a Webservice to compare the JSON output!
tests := []struct {
have []config.SectionSlice
wantErr string
want string
wantLen int
}{
0: {
have: []config.SectionSlice{
nil,
{
nil,
&config.Section{
ID: "a",
Groups: config.GroupSlice{
nil,
&config.Group{
ID: "b",
Fields: config.FieldSlice{
&config.Field{ID: "c", Default: `c`},
},
},
&config.Group{
ID: "b",
Fields: config.FieldSlice{
&config.Field{ID: "d", Default: `d`},
},
},
},
},
},
{
&config.Section{ID: "a", Label: "LabelA", Groups: nil},
},
},
wantErr: "",
want: `[{"ID":"a","Label":"LabelA","Groups":[{"ID":"b","Fields":[{"ID":"c","Default":"c"},{"ID":"d","Default":"d"}]}]}]` + "\n",
wantLen: 2,
},
1: {
have: []config.SectionSlice{
{
&config.Section{
ID: "a",
Label: "SectionLabelA",
Groups: config.GroupSlice{
&config.Group{
ID: "b",
Scope: scope.NewPerm(scope.DefaultID),
Fields: config.FieldSlice{
&config.Field{ID: "c", Default: `c`},
},
},
nil,
},
},
},
{
&config.Section{
ID: "a",
Scope: scope.NewPerm(scope.DefaultID, scope.WebsiteID),
Groups: config.GroupSlice{
&config.Group{ID: "b", Label: "GroupLabelB1"},
nil,
&config.Group{ID: "b", Label: "GroupLabelB2"},
&config.Group{
ID: "b2",
Fields: config.FieldSlice{
&config.Field{ID: "d", Default: `d`},
},
},
},
},
},
},
wantErr: "",
want: `[{"ID":"a","Label":"SectionLabelA","Scope":["Default","Website"],"Groups":[{"ID":"b","Label":"GroupLabelB2","Scope":["Default"],"Fields":[{"ID":"c","Default":"c"}]},{"ID":"b2","Fields":[{"ID":"d","Default":"d"}]}]}]` + "\n",
wantLen: 2,
},
2: {
have: []config.SectionSlice{
{
&config.Section{ID: "a", Label: "SectionLabelA", SortOrder: 20, Permission: 22},
},
{
&config.Section{ID: "a", Scope: scope.NewPerm(scope.DefaultID, scope.WebsiteID), SortOrder: 10, Permission: 3},
},
},
wantErr: "",
want: `[{"ID":"a","Label":"SectionLabelA","Scope":["Default","Website"],"SortOrder":10,"Permission":3,"Groups":null}]` + "\n",
},
3: {
have: []config.SectionSlice{
{
&config.Section{
ID: "a",
//.........这里部分代码省略.........
开发者ID:levcom,项目名称:csfw,代码行数:101,代码来源:elements_test.go
注:本文中的github.com/corestoreio/csfw/config.SectionSlice类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论