public void EscapeTest_FSharp_UseShortEscape(char original, string escaped) { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, UseShortEscape = true }; Assert.Equal(escaped, CharUtils.Escape(original, options)); }
public void EscapeTest_CSharp_LowerCaseU4(char original, string escaped) { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.CSharp, EscapeLetter = CharEscapeLetter.LowerCaseU4 }; Assert.Equal(escaped, CharUtils.Escape(original, options)); }
public void EscapeTest_FSharp_None3(char original, string escaped) { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, EscapeLetter = CharEscapeLetter.None3 }; Assert.Equal(escaped, CharUtils.Escape(original, options)); }
public void EscapeTest_FSharp_UseLowerCaseHex(char original, string escaped) { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, EscapeLetter = CharEscapeLetter.LowerCaseU4, UseLowerCaseHex = true }; Assert.Equal(escaped, CharUtils.Escape(original, options)); }
public void EscapeTest_PowerShell() { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.PowerShell }; char original = 'A'; Assert.Throws <ArgumentException>(() => CharUtils.Escape(original, options)); }
public void EscapeTest_FSharp_AddQuotes() { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp }; char original = 'A'; Assert.Equal("\'\\u0041\'", CharUtils.Escape(original, options, true)); }
public void EscapeTest_PowerShell_AddQuotes() { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.PowerShell }; string original = "ABC"; string escaped = StringUtils.Escape(original, charEscapeOptions: options, addQuotes: true); Assert.Equal("\"`u{0041}`u{0042}`u{0043}\"", escaped); }
public void EscapeTest_FSharp_AddQuotes() { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp }; string original = "ABC"; string escaped = StringUtils.Escape(original, charEscapeOptions: options, addQuotes: true); Assert.Equal("\"\\u0041\\u0042\\u0043\"", escaped); }
public void EscapeTest_CSharp_LowerCaseU6() { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.CSharp, EscapeLetter = CharEscapeLetter.LowerCaseU6 }; char original = 'A'; Assert.Throws <ArgumentException>(() => CharUtils.Escape(original, options)); }
public void EscapeTest_FSharp_LowerCaseU4_EscapeNonAscii() { StringEscapeOptions sOptions = new StringEscapeOptions() { EscapeKind = StringEscapeKind.EscapeNonAscii }; CharEscapeOptions cOptions = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, EscapeLetter = CharEscapeLetter.LowerCaseU4 }; string original = "ABC ÄÖÜ ㄱㄴㄷ 😁😃😓 \r\n\t"; string escaped = StringUtils.Escape(original, stringEscapeOptions: sOptions, charEscapeOptions: cOptions); Assert.Equal("ABC \\u00C4\\u00D6\\u00DC \\u3131\\u3134\\u3137 \\uD83D\\uDE01\\uD83D\\uDE03\\uD83D\\uDE13 \\u000D\\u000A\\u0009", escaped); }
public void EscapeTest_PowerShell_LowerCaseU4_EscapeAll() { StringEscapeOptions sOptions = new StringEscapeOptions() { EscapeKind = StringEscapeKind.EscapeAll }; CharEscapeOptions cOptions = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.PowerShell, EscapeLetter = CharEscapeLetter.LowerCaseU4 }; string original = "ABC ÄÖÜ ㄱㄴㄷ 😁😃😓 \r\n\t"; string escaped = StringUtils.Escape(original, stringEscapeOptions: sOptions, charEscapeOptions: cOptions); Assert.Equal("`u{0041}`u{0042}`u{0043}`u{0020}`u{00C4}`u{00D6}`u{00DC}`u{0020}`u{3131}`u{3134}`u{3137}`u{0020}`u{D83D}`u{DE01}`u{D83D}`u{DE03}`u{D83D}`u{DE13}`u{0020}`u{000D}`u{000A}`u{0009}", escaped); }
public void EscapeTest_CSharp_EscapeNonAscii_LowerCaseX2() { StringEscapeOptions sOptions = new StringEscapeOptions() { EscapeKind = StringEscapeKind.EscapeNonAscii }; CharEscapeOptions cOptions = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.CSharp, EscapeLetter = CharEscapeLetter.LowerCaseX2 // or LowerCaseX1/LowerCaseX3 }; string original = "ÄA"; string escaped = StringUtils.Escape(original, stringEscapeOptions: sOptions, charEscapeOptions: cOptions); Assert.NotEqual("\\xC4A", escaped); // '\xC4' + 'A' is not the same as '\xC4A' Assert.Equal("\\x00C4A", escaped); // so we have to use the full '\x00C4' + 'A' sequence here }
public void EscapeTest_FSharp_EscapeNonAscii_LowerCaseX2() { StringEscapeOptions sOptions = new StringEscapeOptions() { EscapeKind = StringEscapeKind.EscapeNonAscii }; CharEscapeOptions cOptions = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, EscapeLetter = CharEscapeLetter.LowerCaseX2, // or LowerCaseX1/LowerCaseX3 EscapeLetterFallback = CharEscapeLetter.LowerCaseU4 }; string original = "ㄱg"; string escaped = StringUtils.Escape(original, stringEscapeOptions: sOptions, charEscapeOptions: cOptions); Assert.NotEqual("\\x3131g", escaped); // the escape here is 4 chars (3131) so it can't be used with \xHH Assert.Equal("\\u3131g", escaped); // instead we automatically switch to \uHHHH }
public void EscapeTest_FSharp_LowerCaseU4_EscapeAll_EscapeSurrogatePairs() { StringEscapeOptions sOptions = new StringEscapeOptions() { EscapeKind = StringEscapeKind.EscapeAll, EscapeSurrogatePairs = true }; CharEscapeOptions cOptions = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, EscapeLetter = CharEscapeLetter.LowerCaseU4, SurrogatePairEscapeLetter = CharEscapeLetter.UpperCaseU8 }; string original = "ABC ÄÖÜ ㄱㄴㄷ 😁😃😓 \r\n\t"; string escaped = StringUtils.Escape(original, stringEscapeOptions: sOptions, charEscapeOptions: cOptions); Assert.Equal("\\u0041\\u0042\\u0043\\u0020\\u00C4\\u00D6\\u00DC\\u0020\\u3131\\u3134\\u3137\\u0020\\U0001F601\\U0001F603\\U0001F613\\u0020\\u000D\\u000A\\u0009", escaped); }
public void EscapeTest_FSharp_None3_Fallback() { CharEscapeOptions options = new CharEscapeOptions() { EscapeLanguage = CharEscapeLanguage.FSharp, EscapeLetter = CharEscapeLetter.None3 }; char original = 'ㄱ'; options.EscapeLetterFallback = CharEscapeLetter.LowerCaseU4; Assert.Equal("\\u3131", CharUtils.Escape(original, options)); options.EscapeLetterFallback = CharEscapeLetter.UpperCaseU8; Assert.Equal("\\U00003131", CharUtils.Escape(original, options)); options.EscapeLetterFallback = CharEscapeLetter.None3; // bad Assert.Throws <ArgumentException>(() => CharUtils.Escape(original, options)); }