UntranslatedTextTests.cs 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  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.TrimmedText );
  21. Assert.Equal( expectedLeadingWhitespace, untranslatedText.LeadingWhitespace );
  22. Assert.Equal( expectedTrailingWhitespace, untranslatedText.TrailingWhitespace );
  23. }
  24. [Theory( DisplayName = "Can_Trim_Internal_Whitespace" )]
  25. [InlineData( "Hel lo", "Hello" )]
  26. [InlineData( "Hel\r\n lo", "Hello" )]
  27. public void Can_Trim_Internal_Whitespace( string input, string expectedTrimmedText )
  28. {
  29. var untranslatedText = new UntranslatedText( input, false, true );
  30. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedText );
  31. }
  32. [Theory( DisplayName = "Can_Trim_Internal_And_Surrounding_Whitespace" )]
  33. [InlineData( "\r\n \r\nHe llo", "Hello", "\r\n \r\n", null )]
  34. [InlineData( "\r\n \r\nHel\r\nlo\n", "Hello", "\r\n \r\n", "\n" )]
  35. [InlineData( "\r\r\r\r\n \n Hell\no \r\n", "Hello", "\r\r\r\r\n \n ", " \r\n" )]
  36. public void Can_Trim_Internal_And_Surrounding_Whitespace( string input, string expectedTrimmedText, string expectedLeadingWhitespace, string expectedTrailingWhitespace )
  37. {
  38. var untranslatedText = new UntranslatedText( input, false, true );
  39. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedText );
  40. Assert.Equal( expectedLeadingWhitespace, untranslatedText.LeadingWhitespace );
  41. Assert.Equal( expectedTrailingWhitespace, untranslatedText.TrailingWhitespace );
  42. }
  43. [Theory( DisplayName = "Can_Trim_Internal_And_Surrounding_Whitespace_And_Template" )]
  44. [InlineData( "\r\n \r\nFPS: 60.53", "FPS:{{A}}", "\r\n \r\n", null )]
  45. public void Can_Trim_Internal_And_Surrounding_Whitespace_And_Template( string input, string expectedTrimmedText, string expectedLeadingWhitespace, string expectedTrailingWhitespace )
  46. {
  47. var untranslatedText = new UntranslatedText( input, true, true );
  48. Assert.Equal( expectedTrimmedText, untranslatedText.TrimmedText );
  49. Assert.Equal( expectedLeadingWhitespace, untranslatedText.LeadingWhitespace );
  50. Assert.Equal( expectedTrailingWhitespace, untranslatedText.TrailingWhitespace );
  51. }
  52. }
  53. }