@@ -165,7 +165,7 @@ impl JsonFormat {
165
165
/// # Errors
166
166
///
167
167
/// Returns `Err` if `s` does not meet the above requirements.
168
- pub fn comma < S : AsRef < str > > ( mut self , s : S ) -> Result < Self , Error > {
168
+ pub fn comma < S : AsRef < str > > ( mut self , s : S ) -> Result < Self , JsonSyntaxError > {
169
169
self . comma = validate_string ( s, Some ( ',' ) ) ?;
170
170
Ok ( self )
171
171
}
@@ -179,7 +179,7 @@ impl JsonFormat {
179
179
/// # Errors
180
180
///
181
181
/// Returns `Err` if `s` does not meet the above requirements.
182
- pub fn colon < S : AsRef < str > > ( mut self , s : S ) -> Result < Self , Error > {
182
+ pub fn colon < S : AsRef < str > > ( mut self , s : S ) -> Result < Self , JsonSyntaxError > {
183
183
self . colon = validate_string ( s, Some ( ':' ) ) ?;
184
184
Ok ( self )
185
185
}
@@ -196,7 +196,7 @@ impl JsonFormat {
196
196
///
197
197
/// Returns `Err` if `s` contains a string that contains any character
198
198
/// other than those listed above.
199
- pub fn indent < S : AsRef < str > > ( mut self , s : Option < S > ) -> Result < Self , Error > {
199
+ pub fn indent < S : AsRef < str > > ( mut self , s : Option < S > ) -> Result < Self , JsonSyntaxError > {
200
200
self . indent = s. map ( |s| validate_string ( s, None ) ) . transpose ( ) ?;
201
201
Ok ( self )
202
202
}
@@ -478,7 +478,7 @@ pub type JsonFrmtr<'a> = internal::JsonFormatterBase<internal::JsonFmt<'a>>;
478
478
/// Error returned when an invalid string is passed to certain [`JsonFormat`]
479
479
/// methods.
480
480
#[ derive( Clone , Copy , Debug , Eq , Hash , PartialEq ) ]
481
- pub enum Error {
481
+ pub enum JsonSyntaxError {
482
482
/// Returned when the given string contains an invalid/unexpected
483
483
/// character. Contains the character in question.
484
484
InvalidCharacter ( char ) ,
@@ -494,9 +494,9 @@ pub enum Error {
494
494
MultipleSeparators ( char ) ,
495
495
}
496
496
497
- impl fmt:: Display for Error {
497
+ impl fmt:: Display for JsonSyntaxError {
498
498
fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
499
- use Error :: * ;
499
+ use JsonSyntaxError :: * ;
500
500
match self {
501
501
InvalidCharacter ( c) => write ! ( f, "string contains unexpected character {c:?}" ) ,
502
502
MissingSeparator ( c) => write ! ( f, "no occurrence of {c:?} found in string" ) ,
@@ -505,26 +505,29 @@ impl fmt::Display for Error {
505
505
}
506
506
}
507
507
508
- impl std:: error:: Error for Error { }
508
+ impl std:: error:: Error for JsonSyntaxError { }
509
509
510
- fn validate_string < S : AsRef < str > > ( s : S , sep : Option < char > ) -> Result < CompactString , Error > {
510
+ fn validate_string < S : AsRef < str > > (
511
+ s : S ,
512
+ sep : Option < char > ,
513
+ ) -> Result < CompactString , JsonSyntaxError > {
511
514
let s = s. as_ref ( ) ;
512
515
let mut seen_sep = false ;
513
516
for ch in s. chars ( ) {
514
517
match ( sep, ch) {
515
518
( Some ( sep_) , ch) if sep_ == ch => {
516
519
if std:: mem:: replace ( & mut seen_sep, true ) {
517
- return Err ( Error :: MultipleSeparators ( sep_) ) ;
520
+ return Err ( JsonSyntaxError :: MultipleSeparators ( sep_) ) ;
518
521
}
519
522
}
520
523
// RFC 8259, section 2
521
524
( _, ' ' | '\t' | '\n' | '\r' ) => ( ) ,
522
- ( _, ch) => return Err ( Error :: InvalidCharacter ( ch) ) ,
525
+ ( _, ch) => return Err ( JsonSyntaxError :: InvalidCharacter ( ch) ) ,
523
526
}
524
527
}
525
528
if let Some ( sep_) = sep {
526
529
if !seen_sep {
527
- return Err ( Error :: MissingSeparator ( sep_) ) ;
530
+ return Err ( JsonSyntaxError :: MissingSeparator ( sep_) ) ;
528
531
}
529
532
}
530
533
Ok ( s. into ( ) )
@@ -543,52 +546,55 @@ mod tests {
543
546
#[ case( "? " , Ok ( "? " . into( ) ) ) ]
544
547
#[ case( " ? " , Ok ( " ? " . into( ) ) ) ]
545
548
#[ case( " \t ?\r \n " , Ok ( " \t ?\r \n " . into( ) ) ) ]
546
- #[ case( "" , Err ( Error :: MissingSeparator ( '?' ) ) ) ]
547
- #[ case( " " , Err ( Error :: MissingSeparator ( '?' ) ) ) ]
548
- #[ case( "??" , Err ( Error :: MultipleSeparators ( '?' ) ) ) ]
549
- #[ case( "? ?" , Err ( Error :: MultipleSeparators ( '?' ) ) ) ]
550
- #[ case( "\x0C " , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
551
- #[ case( "\x0B " , Err ( Error :: InvalidCharacter ( '\x0B' ) ) ) ]
552
- #[ case( "\u{A0} " , Err ( Error :: InvalidCharacter ( '\u{A0}' ) ) ) ]
553
- #[ case( "\u{85} " , Err ( Error :: InvalidCharacter ( '\u{85}' ) ) ) ]
554
- #[ case( "\u{1680} " , Err ( Error :: InvalidCharacter ( '\u{1680}' ) ) ) ]
555
- #[ case( "\u{180E} " , Err ( Error :: InvalidCharacter ( '\u{180E}' ) ) ) ]
556
- #[ case( "\u{2000} " , Err ( Error :: InvalidCharacter ( '\u{2000}' ) ) ) ]
557
- #[ case( "\u{2001} " , Err ( Error :: InvalidCharacter ( '\u{2001}' ) ) ) ]
558
- #[ case( "\u{2002} " , Err ( Error :: InvalidCharacter ( '\u{2002}' ) ) ) ]
559
- #[ case( "\u{2003} " , Err ( Error :: InvalidCharacter ( '\u{2003}' ) ) ) ]
560
- #[ case( "\u{2004} " , Err ( Error :: InvalidCharacter ( '\u{2004}' ) ) ) ]
561
- #[ case( "\u{2005} " , Err ( Error :: InvalidCharacter ( '\u{2005}' ) ) ) ]
562
- #[ case( "\u{2006} " , Err ( Error :: InvalidCharacter ( '\u{2006}' ) ) ) ]
563
- #[ case( "\u{2007} " , Err ( Error :: InvalidCharacter ( '\u{2007}' ) ) ) ]
564
- #[ case( "\u{2008} " , Err ( Error :: InvalidCharacter ( '\u{2008}' ) ) ) ]
565
- #[ case( "\u{2009} " , Err ( Error :: InvalidCharacter ( '\u{2009}' ) ) ) ]
566
- #[ case( "\u{200A} " , Err ( Error :: InvalidCharacter ( '\u{200A}' ) ) ) ]
567
- #[ case( "\u{200B} " , Err ( Error :: InvalidCharacter ( '\u{200B}' ) ) ) ]
568
- #[ case( "\u{200C} " , Err ( Error :: InvalidCharacter ( '\u{200C}' ) ) ) ]
569
- #[ case( "\u{200D} " , Err ( Error :: InvalidCharacter ( '\u{200D}' ) ) ) ]
570
- #[ case( "\u{2028} " , Err ( Error :: InvalidCharacter ( '\u{2028}' ) ) ) ]
571
- #[ case( "\u{2029} " , Err ( Error :: InvalidCharacter ( '\u{2029}' ) ) ) ]
572
- #[ case( "\u{202F} " , Err ( Error :: InvalidCharacter ( '\u{202F}' ) ) ) ]
573
- #[ case( "\u{205F} " , Err ( Error :: InvalidCharacter ( '\u{205F}' ) ) ) ]
574
- #[ case( "\u{2060} " , Err ( Error :: InvalidCharacter ( '\u{2060}' ) ) ) ]
575
- #[ case( "\u{3000} " , Err ( Error :: InvalidCharacter ( '\u{3000}' ) ) ) ]
576
- #[ case( "\u{FEFF} " , Err ( Error :: InvalidCharacter ( '\u{FEFF}' ) ) ) ]
577
- #[ case( "\x0C ?" , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
578
- #[ case( "?\x0C " , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
579
- #[ case( "?\x0C ?" , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
580
- #[ case( "??\x0C " , Err ( Error :: MultipleSeparators ( '?' ) ) ) ]
581
- #[ case( "." , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
582
- #[ case( ".?" , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
583
- #[ case( "?." , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
584
- #[ case( "?.?" , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
585
- #[ case( "??." , Err ( Error :: MultipleSeparators ( '?' ) ) ) ]
586
- #[ case( "☃" , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
587
- #[ case( "☃?" , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
588
- #[ case( "?☃" , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
589
- #[ case( "?☃?" , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
590
- #[ case( "??☃" , Err ( Error :: MultipleSeparators ( '?' ) ) ) ]
591
- fn test_validate_string_sep ( #[ case] s : & str , #[ case] r : Result < CompactString , Error > ) {
549
+ #[ case( "" , Err ( JsonSyntaxError :: MissingSeparator ( '?' ) ) ) ]
550
+ #[ case( " " , Err ( JsonSyntaxError :: MissingSeparator ( '?' ) ) ) ]
551
+ #[ case( "??" , Err ( JsonSyntaxError :: MultipleSeparators ( '?' ) ) ) ]
552
+ #[ case( "? ?" , Err ( JsonSyntaxError :: MultipleSeparators ( '?' ) ) ) ]
553
+ #[ case( "\x0C " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
554
+ #[ case( "\x0B " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0B' ) ) ) ]
555
+ #[ case( "\u{A0} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{A0}' ) ) ) ]
556
+ #[ case( "\u{85} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{85}' ) ) ) ]
557
+ #[ case( "\u{1680} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{1680}' ) ) ) ]
558
+ #[ case( "\u{180E} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{180E}' ) ) ) ]
559
+ #[ case( "\u{2000} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2000}' ) ) ) ]
560
+ #[ case( "\u{2001} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2001}' ) ) ) ]
561
+ #[ case( "\u{2002} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2002}' ) ) ) ]
562
+ #[ case( "\u{2003} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2003}' ) ) ) ]
563
+ #[ case( "\u{2004} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2004}' ) ) ) ]
564
+ #[ case( "\u{2005} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2005}' ) ) ) ]
565
+ #[ case( "\u{2006} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2006}' ) ) ) ]
566
+ #[ case( "\u{2007} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2007}' ) ) ) ]
567
+ #[ case( "\u{2008} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2008}' ) ) ) ]
568
+ #[ case( "\u{2009} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2009}' ) ) ) ]
569
+ #[ case( "\u{200A} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200A}' ) ) ) ]
570
+ #[ case( "\u{200B} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200B}' ) ) ) ]
571
+ #[ case( "\u{200C} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200C}' ) ) ) ]
572
+ #[ case( "\u{200D} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200D}' ) ) ) ]
573
+ #[ case( "\u{2028} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2028}' ) ) ) ]
574
+ #[ case( "\u{2029} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2029}' ) ) ) ]
575
+ #[ case( "\u{202F} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{202F}' ) ) ) ]
576
+ #[ case( "\u{205F} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{205F}' ) ) ) ]
577
+ #[ case( "\u{2060} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2060}' ) ) ) ]
578
+ #[ case( "\u{3000} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{3000}' ) ) ) ]
579
+ #[ case( "\u{FEFF} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{FEFF}' ) ) ) ]
580
+ #[ case( "\x0C ?" , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
581
+ #[ case( "?\x0C " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
582
+ #[ case( "?\x0C ?" , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
583
+ #[ case( "??\x0C " , Err ( JsonSyntaxError :: MultipleSeparators ( '?' ) ) ) ]
584
+ #[ case( "." , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
585
+ #[ case( ".?" , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
586
+ #[ case( "?." , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
587
+ #[ case( "?.?" , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
588
+ #[ case( "??." , Err ( JsonSyntaxError :: MultipleSeparators ( '?' ) ) ) ]
589
+ #[ case( "☃" , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
590
+ #[ case( "☃?" , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
591
+ #[ case( "?☃" , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
592
+ #[ case( "?☃?" , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
593
+ #[ case( "??☃" , Err ( JsonSyntaxError :: MultipleSeparators ( '?' ) ) ) ]
594
+ fn test_validate_string_sep (
595
+ #[ case] s : & str ,
596
+ #[ case] r : Result < CompactString , JsonSyntaxError > ,
597
+ ) {
592
598
assert_eq ! ( validate_string( s, Some ( '?' ) ) , r) ;
593
599
}
594
600
@@ -597,50 +603,53 @@ mod tests {
597
603
#[ case( " " , Ok ( " " . into( ) ) ) ]
598
604
#[ case( " " , Ok ( " " . into( ) ) ) ]
599
605
#[ case( " \t \r \n " , Ok ( " \t \r \n " . into( ) ) ) ]
600
- #[ case( "?" , Err ( Error :: InvalidCharacter ( '?' ) ) ) ]
601
- #[ case( " ?" , Err ( Error :: InvalidCharacter ( '?' ) ) ) ]
602
- #[ case( "? " , Err ( Error :: InvalidCharacter ( '?' ) ) ) ]
603
- #[ case( " ? " , Err ( Error :: InvalidCharacter ( '?' ) ) ) ]
604
- #[ case( "??" , Err ( Error :: InvalidCharacter ( '?' ) ) ) ]
605
- #[ case( "\x0C " , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
606
- #[ case( "\x0B " , Err ( Error :: InvalidCharacter ( '\x0B' ) ) ) ]
607
- #[ case( "\u{A0} " , Err ( Error :: InvalidCharacter ( '\u{A0}' ) ) ) ]
608
- #[ case( "\u{85} " , Err ( Error :: InvalidCharacter ( '\u{85}' ) ) ) ]
609
- #[ case( "\u{1680} " , Err ( Error :: InvalidCharacter ( '\u{1680}' ) ) ) ]
610
- #[ case( "\u{180E} " , Err ( Error :: InvalidCharacter ( '\u{180E}' ) ) ) ]
611
- #[ case( "\u{2000} " , Err ( Error :: InvalidCharacter ( '\u{2000}' ) ) ) ]
612
- #[ case( "\u{2001} " , Err ( Error :: InvalidCharacter ( '\u{2001}' ) ) ) ]
613
- #[ case( "\u{2002} " , Err ( Error :: InvalidCharacter ( '\u{2002}' ) ) ) ]
614
- #[ case( "\u{2003} " , Err ( Error :: InvalidCharacter ( '\u{2003}' ) ) ) ]
615
- #[ case( "\u{2004} " , Err ( Error :: InvalidCharacter ( '\u{2004}' ) ) ) ]
616
- #[ case( "\u{2005} " , Err ( Error :: InvalidCharacter ( '\u{2005}' ) ) ) ]
617
- #[ case( "\u{2006} " , Err ( Error :: InvalidCharacter ( '\u{2006}' ) ) ) ]
618
- #[ case( "\u{2007} " , Err ( Error :: InvalidCharacter ( '\u{2007}' ) ) ) ]
619
- #[ case( "\u{2008} " , Err ( Error :: InvalidCharacter ( '\u{2008}' ) ) ) ]
620
- #[ case( "\u{2009} " , Err ( Error :: InvalidCharacter ( '\u{2009}' ) ) ) ]
621
- #[ case( "\u{200A} " , Err ( Error :: InvalidCharacter ( '\u{200A}' ) ) ) ]
622
- #[ case( "\u{200B} " , Err ( Error :: InvalidCharacter ( '\u{200B}' ) ) ) ]
623
- #[ case( "\u{200C} " , Err ( Error :: InvalidCharacter ( '\u{200C}' ) ) ) ]
624
- #[ case( "\u{200D} " , Err ( Error :: InvalidCharacter ( '\u{200D}' ) ) ) ]
625
- #[ case( "\u{2028} " , Err ( Error :: InvalidCharacter ( '\u{2028}' ) ) ) ]
626
- #[ case( "\u{2029} " , Err ( Error :: InvalidCharacter ( '\u{2029}' ) ) ) ]
627
- #[ case( "\u{202F} " , Err ( Error :: InvalidCharacter ( '\u{202F}' ) ) ) ]
628
- #[ case( "\u{205F} " , Err ( Error :: InvalidCharacter ( '\u{205F}' ) ) ) ]
629
- #[ case( "\u{2060} " , Err ( Error :: InvalidCharacter ( '\u{2060}' ) ) ) ]
630
- #[ case( "\u{3000} " , Err ( Error :: InvalidCharacter ( '\u{3000}' ) ) ) ]
631
- #[ case( "\u{FEFF} " , Err ( Error :: InvalidCharacter ( '\u{FEFF}' ) ) ) ]
632
- #[ case( "\x0C " , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
633
- #[ case( " \x0C " , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
634
- #[ case( " \x0C " , Err ( Error :: InvalidCharacter ( '\x0C' ) ) ) ]
635
- #[ case( "." , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
636
- #[ case( ". " , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
637
- #[ case( " ." , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
638
- #[ case( " . " , Err ( Error :: InvalidCharacter ( '.' ) ) ) ]
639
- #[ case( "☃" , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
640
- #[ case( "☃ " , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
641
- #[ case( " ☃" , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
642
- #[ case( " ☃ " , Err ( Error :: InvalidCharacter ( '☃' ) ) ) ]
643
- fn test_validate_string_no_sep ( #[ case] s : & str , #[ case] r : Result < CompactString , Error > ) {
606
+ #[ case( "?" , Err ( JsonSyntaxError :: InvalidCharacter ( '?' ) ) ) ]
607
+ #[ case( " ?" , Err ( JsonSyntaxError :: InvalidCharacter ( '?' ) ) ) ]
608
+ #[ case( "? " , Err ( JsonSyntaxError :: InvalidCharacter ( '?' ) ) ) ]
609
+ #[ case( " ? " , Err ( JsonSyntaxError :: InvalidCharacter ( '?' ) ) ) ]
610
+ #[ case( "??" , Err ( JsonSyntaxError :: InvalidCharacter ( '?' ) ) ) ]
611
+ #[ case( "\x0C " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
612
+ #[ case( "\x0B " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0B' ) ) ) ]
613
+ #[ case( "\u{A0} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{A0}' ) ) ) ]
614
+ #[ case( "\u{85} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{85}' ) ) ) ]
615
+ #[ case( "\u{1680} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{1680}' ) ) ) ]
616
+ #[ case( "\u{180E} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{180E}' ) ) ) ]
617
+ #[ case( "\u{2000} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2000}' ) ) ) ]
618
+ #[ case( "\u{2001} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2001}' ) ) ) ]
619
+ #[ case( "\u{2002} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2002}' ) ) ) ]
620
+ #[ case( "\u{2003} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2003}' ) ) ) ]
621
+ #[ case( "\u{2004} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2004}' ) ) ) ]
622
+ #[ case( "\u{2005} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2005}' ) ) ) ]
623
+ #[ case( "\u{2006} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2006}' ) ) ) ]
624
+ #[ case( "\u{2007} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2007}' ) ) ) ]
625
+ #[ case( "\u{2008} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2008}' ) ) ) ]
626
+ #[ case( "\u{2009} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2009}' ) ) ) ]
627
+ #[ case( "\u{200A} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200A}' ) ) ) ]
628
+ #[ case( "\u{200B} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200B}' ) ) ) ]
629
+ #[ case( "\u{200C} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200C}' ) ) ) ]
630
+ #[ case( "\u{200D} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{200D}' ) ) ) ]
631
+ #[ case( "\u{2028} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2028}' ) ) ) ]
632
+ #[ case( "\u{2029} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2029}' ) ) ) ]
633
+ #[ case( "\u{202F} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{202F}' ) ) ) ]
634
+ #[ case( "\u{205F} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{205F}' ) ) ) ]
635
+ #[ case( "\u{2060} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{2060}' ) ) ) ]
636
+ #[ case( "\u{3000} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{3000}' ) ) ) ]
637
+ #[ case( "\u{FEFF} " , Err ( JsonSyntaxError :: InvalidCharacter ( '\u{FEFF}' ) ) ) ]
638
+ #[ case( "\x0C " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
639
+ #[ case( " \x0C " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
640
+ #[ case( " \x0C " , Err ( JsonSyntaxError :: InvalidCharacter ( '\x0C' ) ) ) ]
641
+ #[ case( "." , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
642
+ #[ case( ". " , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
643
+ #[ case( " ." , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
644
+ #[ case( " . " , Err ( JsonSyntaxError :: InvalidCharacter ( '.' ) ) ) ]
645
+ #[ case( "☃" , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
646
+ #[ case( "☃ " , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
647
+ #[ case( " ☃" , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
648
+ #[ case( " ☃ " , Err ( JsonSyntaxError :: InvalidCharacter ( '☃' ) ) ) ]
649
+ fn test_validate_string_no_sep (
650
+ #[ case] s : & str ,
651
+ #[ case] r : Result < CompactString , JsonSyntaxError > ,
652
+ ) {
644
653
assert_eq ! ( validate_string( s, None ) , r) ;
645
654
}
646
655
@@ -1166,19 +1175,19 @@ mod tests {
1166
1175
1167
1176
#[ test]
1168
1177
fn test_display_invalid_character ( ) {
1169
- let e = Error :: InvalidCharacter ( 'ö' ) ;
1178
+ let e = JsonSyntaxError :: InvalidCharacter ( 'ö' ) ;
1170
1179
assert_eq ! ( e. to_string( ) , "string contains unexpected character 'ö'" ) ;
1171
1180
}
1172
1181
1173
1182
#[ test]
1174
1183
fn test_display_missing_separator ( ) {
1175
- let e = Error :: MissingSeparator ( '?' ) ;
1184
+ let e = JsonSyntaxError :: MissingSeparator ( '?' ) ;
1176
1185
assert_eq ! ( e. to_string( ) , "no occurrence of '?' found in string" ) ;
1177
1186
}
1178
1187
1179
1188
#[ test]
1180
1189
fn test_display_multiple_separators ( ) {
1181
- let e = Error :: MultipleSeparators ( '?' ) ;
1190
+ let e = JsonSyntaxError :: MultipleSeparators ( '?' ) ;
1182
1191
assert_eq ! ( e. to_string( ) , "multiple occurrences of '?' found in string" ) ;
1183
1192
}
1184
1193
}
0 commit comments