本文整理汇总了Golang中github.com/corestoreio/csfw/config.SectionSlice.MergeMultiple方法的典型用法代码示例。如果您正苦于以下问题:Golang SectionSlice.MergeMultiple方法的具体用法?Golang SectionSlice.MergeMultiple怎么用?Golang SectionSlice.MergeMultiple使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/corestoreio/csfw/config.SectionSlice
的用法示例。
在下文中一共展示了SectionSlice.MergeMultiple方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestSectionSliceMerge
//.........这里部分代码省略.........
Fields: config.FieldSlice{
nil,
&config.Field{ID: "d", Default: `d`, Comment: "Ring of fire", Type: config.TypeObscure},
&config.Field{ID: "c", Default: `haha`, Type: config.TypeSelect, Scope: scope.NewPerm(scope.DefaultID, scope.WebsiteID)},
},
},
},
},
},
{
&config.Section{
ID: "a",
Groups: config.GroupSlice{
&config.Group{
ID: "b",
Label: "b3",
Fields: config.FieldSlice{
&config.Field{ID: "d", Default: `overriddenD`, Label: "Sect2Group2Label4", Comment: "LOTR"},
&config.Field{ID: "c", Default: `overriddenHaha`, Type: config.TypeHidden},
},
},
},
},
},
},
wantErr: "",
want: `[{"ID":"a","Groups":[{"ID":"b","Label":"b3","Fields":[{"ID":"c","Type":"hidden","Scope":["Default","Website"],"SortOrder":1001,"Default":"overriddenHaha"},{"ID":"d","Type":"obscure","Label":"Sect2Group2Label4","Comment":"LOTR","Default":"overriddenD"}]}]}]` + "\n",
wantLen: 2,
},
5: {
have: []config.SectionSlice{
{
&config.Section{
ID: "a",
Groups: config.GroupSlice{
&config.Group{
ID: "b",
Fields: config.FieldSlice{
&config.Field{
ID: "c",
Default: `c`,
Type: config.TypeMultiselect,
},
},
},
},
},
},
{
nil,
&config.Section{
ID: "a",
Groups: config.GroupSlice{
&config.Group{
ID: "b",
Fields: config.FieldSlice{
nil,
&config.Field{
ID: "c",
Default: `overridenC`,
Type: config.TypeSelect,
Label: "Sect2Group2Label4",
Comment: "LOTR",
SortOrder: 100,
Visible: config.VisibleYes,
},
},
},
},
},
},
},
wantErr: "",
wantLen: 1,
want: `[{"ID":"a","Groups":[{"ID":"b","Fields":[{"ID":"c","Type":"select","Label":"Sect2Group2Label4","Comment":"LOTR","SortOrder":100,"Visible":true,"Default":"overridenC"}]}]}]` + "\n",
},
}
for i, test := range tests {
if len(test.have) == 0 {
test.want = "null\n"
}
var baseSl config.SectionSlice
haveErr := baseSl.MergeMultiple(test.have...)
if test.wantErr != "" {
assert.Len(t, baseSl, 0)
assert.Error(t, haveErr)
assert.Contains(t, haveErr.Error(), test.wantErr)
} else {
assert.NoError(t, haveErr)
j := baseSl.ToJSON()
if j != test.want {
t.Errorf("\nIndex: %d\nExpected: %s\nActual: %s\n", i, test.want, j)
}
}
assert.Exactly(t, test.wantLen, baseSl.TotalFields(), "Index %d", i)
}
}