예제 #1
0
        public void Register_ExistingParagraph()
        {
            var props = new CssPropertiesSet {
                new MockProp1(),
                new MockProp2()
            };

            _paragraphClassFactory
            .Build(Arg.Any <ParagraphClassParam>())
            .Returns(x => new CssClass {
                Props = props
            });

            var result1 = _instance.RegisterParagraph(BuildPPr());
            var result2 = _instance.RegisterParagraph(BuildPPr());

            Assert.AreSame(result1, result2);
            Assert.AreSame(result1, _instance.Registrations.Single());
        }
예제 #2
0
        public void Build_DynFromPropsTest()
        {
            var pPr   = new ParagraphProperties();
            var props = new CssPropertiesSet
            {
                new MockProp1(),
                new MockProp2()
            };

            _propsFac.Build(Arg.Is(pPr)).Returns(props);

            var result = _instance.Build(new ParagraphClassParam
            {
                InlineProperties = pPr
            });

            Utils.AssertDynamicClass(_config, result);
            Assert.IsTrue(props.Equals(result.Props));
        }
예제 #3
0
        public void Register_ExistingRun()
        {
            var props = new CssPropertiesSet {
                new MockProp1(), new MockProp2()
            };
            var output = new CssClass();

            _runClassFactory
            .Build(Arg.Any <RunClassParam>())
            .Returns(x => new CssClass {
                Props = props
            });

            var result1 = _instance.RegisterRun(BuildPPr(), BuildRPr());
            var result2 = _instance.RegisterRun(BuildPPr(), BuildRPr());

            Assert.AreSame(result1, result2);
            Assert.AreSame(result1, _instance.Registrations.Single());
        }
예제 #4
0
        public void Build_DyncPropsTest()
        {
            var rPr   = new RunProperties();
            var props = new CssPropertiesSet
            {
                new MockProp1(),
                new MockProp2()
            };

            _propsFac.Build(Arg.Is(rPr)).Returns(props);

            var result = _instance.Build(new RunClassParam
            {
                InlineProperties = rPr
            });

            Utils.AssertDynamicClass(_nameGen.Prefix, result);
            Assert.IsTrue(props.Equals(result.Props));
        }
예제 #5
0
        public void Build_NumberingStyleTest()
        {
            var props = new CssPropertiesSet
            {
                new MockProp1(),
                new MockProp2()
            };

            _numPropsCache.Get(7, 2).Returns(props);

            var result = _instance.Build(new RunClassParam
            {
                NumberingId    = 7,
                NumberingLevel = 2
            });

            Assert.IsTrue(props.Equals(result.Props));
            Utils.AssertDynamicClass(_nameGen.Prefix, result);
        }
예제 #6
0
        public void Build_ParagraphStyleTest()
        {
            string styleId = "p-style";
            var    rPr     = new RunProperties();
            var    props   = new CssPropertiesSet {
                new MockProp1(),
                new MockProp2()
            };

            _pStylePropsCache.Get(styleId).Returns(props);

            var result = _instance.Build(new RunClassParam
            {
                ParagraphStyleId = styleId,
                InlineProperties = rPr,
            });

            Utils.AssertDynamicClass(_config, result);
            Assert.IsTrue(props.Equals(props));
        }
예제 #7
0
        public void CssPropertiesSet_InitTest()
        {
            var props = new ICssProperty[] {
                new MockProp1(),
                new MockProp2(),
                new MockProp3(),
                new MockProp4(),
            };

            _instance = new CssPropertiesSet(props);

            Assert.AreEqual(4, _instance.Count);
            Assert.IsFalse(_instance.IsReadOnly);
            Assert.IsNotNull(_instance.GetEnumerator());
            Assert.IsNotNull((_instance as IEnumerable <ICssProperty>).GetEnumerator());
            foreach (var prop in props)
            {
                Assert.IsTrue(_instance.Contains(prop));
            }
        }
예제 #8
0
        public void Clone_Test()
        {
            var a = new CssPropertiesSet()
            {
                new MockProp1(),
                new MockProp2()
            };

            var b = a.Clone();

            Assert.AreEqual(a.Count, b.Count);
            var aProps = a.ToArray();
            var bProps = b.ToArray();

            for (int i = 0; i < aProps.Length; i++)
            {
                Assert.AreEqual(aProps[i], bProps[i]);
                Assert.AreNotSame(aProps[i], bProps[i]);
            }
        }
예제 #9
0
        public void Build_ParagraphDefaultStyleTest()
        {
            string styleId = "default-paragraph";
            var    rPr     = new RunProperties();
            var    props   = new CssPropertiesSet {
                new MockProp1(),
                new MockProp2()
            };

            _pStylePropsCache.Get(styleId).Returns(props);
            _defaults.DefaultParagraphStyle.Returns(styleId);

            var result = _instance.Build(new RunClassParam
            {
                InlineProperties = rPr,
            });

            Utils.AssertDynamicClass(_nameGen.Prefix, result);
            Assert.IsTrue(props.Equals(result.Props));
        }
예제 #10
0
 private static bool WillBeEmtpyClass(ParagraphClassParam param, CssPropertiesSet propsInline) =>
 propsInline.Count == 0 &&
 param.StyleId == null &&
 (!param.NumberingId.HasValue || !param.NumberingLevel.HasValue);
예제 #11
0
파일: Utils.cs 프로젝트: kurapica/doc2web
 public void InsertCss(CssPropertiesSet other, CssData cssData)
 {
     cssData.AddRange(_cssData);
 }
예제 #12
0
 public void Initialize()
 {
     _instance = new CssPropertiesSet();
 }
예제 #13
0
 public CssClass()
 {
     Name  = "";
     Props = new CssPropertiesSet();
 }
예제 #14
0
 private static bool WillBeEmptyClass(RunClassParam param, CssPropertiesSet inline) =>
 inline.Count == 0 &&
 param.RunStyleId == null &&
 param.ParagraphStyleId == null &&
 (!param.NumberingId.HasValue || !param.NumberingLevel.HasValue);