...

Source file src/github.com/andybalholm/cascadia/serialize_test.go

Documentation: github.com/andybalholm/cascadia

     1  package cascadia
     2  
     3  import (
     4  	"reflect"
     5  	"testing"
     6  )
     7  
     8  func TestSerialize(t *testing.T) {
     9  	var testSer []string
    10  	for _, test := range selectorTests {
    11  		testSer = append(testSer, test.selector)
    12  	}
    13  	for _, test := range testsPseudo {
    14  		testSer = append(testSer, test.selector)
    15  	}
    16  	for _, test := range loadValidSelectors(t) {
    17  		if test.Xfail {
    18  			continue
    19  		}
    20  		testSer = append(testSer, test.Selector)
    21  	}
    22  
    23  	for _, test := range testSer {
    24  		s, err := ParseGroupWithPseudoElements(test)
    25  		if err != nil {
    26  			t.Fatalf("error compiling %q: %s", test, err)
    27  		}
    28  
    29  		serialized := s.String()
    30  		s2, err := ParseGroupWithPseudoElements(serialized)
    31  		if err != nil {
    32  			t.Errorf("error compiling %q: %s %T (original : %s)", serialized, err, s, test)
    33  		}
    34  
    35  		if !reflect.DeepEqual(s, s2) {
    36  			t.Errorf("can't retrieve selector from serialized : %s (original : %s, sel : %#v)", serialized, test, s)
    37  		}
    38  	}
    39  }
    40  

View as plain text