12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- using System.Text;
- using System.Text.Json;
- namespace Terminal.Gui.ConfigurationTests;
- public class RunJsonConverterTests
- {
- [Theory]
- [InlineData ("aa")]
- [InlineData ("☑☑")]
- [InlineData ("\\x2611")]
- [InlineData ("Z+2611")]
- [InlineData ("🍎🍎")]
- [InlineData ("U+FFF1F34E")]
- [InlineData ("\\UFFF1F34E")]
- [InlineData ("\\ud83d")] // not printable "high surrogate"
- [InlineData ("\\udc3d")] // not printable "low surrogate"
- [InlineData ("\\ud83d \\u1c69")] // bad surrogate pair
- [InlineData ("\\ud83ddc69")]
- // Emoji - Family Unit:
- // Woman (U+1F469, 👩)
- // Zero Width Joiner (U+200D)
- // Woman (U+1F469, 👩)
- // Zero Width Joiner (U+200D)
- // Girl (U+1F467, 👧)
- // Zero Width Joiner (U+200D)
- // Girl (U+1F467, 👧)
- [InlineData ("U+1F469 U+200D U+1F469 U+200D U+1F467 U+200D U+1F467")]
- [InlineData ("\\U0001F469\\u200D\\U0001F469\\u200D\\U0001F467\\u200D\\U0001F467")]
- public void RoundTripConversion_Negative (string rune)
- {
- // Act
- string json = JsonSerializer.Serialize (rune, ConfigurationManager._serializerOptions);
- // Assert
- Assert.Throws<JsonException> (
- () => JsonSerializer.Deserialize<Rune> (
- json,
- ConfigurationManager._serializerOptions
- )
- );
- }
- [Theory]
- [InlineData ("a", "a")]
- [InlineData ("☑", "☑")]
- [InlineData ("\\u2611", "☑")]
- [InlineData ("U+2611", "☑")]
- [InlineData ("🍎", "🍎")]
- [InlineData ("U+1F34E", "🍎")]
- [InlineData ("\\U0001F34E", "🍎")]
- [InlineData ("\\ud83d \\udc69", "👩")]
- [InlineData ("\\ud83d\\udc69", "👩")]
- [InlineData ("U+d83d U+dc69", "👩")]
- [InlineData ("U+1F469", "👩")]
- [InlineData ("\\U0001F469", "👩")]
- [InlineData ("\\u0065\\u0301", "é")]
- public void RoundTripConversion_Positive (string rune, string expected)
- {
- // Arrange
- // Act
- string json = JsonSerializer.Serialize (rune, ConfigurationManager._serializerOptions);
- var deserialized = JsonSerializer.Deserialize<Rune> (json, ConfigurationManager._serializerOptions);
- // Assert
- Assert.Equal (expected, deserialized.ToString ());
- }
- }
|