diff options
Diffstat (limited to 'integration_tests')
| -rw-r--r-- | integration_tests/tests/test_html5lib.rs | 30 | 
1 files changed, 28 insertions, 2 deletions
| diff --git a/integration_tests/tests/test_html5lib.rs b/integration_tests/tests/test_html5lib.rs index 42d93f1..3e07531 100644 --- a/integration_tests/tests/test_html5lib.rs +++ b/integration_tests/tests/test_html5lib.rs @@ -6,7 +6,8 @@ use html5lib_tests::{  use html5tokenizer::{      offset::{Offset, PosTrackingReader, Position},      reader::Reader, -    CdataAction, Emitter, Error, Event, InternalState, Token, Tokenizer, TracingEmitter, +    BasicEmitter, CdataAction, Emitter, Error, Event, InternalState, Token, Tokenizer, +    TracingEmitter,  };  use similar_asserts::assert_eq; @@ -68,7 +69,26 @@ fn test_tokenizer_file(path: &Path) {  fn run_test(fname: &str, test_i: usize, test: Test) {      for state in &test.initial_states { -        // TODO: test BasicEmitter here once it's implemented +        run_test_inner( +            fname, +            test_i, +            &test, +            state, +            Tokenizer::new(&test.input, BasicEmitter::default()), +            "BasicEmitter string", +        ); + +        run_test_inner( +            fname, +            test_i, +            &test, +            state, +            Tokenizer::new( +                BufReader::new(test.input.as_bytes()), +                BasicEmitter::default(), +            ), +            "BasicEmitter bufread", +        );          run_test_inner(              fname, @@ -186,6 +206,12 @@ trait DrainErrors<O> {      fn drain_errors(&mut self) -> Box<dyn Iterator<Item = (Error, Range<O>)> + '_>;  } +impl<O> DrainErrors<O> for BasicEmitter<O> { +    fn drain_errors(&mut self) -> Box<dyn Iterator<Item = (Error, Range<O>)> + '_> { +        Box::new(self.drain_errors()) +    } +} +  impl DrainErrors<usize> for TracingEmitter {      fn drain_errors(&mut self) -> Box<dyn Iterator<Item = (Error, Range<usize>)> + '_> {          Box::new(self.drain_errors()) | 
