...

Source file src/github.com/clbanning/mxj/v2/nan_test.go

Documentation: github.com/clbanning/mxj/v2

     1  // nan_test.go
     2  
     3  package mxj
     4  
     5  import (
     6  	"fmt"
     7  	"testing"
     8  )
     9  
    10  func TestNan(t *testing.T) {
    11  	fmt.Println("\n------------ TestNan ...")
    12  	data := []byte("<foo><bar>NAN</bar></foo>")
    13  
    14  	m, err := NewMapXml(data, true)
    15  	if err != nil {
    16  		t.Fatal("err:", err)
    17  	}
    18  	v, err := m.ValueForPath("foo.bar")
    19  	if err != nil {
    20  		t.Fatal("err:", err)
    21  	}
    22  	if _, ok := v.(string); !ok {
    23  		t.Fatal("v not string")
    24  	}
    25  	fmt.Println("foo.bar:", v)
    26  }
    27  
    28  func TestInf(t *testing.T) {
    29  	data := []byte("<foo><bar>INF</bar></foo>")
    30  
    31  	m, err := NewMapXml(data, true)
    32  	if err != nil {
    33  		t.Fatal("err:", err)
    34  	}
    35  	v, err := m.ValueForPath("foo.bar")
    36  	if err != nil {
    37  		t.Fatal("err:", err)
    38  	}
    39  	if _, ok := v.(string); !ok {
    40  		t.Fatal("v not string")
    41  	}
    42  	fmt.Println("foo.bar:", v)
    43  }
    44  
    45  func TestMinusInf(t *testing.T) {
    46  	data := []byte("<foo><bar>-INF</bar></foo>")
    47  
    48  	m, err := NewMapXml(data, true)
    49  	if err != nil {
    50  		t.Fatal("err:", err)
    51  	}
    52  	v, err := m.ValueForPath("foo.bar")
    53  	if err != nil {
    54  		t.Fatal("err:", err)
    55  	}
    56  	if _, ok := v.(string); !ok {
    57  		t.Fatal("v not string")
    58  	}
    59  	fmt.Println("foo.bar:", v)
    60  }
    61  
    62  func TestCastNanInf(t *testing.T) {
    63  	data := []byte("<foo><bar>NAN</bar></foo>")
    64  
    65  	CastNanInf(true)
    66  
    67  	m, err := NewMapXml(data, true)
    68  	if err != nil {
    69  		t.Fatal("err:", err)
    70  	}
    71  	v, err := m.ValueForPath("foo.bar")
    72  	if err != nil {
    73  		t.Fatal("err:", err)
    74  	}
    75  	if _, ok := v.(float64); !ok {
    76  		fmt.Printf("%#v\n", v)
    77  		t.Fatal("v not float64")
    78  	}
    79  	fmt.Println("foo.bar:", v)
    80  }
    81  
    82  

View as plain text