...

Source file src/sigs.k8s.io/kustomize/kyaml/yaml/mapnode_test.go

Documentation: sigs.k8s.io/kustomize/kyaml/yaml

     1  // Copyright 2019 The Kubernetes Authors.
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package yaml
     5  
     6  import (
     7  	"testing"
     8  )
     9  
    10  func TestMapNodeIsNilOrEmpty(t *testing.T) {
    11  	var mn *MapNode
    12  
    13  	if !mn.IsNilOrEmpty() {
    14  		t.Fatalf("nil should be empty")
    15  	}
    16  
    17  	mn = &MapNode{Key: MakeNullNode()}
    18  	if !mn.IsNilOrEmpty() {
    19  		t.Fatalf("missing value should be empty")
    20  	}
    21  
    22  	mn.Value = NewRNode(nil)
    23  	if !mn.IsNilOrEmpty() {
    24  		t.Fatalf("missing value YNode should be empty")
    25  	}
    26  
    27  	mn.Value = MakeNullNode()
    28  	if !mn.IsNilOrEmpty() {
    29  		t.Fatalf("value tagged null should be empty")
    30  	}
    31  
    32  	mn.Value = NewMapRNode(nil)
    33  	if !mn.IsNilOrEmpty() {
    34  		t.Fatalf("empty map should be empty")
    35  	}
    36  
    37  	mn.Value = NewMapRNode(&map[string]string{"foo": "bar"})
    38  	if mn.IsNilOrEmpty() {
    39  		t.Fatalf("non-empty map should not be empty")
    40  	}
    41  
    42  	mn.Value = NewListRNode()
    43  	if !mn.IsNilOrEmpty() {
    44  		t.Fatalf("empty list should be empty")
    45  	}
    46  
    47  	mn.Value = NewListRNode("foo")
    48  	if mn.IsNilOrEmpty() {
    49  		t.Fatalf("non-empty list should not be empty")
    50  	}
    51  }
    52  

View as plain text