github.com/gofiber/fiber/v2@v2.47.0/utils/xml_test.go (about)

     1  package utils
     2  
     3  import (
     4  	"encoding/xml"
     5  	"testing"
     6  )
     7  
     8  type serversXMLStructure struct {
     9  	XMLName xml.Name             `xml:"servers"`
    10  	Version string               `xml:"version,attr"`
    11  	Servers []serverXMLStructure `xml:"server"`
    12  }
    13  
    14  type serverXMLStructure struct {
    15  	XMLName xml.Name `xml:"server"`
    16  	Name    string   `xml:"name"`
    17  }
    18  
    19  const xmlString = `<servers version="1"><server><name>fiber one</name></server><server><name>fiber two</name></server></servers>`
    20  
    21  func Test_GolangXMLEncoder(t *testing.T) {
    22  	t.Parallel()
    23  
    24  	var (
    25  		ss = &serversXMLStructure{
    26  			Version: "1",
    27  			Servers: []serverXMLStructure{
    28  				{Name: "fiber one"},
    29  				{Name: "fiber two"},
    30  			},
    31  		}
    32  		xmlEncoder XMLMarshal = xml.Marshal
    33  	)
    34  
    35  	raw, err := xmlEncoder(ss)
    36  	AssertEqual(t, err, nil)
    37  
    38  	AssertEqual(t, string(raw), xmlString)
    39  }
    40  
    41  func Test_DefaultXMLEncoder(t *testing.T) {
    42  	t.Parallel()
    43  
    44  	var (
    45  		ss = &serversXMLStructure{
    46  			Version: "1",
    47  			Servers: []serverXMLStructure{
    48  				{Name: "fiber one"},
    49  				{Name: "fiber two"},
    50  			},
    51  		}
    52  		xmlEncoder XMLMarshal = xml.Marshal
    53  	)
    54  
    55  	raw, err := xmlEncoder(ss)
    56  	AssertEqual(t, err, nil)
    57  
    58  	AssertEqual(t, string(raw), xmlString)
    59  }