9
9
10
10
#[ macro_use]
11
11
extern crate html5ever;
12
+ extern crate markup5ever_rcdom as rcdom;
12
13
13
14
use std:: default:: Default ;
14
15
15
16
use html5ever:: driver:: ParseOpts ;
16
- use html5ever:: rcdom:: RcDom ;
17
17
use html5ever:: serialize:: { Serialize , SerializeOpts , Serializer , TraversalScope } ;
18
18
use html5ever:: tendril:: { SliceExt , StrTendril , TendrilSink } ;
19
19
use html5ever:: tokenizer:: { TagKind , Token , TokenSink , TokenSinkResult , Tokenizer } ;
20
20
use html5ever:: { parse_document, parse_fragment, serialize, QualName } ;
21
+ use rcdom:: { RcDom , SerializableHandle } ;
21
22
22
23
use std:: io;
23
24
@@ -98,10 +99,10 @@ fn parse_and_serialize(input: StrTendril) -> StrTendril {
98
99
vec ! [ ] ,
99
100
)
100
101
. one ( input) ;
101
- let inner = & dom. document . children . borrow ( ) [ 0 ] ;
102
+ let inner: SerializableHandle = dom. document . children . borrow ( ) [ 0 ] . clone ( ) . into ( ) ;
102
103
103
104
let mut result = vec ! [ ] ;
104
- serialize ( & mut result, inner, Default :: default ( ) ) . unwrap ( ) ;
105
+ serialize ( & mut result, & inner, Default :: default ( ) ) . unwrap ( ) ;
105
106
StrTendril :: try_from_byte_slice ( & result) . unwrap ( )
106
107
}
107
108
@@ -242,7 +243,8 @@ fn doctype() {
242
243
let dom = parse_document ( RcDom :: default ( ) , ParseOpts :: default ( ) ) . one ( "<!doctype html>" ) ;
243
244
dom. document . children . borrow_mut ( ) . truncate ( 1 ) ; // Remove <html>
244
245
let mut result = vec ! [ ] ;
245
- serialize ( & mut result, & dom. document , Default :: default ( ) ) . unwrap ( ) ;
246
+ let document: SerializableHandle = dom. document . clone ( ) . into ( ) ;
247
+ serialize ( & mut result, & document, Default :: default ( ) ) . unwrap ( ) ;
246
248
assert_eq ! ( String :: from_utf8( result) . unwrap( ) , "<!DOCTYPE html>" ) ;
247
249
}
248
250
@@ -259,6 +261,7 @@ fn deep_tree() {
259
261
let document = & dom. document ;
260
262
let opts = SerializeOpts :: default ( ) ;
261
263
let mut ret_val = Vec :: new ( ) ;
262
- serialize ( & mut ret_val, document, opts)
264
+ let document: SerializableHandle = dom. document . clone ( ) . into ( ) ;
265
+ serialize ( & mut ret_val, & document, opts)
263
266
. expect ( "Writing to a string shouldn't fail (expect on OOM)" ) ;
264
267
}
0 commit comments