UntranslatedTextTests.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Xunit;
  7. using XUnity.AutoTranslator.Plugin.Core.Extensions;
  8. namespace XUnity.AutoTranslator.Plugin.Core.Tests
  9. {
  10. public class UntranslatedTextTests
  11. {
  12. [Theory( DisplayName = "Can_Trim_Surrounding_Whitespace" )]
  13. [InlineData( "\r\n \r\nHello", "Hello", "\r\n \r\n", null )]
  14. [InlineData( "\r\n \r\nHello\n", "Hello", "\r\n \r\n", "\n" )]
  15. [InlineData( "\r\r\r\r\n \n Hello \r\n", "Hello", "\r\r\r\r\n \n ", " \r\n" )]
  16. public void Can_Trim_Surrounding_Whitespace( string input, string expectedTrimmedText, string expectedLeadingWhitespace, string expectedTrailingWhitespace )
  17. {
  18. var untranslatedText = new UntranslatedText( input, false, false );
  19. Assert.Equal( input, untranslatedText.TranslatableText );
  20. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedTranslatableText );
  21. Assert.Equal( expectedLeadingWhitespace, untranslatedText.LeadingWhitespace );
  22. Assert.Equal( expectedTrailingWhitespace, untranslatedText.TrailingWhitespace );
  23. }
  24. [Theory( DisplayName = "Can_Trim_Internal_Whitespace" )]
  25. [InlineData( "Hel lo", "Hel lo" )]
  26. [InlineData( "Hel\r\n lo", "Hello" )]
  27. [InlineData( "Hel\n\nlo", "Hel\n\nlo" )]
  28. public void Can_Trim_Internal_Whitespace( string input, string expectedTrimmedText )
  29. {
  30. var untranslatedText = new UntranslatedText( input, false, true );
  31. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedTranslatableText );
  32. }
  33. [Theory( DisplayName = "Can_Trim_Internal_And_Surrounding_Whitespace" )]
  34. [InlineData( "\r\n \r\nHe llo", "He llo", "\r\n \r\n", null )]
  35. [InlineData( "\r\n \r\nHe llo", "He llo", "\r\n \r\n", null )]
  36. [InlineData( "\r\n \r\nHel\r\nlo\n", "Hello", "\r\n \r\n", "\n" )]
  37. [InlineData( "\r\n \r\nHel\n\nlo\n", "Hel\n\nlo", "\r\n \r\n", "\n" )]
  38. [InlineData( "\r\n \r\nHel\n\n lo\n", "Hel\n\nlo", "\r\n \r\n", "\n" )]
  39. [InlineData( "\r\n \r\nHel\n\n lo\n", "Hel\n\n lo", "\r\n \r\n", "\n" )]
  40. [InlineData( "\r\n \r\nHel \n\n lo\n", "Hel \n\n lo", "\r\n \r\n", "\n" )]
  41. [InlineData( "\r\n \r\nHel \n lo\n", "Hel lo", "\r\n \r\n", "\n" )]
  42. [InlineData( "\r\n \r\nHel \n lo\n", "Hello", "\r\n \r\n", "\n" )]
  43. [InlineData( "\r\r\r\r\n \n Hell\no \r\n", "Hello", "\r\r\r\r\n \n ", " \r\n" )]
  44. public void Can_Trim_Internal_And_Surrounding_Whitespace( string input, string expectedTrimmedText, string expectedLeadingWhitespace, string expectedTrailingWhitespace )
  45. {
  46. var untranslatedText = new UntranslatedText( input, false, true );
  47. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedTranslatableText );
  48. Assert.Equal( expectedLeadingWhitespace, untranslatedText.LeadingWhitespace );
  49. Assert.Equal( expectedTrailingWhitespace, untranslatedText.TrailingWhitespace );
  50. }
  51. [Theory( DisplayName = "Can_Trim_Internal_And_Surrounding_Whitespace_And_Template" )]
  52. [InlineData( "\r\n \r\nFPS: 60.53", "FPS: {{A}}", "\r\n \r\n", null )]
  53. public void Can_Trim_Internal_And_Surrounding_Whitespace_And_Template( string input, string expectedTrimmedText, string expectedLeadingWhitespace, string expectedTrailingWhitespace )
  54. {
  55. var untranslatedText = new UntranslatedText( input, true, true );
  56. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedTranslatableText );
  57. Assert.Equal( expectedLeadingWhitespace, untranslatedText.LeadingWhitespace );
  58. Assert.Equal( expectedTrailingWhitespace, untranslatedText.TrailingWhitespace );
  59. }
  60. }
  61. }