예제 #1
0
        public void Get_by_type_should_return_tags_with_inherits()
        {
            var errList = new TemplateErrors();
            var list    = new TagsList(errList)
            {
                new GroupTag {
                    Name = "val1"
                },
                new GroupTag {
                    Name = "val2"
                },
                new SortTag {
                    Name = "val3"
                },
                new ProtectedTag {
                    Name = "val4"
                },
                new DescTag {
                    Name = "val5"
                },
                new ColsFitTag {
                    Name = "val6"
                }
            };

            list.GetAll <SortTag>().Select(x => x.Name).Should().BeEquivalentTo("val1", "val2", "val3", "val5");
        }
예제 #2
0
        private void ParseTags(IXLRange range)
        {
            var innerRanges = range.GetContainingNames().ToArray();
            var cells       = from c in _cells
                              let value = c.GetString()
                                          where (value.StartsWith("<<") || value.EndsWith(">>")) &&
                                          !innerRanges.Any(nr => nr.Ranges.Contains(c.XLCell.AsRange()))
                                          select c;

            foreach (var cell in cells)
            {
                OptionTag[] tags;
                string      newValue;
                if (cell.CellType == TemplateCellType.Formula)
                {
                    tags         = _tagsEvaluator.Parse(cell.Formula, range, cell, out newValue);
                    cell.Formula = newValue;
                }
                else
                {
                    tags       = _tagsEvaluator.Parse(cell.GetString(), range, cell, out newValue);
                    cell.Value = newValue;
                }
                if (cell.Row > _rowCnt)
                {
                    _rangeTags.AddRange(tags);
                }
                else
                {
                    _tags.AddRange(tags);
                }
            }

            _rangeOption = _rangeTags.GetAll <RangeOptionTag>().FirstOrDefault();
        }