63 lines
1.9 KiB
C#
63 lines
1.9 KiB
C#
using System;
|
|
using Paca.Mobile.Core;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Core;
|
|
|
|
public class SubtitleFormatConverterGateTests
|
|
{
|
|
[Fact]
|
|
public void Gate345_SubtitleFormatConverter_ConvertsSrtToVtt_Correctly()
|
|
{
|
|
var srt = @"1
|
|
00:00:01,234 --> 00:00:04,567
|
|
Hello world!
|
|
|
|
2
|
|
00:00:05,000 --> 00:00:08,100
|
|
Welcome to Paca.";
|
|
|
|
var vtt = SubtitleFormatConverter.ConvertSrtToVtt(srt);
|
|
|
|
Assert.StartsWith("WEBVTT", vtt.TrimStart());
|
|
Assert.Contains("00:00:01.234 --> 00:00:04.567", vtt);
|
|
Assert.Contains("00:00:05.000 --> 00:00:08.100", vtt);
|
|
Assert.DoesNotContain(",234", vtt);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate346_SubtitleFormatConverter_ConvertsVttToSrt_Correctly()
|
|
{
|
|
var vtt = @"WEBVTT
|
|
|
|
00:00:01.234 --> 00:00:04.567
|
|
Hello world!
|
|
|
|
00:00:05.000 --> 00:00:08.100
|
|
Welcome to Paca.";
|
|
|
|
var srt = SubtitleFormatConverter.ConvertVttToSrt(vtt);
|
|
|
|
Assert.DoesNotContain("WEBVTT", srt);
|
|
Assert.Contains("1\n00:00:01,234 --> 00:00:04,567", srt.Replace("\r\n", "\n"));
|
|
Assert.Contains("00:00:01,234 --> 00:00:04,567", srt);
|
|
Assert.Contains("00:00:05,000 --> 00:00:08,100", srt);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate347_SubtitleFormatConverter_StripsFormattingTags_Cleanly()
|
|
{
|
|
var formatted = "<b>Hello</b> <i><font color=\"#ff0000\">World</font></i> & enjoy!";
|
|
var clean = SubtitleFormatConverter.StripFormattingTags(formatted);
|
|
|
|
Assert.Equal("Hello World & enjoy!", clean);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate348_SubtitleFormatConverter_HandlesEmptyAndWhitespaceGracefully()
|
|
{
|
|
Assert.Equal(string.Empty, SubtitleFormatConverter.ConvertSrtToVtt(string.Empty));
|
|
Assert.Equal(string.Empty, SubtitleFormatConverter.ConvertVttToSrt(string.Empty));
|
|
Assert.Equal(string.Empty, SubtitleFormatConverter.StripFormattingTags(string.Empty));
|
|
}
|
|
}
|