Merge pull request #2076 from rmisev/patch-1
Fix error message about invalid surrogate pairs
This commit is contained in:
		
						commit
						c9f404dc98
					
				
					 4 changed files with 12 additions and 12 deletions
				
			
		|  | @ -1245,17 +1245,17 @@ TEST_CASE("parser class") | |||
|         // missing part of a surrogate pair
 | ||||
|         CHECK_THROWS_AS(_ = json::parse("\"\\uD80C\""), json::parse_error&); | ||||
|         CHECK_THROWS_WITH(_ = json::parse("\"\\uD80C\""), | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 8: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\"'"); | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 8: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\"'"); | ||||
|         // invalid surrogate pair
 | ||||
|         CHECK_THROWS_AS(_ = json::parse("\"\\uD80C\\uD80C\""), json::parse_error&); | ||||
|         CHECK_THROWS_AS(_ = json::parse("\"\\uD80C\\u0000\""), json::parse_error&); | ||||
|         CHECK_THROWS_AS(_ = json::parse("\"\\uD80C\\uFFFF\""), json::parse_error&); | ||||
|         CHECK_THROWS_WITH(_ = json::parse("\"\\uD80C\\uD80C\""), | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\\uD80C'"); | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\\uD80C'"); | ||||
|         CHECK_THROWS_WITH(_ = json::parse("\"\\uD80C\\u0000\""), | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\\u0000'"); | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\\u0000'"); | ||||
|         CHECK_THROWS_WITH(_ = json::parse("\"\\uD80C\\uFFFF\""), | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\\uFFFF'"); | ||||
|                           "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD80C\\uFFFF'"); | ||||
|     } | ||||
| 
 | ||||
|     SECTION("parse errors (accept)") | ||||
|  |  | |||
|  | @ -1073,11 +1073,11 @@ TEST_CASE("Unicode" * doctest::skip()) | |||
| 
 | ||||
|                 CHECK_THROWS_AS(_ = json::parse("\"\\uD800]\""), json::parse_error&); | ||||
|                 CHECK_THROWS_WITH(_ = json::parse("\"\\uD800]\""), | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 8: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800]'"); | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 8: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800]'"); | ||||
| 
 | ||||
|                 CHECK_THROWS_AS(_ = json::parse("\"\\uD800\\v\""), json::parse_error&); | ||||
|                 CHECK_THROWS_WITH(_ = json::parse("\"\\uD800\\v\""), | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 9: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800\\v'"); | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 9: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800\\v'"); | ||||
| 
 | ||||
|                 CHECK_THROWS_AS(_ = json::parse("\"\\uD800\\u123\""), json::parse_error&); | ||||
|                 CHECK_THROWS_WITH(_ = json::parse("\"\\uD800\\u123\""), | ||||
|  | @ -1085,11 +1085,11 @@ TEST_CASE("Unicode" * doctest::skip()) | |||
| 
 | ||||
|                 CHECK_THROWS_AS(_ = json::parse("\"\\uD800\\uDBFF\""), json::parse_error&); | ||||
|                 CHECK_THROWS_WITH(_ = json::parse("\"\\uD800\\uDBFF\""), | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800\\uDBFF'"); | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800\\uDBFF'"); | ||||
| 
 | ||||
|                 CHECK_THROWS_AS(_ = json::parse("\"\\uD800\\uE000\""), json::parse_error&); | ||||
|                 CHECK_THROWS_WITH(_ = json::parse("\"\\uD800\\uE000\""), | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+DC00..U+DFFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800\\uE000'"); | ||||
|                                   "[json.exception.parse_error.101] parse error at line 1, column 13: syntax error while parsing value - invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF; last read: '\"\\uD800\\uE000'"); | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue