@@ -742,6 +742,65 @@ macro_rules! maplike_errors {
742742 }
743743 }
744744 }
745+
746+ mod incomplete_tag {
747+ use super :: * ;
748+ use quick_xml:: errors:: { Error , SyntaxError } ;
749+
750+ #[ test]
751+ fn attributes( ) {
752+ let err = from_str:: <$attributes>(
753+ // Comment for prevent unnecessary formatting - we use the same style in all tests
754+ r#"<root float="42" string="answer""# ,
755+ )
756+ . unwrap_err( ) ;
757+ match err {
758+ // TODO: add error position to errors and check it here
759+ // Related: https://github.com/tafia/quick-xml/issues/625
760+ DeError :: InvalidXml ( Error :: Syntax ( SyntaxError :: UnclosedTag ) ) => ( ) ,
761+ _ => panic!(
762+ "Expected `Err(InvalidXml(Syntax(UnclosedTag)))`, but got `{:?}`" ,
763+ err
764+ ) ,
765+ }
766+ }
767+
768+ #[ test]
769+ fn elements_root( ) {
770+ let err = from_str:: <$mixed>(
771+ // Comment for prevent unnecessary formatting - we use the same style in all tests
772+ r#"<root float="42"><string>answer</string><root"# ,
773+ )
774+ . unwrap_err( ) ;
775+ match err {
776+ // TODO: add error position to errors and check it here
777+ // Related: https://github.com/tafia/quick-xml/issues/625
778+ DeError :: InvalidXml ( Error :: Syntax ( SyntaxError :: UnclosedTag ) ) => ( ) ,
779+ _ => panic!(
780+ "Expected `Err(InvalidXml(Syntax(UnclosedTag)))`, but got `{:?}`" ,
781+ err
782+ ) ,
783+ }
784+ }
785+
786+ #[ test]
787+ fn elements_child( ) {
788+ let err = from_str:: <$mixed>(
789+ // Comment for prevent unnecessary formatting - we use the same style in all tests
790+ r#"<root float="42"><string>answer</string"# ,
791+ )
792+ . unwrap_err( ) ;
793+ match err {
794+ // TODO: add error position to errors and check it here
795+ // Related: https://github.com/tafia/quick-xml/issues/625
796+ DeError :: InvalidXml ( Error :: Syntax ( SyntaxError :: UnclosedTag ) ) => ( ) ,
797+ _ => panic!(
798+ "Expected `Err(InvalidXml(Syntax(UnclosedTag)))`, but got `{:?}`" ,
799+ err
800+ ) ,
801+ }
802+ }
803+ }
745804 } ;
746805}
747806
0 commit comments