示例#1
0
        private static List <BlockItem> SplitArr(List <BlockItem> items, ExtraRule rule)
        {
            var data  = new List <BlockItem>();
            var block = rule.ToBlock();

            foreach (var item in items)
            {
                if (item.Type != BlockType.TEXT)
                {
                    data.Add(item);
                    continue;
                }
                var lines = item.Content.Split(rule.S);
                for (int i = 0; i < lines.Length; i++)
                {
                    if (i > 0)
                    {
                        data.Add(block.Clone());
                    }
                    var line = lines[i];
                    if (string.IsNullOrEmpty(line))
                    {
                        continue;
                    }
                    data.Add(new BlockItem(line));
                }
            }
            return(data);
        }
示例#2
0
        public void TestExtraInfo_InvalidRuleType()
        {
            var rule    = new ExtraRule(ExtraType.Unknown, ExtraRuleType.Regex, @"([eE]x(tra)?\.\w+)", MediaType.Video);
            var options = new NamingOptions {
                VideoExtraRules = new[] { rule }
            };
            var res = ExtraRuleResolver.GetExtraInfo("extra.mp4", options);

            Assert.Equal(rule, res.Rule);
        }