mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-17 18:25:26 +00:00
Add copy method to VarSet
This commit is contained in:
@@ -39,7 +39,7 @@ func (ra *ResAccumulator) ResMap() resmap.ResMap {
|
||||
|
||||
// Vars returns a copy of underlying vars.
|
||||
func (ra *ResAccumulator) Vars() []types.Var {
|
||||
return ra.varSet.Set()
|
||||
return ra.varSet.AsSlice()
|
||||
}
|
||||
|
||||
func (ra *ResAccumulator) AppendAll(
|
||||
@@ -75,7 +75,7 @@ func (ra *ResAccumulator) MergeAccumulator(other *ResAccumulator) (err error) {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return ra.varSet.MergeSet(&other.varSet)
|
||||
return ra.varSet.MergeSet(other.varSet)
|
||||
}
|
||||
|
||||
// makeVarReplacementMap returns a map of Var names to
|
||||
|
||||
@@ -75,15 +75,20 @@ type VarSet struct {
|
||||
set []Var
|
||||
}
|
||||
|
||||
// Set returns a copy of the var set.
|
||||
func (vs *VarSet) Set() []Var {
|
||||
// AsSlice returns the vars as a slice.
|
||||
func (vs *VarSet) AsSlice() []Var {
|
||||
s := make([]Var, len(vs.set))
|
||||
copy(s, vs.set)
|
||||
return s
|
||||
}
|
||||
|
||||
// Copy returns a copy of the var set.
|
||||
func (vs *VarSet) Copy() VarSet {
|
||||
return VarSet{set: vs.AsSlice()}
|
||||
}
|
||||
|
||||
// MergeSet absorbs other vars with error on name collision.
|
||||
func (vs *VarSet) MergeSet(incoming *VarSet) error {
|
||||
func (vs *VarSet) MergeSet(incoming VarSet) error {
|
||||
return vs.MergeSlice(incoming.set)
|
||||
}
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ func TestDefaulting(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestVarSet(t *testing.T) {
|
||||
set := &VarSet{}
|
||||
set := VarSet{}
|
||||
vars := []Var{
|
||||
{
|
||||
Name: "SHELLVARS",
|
||||
@@ -120,10 +120,10 @@ func TestVarSet(t *testing.T) {
|
||||
}
|
||||
for _, v := range vars {
|
||||
if !set.Contains(v) {
|
||||
t.Fatalf("set %v should contain var %v", set.Set(), v)
|
||||
t.Fatalf("set %v should contain var %v", set.AsSlice(), v)
|
||||
}
|
||||
}
|
||||
set2 := &VarSet{}
|
||||
set2 := VarSet{}
|
||||
err = set2.MergeSet(set)
|
||||
if err != nil {
|
||||
t.Fatalf("unexpected err: %v", err)
|
||||
@@ -144,7 +144,7 @@ func TestVarSet(t *testing.T) {
|
||||
t.Fatalf("unexpected field path: %v", v.FieldRef.FieldPath)
|
||||
}
|
||||
// Confirm sorting.
|
||||
names := set2.Set()
|
||||
names := set2.AsSlice()
|
||||
if names[0].Name != "AWARD" ||
|
||||
names[1].Name != "BACKEND" ||
|
||||
names[2].Name != "SHELLVARS" {
|
||||
|
||||
Reference in New Issue
Block a user