mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 12:17:11 +01:00 
			
		
		
		
	XmlWriter reverts to XML 1.0.
Character encodings that are not valid in XML 1.0 are instead written using C-style escapes
This commit is contained in:
		| @@ -830,5 +830,5 @@ with expansion: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases: 157 | 113 passed | 42 failed |  2 failed as expected | ||||
| assertions: 913 | 817 passed | 78 failed | 18 failed as expected | ||||
| assertions: 915 | 819 passed | 78 failed | 18 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -7982,27 +7982,53 @@ with expansion: | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| XmlEncode | ||||
|   string with control char (1) | ||||
|   string with control char (1) (XML 1.0) | ||||
| ------------------------------------------------------------------------------- | ||||
| MiscTests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| MiscTests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE( encode( "[\x01]" ) == "[]" ) | ||||
|   REQUIRE( encode( "[\x01]" ) == "[\\x01]" ) | ||||
| with expansion: | ||||
|   "[\x01]" == "[\x01]" | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| XmlEncode | ||||
|   string with control char (1) (XMl 1.1) | ||||
| ------------------------------------------------------------------------------- | ||||
| MiscTests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| MiscTests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE( encode( "[\x01]", Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::_1_1 ) == "[]" ) | ||||
| with expansion: | ||||
|   "[]" == "[]" | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| XmlEncode | ||||
|   string with control char (x7F) | ||||
|   string with control char (x7F) (XML 1.0) | ||||
| ------------------------------------------------------------------------------- | ||||
| MiscTests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| MiscTests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE( encode( "[\x7F]" ) == "[]" ) | ||||
|   REQUIRE( encode( "[\x7F]" ) == "[\\x7F]" ) | ||||
| with expansion: | ||||
|   "[\x7F]" == "[\x7F]" | ||||
|  | ||||
| ------------------------------------------------------------------------------- | ||||
| XmlEncode | ||||
|   string with control char (x7F) (XML 1.1) | ||||
| ------------------------------------------------------------------------------- | ||||
| MiscTests.cpp:<line number> | ||||
| ............................................................................... | ||||
|  | ||||
| MiscTests.cpp:<line number>: | ||||
| PASSED: | ||||
|   REQUIRE( encode( "[\x7F]", Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::_1_1 ) == "[]" ) | ||||
| with expansion: | ||||
|   "[]" == "[]" | ||||
|  | ||||
| @@ -9026,5 +9052,5 @@ PASSED: | ||||
|  | ||||
| =============================================================================== | ||||
| test cases: 157 | 112 passed | 43 failed |  2 failed as expected | ||||
| assertions: 915 | 817 passed | 80 failed | 18 failed as expected | ||||
| assertions: 917 | 819 passed | 80 failed | 18 failed as expected | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| <?xml version="1.1" encoding="UTF-8"?> | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <testsuites> | ||||
|   <testsuite name="<exe-name>" errors="13" failures="68" tests="916" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|   <testsuite name="<exe-name>" errors="13" failures="68" tests="918" hostname="tbd" time="{duration}" timestamp="{iso8601-timestamp}"> | ||||
|     <testcase classname="global" name="# A test name that starts with a #" time="{duration}"/> | ||||
|     <testcase classname="global" name="'Not' checks that should fail" time="{duration}"> | ||||
|       <failure message="false != false" type="CHECK"> | ||||
| @@ -538,8 +538,10 @@ ExceptionTests.cpp:<line number> | ||||
|     <testcase classname="XmlEncode" name="string with less-than" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with greater-than" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with quotes" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with control char (1)" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with control char (x7F)" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with control char (1) (XML 1.0)" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with control char (1) (XMl 1.1)" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with control char (x7F) (XML 1.0)" time="{duration}"/> | ||||
|     <testcase classname="XmlEncode" name="string with control char (x7F) (XML 1.1)" time="{duration}"/> | ||||
|     <testcase classname="global" name="atomic if" time="{duration}"/> | ||||
|     <testcase classname="global" name="boolean member" time="{duration}"/> | ||||
|     <testcase classname="global" name="checkedElse" time="{duration}"/> | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| <?xml version="1.1" encoding="UTF-8"?> | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <Catch name="<exe-name>"> | ||||
|   <Group name="<exe-name>"> | ||||
|     <TestCase name="# A test name that starts with a #"> | ||||
| @@ -8445,10 +8445,21 @@ there" | ||||
|         </Expression> | ||||
|         <OverallResults successes="2" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="string with control char (1)"> | ||||
|       <Section name="string with control char (1) (XML 1.0)"> | ||||
|         <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" > | ||||
|           <Original> | ||||
|             encode( "[\x01]" ) == "[&#x01;]" | ||||
|             encode( "[\x01]" ) == "[\\x01]" | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             "[\x01]" == "[\x01]" | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <OverallResults successes="1" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="string with control char (1) (XMl 1.1)"> | ||||
|         <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" > | ||||
|           <Original> | ||||
|             encode( "[\x01]", Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::_1_1 ) == "[&#x01;]" | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             "[&#x01;]" == "[&#x01;]" | ||||
| @@ -8456,10 +8467,21 @@ there" | ||||
|         </Expression> | ||||
|         <OverallResults successes="1" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="string with control char (x7F)"> | ||||
|       <Section name="string with control char (x7F) (XML 1.0)"> | ||||
|         <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" > | ||||
|           <Original> | ||||
|             encode( "[\x7F]" ) == "[&#x7F;]" | ||||
|             encode( "[\x7F]" ) == "[\\x7F]" | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             "[\x7F]" == "[\x7F]" | ||||
|           </Expanded> | ||||
|         </Expression> | ||||
|         <OverallResults successes="1" failures="0" expectedFailures="0"/> | ||||
|       </Section> | ||||
|       <Section name="string with control char (x7F) (XML 1.1)"> | ||||
|         <Expression success="true" type="REQUIRE" filename="projects/<exe-name>/MiscTests.cpp" > | ||||
|           <Original> | ||||
|             encode( "[\x7F]", Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::_1_1 ) == "[&#x7F;]" | ||||
|           </Original> | ||||
|           <Expanded> | ||||
|             "[&#x7F;]" == "[&#x7F;]" | ||||
| @@ -9503,7 +9525,7 @@ there" | ||||
|       </Section> | ||||
|       <OverallResult success="true"/> | ||||
|     </TestCase> | ||||
|     <OverallResults successes="817" failures="81" expectedFailures="18"/> | ||||
|     <OverallResults successes="819" failures="81" expectedFailures="18"/> | ||||
|   </Group> | ||||
|   <OverallResults successes="817" failures="80" expectedFailures="18"/> | ||||
|   <OverallResults successes="819" failures="80" expectedFailures="18"/> | ||||
| </Catch> | ||||
|   | ||||
| @@ -429,9 +429,9 @@ TEST_CASE( "toString on wchar_t returns the string contents", "[toString]" ) { | ||||
|         CHECK( result == "\"wide load\"" ); | ||||
| } | ||||
|  | ||||
| inline std::string encode( std::string const& str, Catch::XmlEncode::ForWhat forWhat = Catch::XmlEncode::ForTextNodes ) { | ||||
| inline std::string encode( std::string const& str, Catch::XmlEncode::ForWhat forWhat = Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::XmlVersion version = Catch::XmlEncode::_1_0 ) { | ||||
|     std::ostringstream oss; | ||||
|     oss << Catch::XmlEncode( str, forWhat ); | ||||
|     oss << Catch::XmlEncode( version, str, forWhat ); | ||||
|     return oss.str(); | ||||
| } | ||||
|  | ||||
| @@ -457,11 +457,17 @@ TEST_CASE( "XmlEncode" ) { | ||||
|         REQUIRE( encode( stringWithQuotes ) == stringWithQuotes ); | ||||
|         REQUIRE( encode( stringWithQuotes, Catch::XmlEncode::ForAttributes ) == "don't "quote" me on that" ); | ||||
|     } | ||||
|     SECTION( "string with control char (1)" ) { | ||||
|         REQUIRE( encode( "[\x01]" ) == "[]" ); | ||||
|     SECTION( "string with control char (1) (XML 1.0)" ) { | ||||
|         REQUIRE( encode( "[\x01]" ) == "[\\x01]" ); | ||||
|     } | ||||
|     SECTION( "string with control char (x7F)" ) { | ||||
|         REQUIRE( encode( "[\x7F]" ) == "[]" ); | ||||
|     SECTION( "string with control char (1) (XMl 1.1)" ) { | ||||
|         REQUIRE( encode( "[\x01]", Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::_1_1 ) == "[]" ); | ||||
|     } | ||||
|     SECTION( "string with control char (x7F) (XML 1.0)" ) { | ||||
|         REQUIRE( encode( "[\x7F]" ) == "[\\x7F]" ); | ||||
|     } | ||||
|     SECTION( "string with control char (x7F) (XML 1.1)" ) { | ||||
|         REQUIRE( encode( "[\x7F]", Catch::XmlEncode::ForTextNodes, Catch::XmlEncode::_1_1 ) == "[]" ); | ||||
|     } | ||||
| } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash