mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 12:52:44 +00:00 
			
		
		
		
	LibTextCodec+Everywhere: Port Decoders to new Strings
This commit is contained in:
		
							parent
							
								
									3c5090e172
								
							
						
					
					
						commit
						2db168acc1
					
				
					 21 changed files with 149 additions and 123 deletions
				
			
		|  | @ -4,6 +4,7 @@ | |||
|  * SPDX-License-Identifier: BSD-2-Clause | ||||
|  */ | ||||
| 
 | ||||
| #include <AK/String.h> | ||||
| #include <AK/Vector.h> | ||||
| #include <LibTest/TestCase.h> | ||||
| #include <LibTextCodec/Decoder.h> | ||||
|  | @ -15,13 +16,13 @@ TEST_CASE(test_utf8_decode) | |||
|     auto test_string = "\xf0\x9f\x98\x80"sv; | ||||
| 
 | ||||
|     Vector<u32> processed_code_points; | ||||
|     decoder.process(test_string, [&](u32 code_point) { | ||||
|         processed_code_points.append(code_point); | ||||
|     }); | ||||
|     MUST(decoder.process(test_string, [&](u32 code_point) { | ||||
|         return processed_code_points.try_append(code_point); | ||||
|     })); | ||||
|     EXPECT(processed_code_points.size() == 1); | ||||
|     EXPECT(processed_code_points[0] == 0x1F600); | ||||
| 
 | ||||
|     EXPECT(decoder.to_utf8(test_string) == test_string); | ||||
|     EXPECT(MUST(decoder.to_utf8(test_string)) == test_string); | ||||
| } | ||||
| 
 | ||||
| TEST_CASE(test_utf16be_decode) | ||||
|  | @ -31,9 +32,9 @@ TEST_CASE(test_utf16be_decode) | |||
|     auto test_string = "\x00s\x00\xe4\x00k\xd8=\xde\x00"sv; | ||||
| 
 | ||||
|     Vector<u32> processed_code_points; | ||||
|     decoder.process(test_string, [&](u32 code_point) { | ||||
|         processed_code_points.append(code_point); | ||||
|     }); | ||||
|     MUST(decoder.process(test_string, [&](u32 code_point) { | ||||
|         return processed_code_points.try_append(code_point); | ||||
|     })); | ||||
|     EXPECT(processed_code_points.size() == 4); | ||||
|     EXPECT(processed_code_points[0] == 0x73); | ||||
|     EXPECT(processed_code_points[1] == 0xE4); | ||||
|  | @ -48,9 +49,9 @@ TEST_CASE(test_utf16le_decode) | |||
|     auto test_string = "s\x00\xe4\x00k\x00=\xd8\x00\xde"sv; | ||||
| 
 | ||||
|     Vector<u32> processed_code_points; | ||||
|     decoder.process(test_string, [&](u32 code_point) { | ||||
|         processed_code_points.append(code_point); | ||||
|     }); | ||||
|     MUST(decoder.process(test_string, [&](u32 code_point) { | ||||
|         return processed_code_points.try_append(code_point); | ||||
|     })); | ||||
|     EXPECT(processed_code_points.size() == 4); | ||||
|     EXPECT(processed_code_points[0] == 0x73); | ||||
|     EXPECT(processed_code_points[1] == 0xE4); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Sam Atkins
						Sam Atkins