...
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