Ejemplo n.º 1
0
        public void TestRemoveParagraphsByIds2()
        {
            var sub = new Subtitle();
            var p1 = new Paragraph("1", 0, 1000);
            var p2 = new Paragraph("2", 1000, 2000);
            var p3 = new Paragraph("3", 2000, 3000);
            sub.Paragraphs.Add(p1);
            sub.Paragraphs.Add(p2);
            sub.Paragraphs.Add(p3);

            int removedCount = sub.RemoveParagraphsByIds(new List<string> { p2.ID, p3.ID });
            Assert.AreEqual(removedCount, 2);
            Assert.AreEqual(sub.Paragraphs.Count, 1);
            Assert.AreEqual(sub.Paragraphs[0], p1);
        }
        public Subtitle GetFixedSubtitle(Subtitle subtitle)
        {
            FixCount = 0;
            DeleteIDs = new List<string>();
            var fixedSubtitle = new Subtitle(subtitle, false);
            foreach (var previewItem in _previewItems)
            {
                if (previewItem.Apply)
                {
                    var p = fixedSubtitle.Paragraphs.First(pa => pa.ID == previewItem.Id);
                    p.Text = previewItem.After.Replace(Configuration.Settings.General.ListViewLineSeparatorString, Environment.NewLine);
                    FixCount++;

                    if (!string.IsNullOrWhiteSpace(p.Text) && (string.IsNullOrWhiteSpace(previewItem.After) || string.IsNullOrWhiteSpace(HtmlUtil.RemoveHtmlTags(previewItem.After, true))))
                    {
                        DeleteIDs.Add(p.ID);
                    }
                }
            }
            fixedSubtitle.RemoveParagraphsByIds(DeleteIDs);
            return fixedSubtitle;
        }