@@ -24,7 +24,10 @@ use std::convert::TryFrom;
24
24
25
25
use eyre :: bail;
26
26
use quote :: quote;
27
- use rstml :: {parse2, node :: {Node , NodeAttribute , NodeElement , NodeText }};
27
+ use rstml :: {
28
+ node :: {Node , NodeAttribute , NodeElement , NodeText },
29
+ parse2,
30
+ };
28
31
29
32
// Create HTML `TokenStream`.
30
33
let tokens = quote! { <hello world >" hi" </ hello > };
@@ -33,14 +36,20 @@ let tokens = quote! { <hello world>"hi"</hello> };
33
36
let nodes = parse2 (tokens )? ;
34
37
35
38
// Extract some specific nodes from the tree.
36
- let Node :: Element (element ) = & nodes [0 ] else { bail! (" element" ) };
37
- let Node :: Attribute (attribute ) = & element . attributes[0 ] else { bail! (" attribute" ) };
38
- let Node :: Text (text ) = & element . children[0 ] else { bail! (" text" ) };
39
+ let Node :: Element (element ) = & nodes [0 ] else {
40
+ bail! (" element" )
41
+ };
42
+ let NodeAttribute :: Attribute (attribute ) = & element . attributes ()[0 ] else {
43
+ bail! (" attribute" )
44
+ };
45
+ let Node :: Text (text ) = & element . children[0 ] else {
46
+ bail! (" text" )
47
+ };
39
48
40
49
// Work with the nodes.
41
- assert_eq! (element . name. to_string (), " hello" );
50
+ assert_eq! (element . name () . to_string (), " hello" );
42
51
assert_eq! (attribute . key. to_string (), " world" );
43
- assert_eq! (String :: try_from ( & text . value) ? , " hi" );
52
+ assert_eq! (text . value_string () , " hi" );
44
53
```
45
54
46
55
## Powered by rstml
0 commit comments