示例#1
0
        public void SetBasedOnStyleAndInheritValues_WsOverrideInChildInheritsParentValues()
        {
            // Font family override
            byte[] buffer = new byte[] {
                0xC1, 0x87, 0x8B, 0x3B,     // WS for english (little endian)
                0x09, 0x00,                 // FF length
                (byte)'F', 0,
                (byte)'o', 0,
                (byte)'n', 0,
                (byte)'t', 0,
                (byte)'a', 0,
                (byte)'s', 0,
                (byte)'t', 0,
                (byte)'i', 0,
                (byte)'c', 0,

                0x01, 0x00,                 // Count of int props

                0x06, 0x00,                 // First int prop: type
                0x01, 0x00,                 // Variant
                0xe0, 0x2e, 0x00, 0x00,     // value
            };

            ITsPropsBldr props;

            var mainTitleStyle = AddTestStyle("Title Main", ContextValues.Title,
                                              StructureValues.Body, FunctionValues.Prose, false, Cache.LangProject.StylesOC);
            var inheritFromMain = AddTestStyle("Inherit Title", ContextValues.Title, StructureValues.Body,
                                               FunctionValues.Prose, false, Cache.LangProject.StylesOC);

            inheritFromMain.BasedOnRA = mainTitleStyle;
            props = mainTitleStyle.Rules.GetBldr();
            // set the font property in the mainTitleStyle
            props.SetStrPropValue((int)FwTextPropType.ktptWsStyle, DummyStyleInfo.MakeStringFromBuffer(buffer));
            mainTitleStyle.Rules = props.GetTextProps();

            var entry      = new DummyStyleInfo(mainTitleStyle);
            var childEntry = new DummyStyleInfo(inheritFromMain);
            var styleInfos = new FwStyleSheet.StyleInfoCollection();

            styleInfos.Add(entry);
            styleInfos.Add(childEntry);
            // SUT
            childEntry.SetBasedOnStyleAndInheritValues(styleInfos);
            Assert.AreEqual(childEntry.BasedOnStyle, entry,
                            "The child style entry in the StyleInfoCollection was not based on the parent entry");
            var fontInfoOverrides = entry.FontInfoForWs(Cache.DefaultAnalWs);

            Assert.True(fontInfoOverrides.m_fontName.IsExplicit, "The fontName was not set properly in the parent entry");
            Assert.AreEqual(fontInfoOverrides.FontName.Value, "Fontastic",
                            "The fontName was not set properly in the parent entry");
            var childOverrides = childEntry.FontInfoForWs(Cache.DefaultAnalWs);

            Assert.True(childOverrides.m_fontName.IsInherited,
                        "The child entry in the StyleInfoCollection did not inherit the fontName properly");
            Assert.AreEqual(childOverrides.FontName.Value, "Fontastic",
                            "The child entry in the StyleInfoCollection did not inherit the fontName properly");
        }
示例#2
0
		public void StyleCollectionWorksWithUpperAscii()
		{
			string styleName = "\u00e1bc";
			StStyle style = new StStyle();
			Cache.LangProject.StylesOC.Add(style);
			style.Name = styleName;

			FwStyleSheet.StyleInfoCollection styleCollection = new FwStyleSheet.StyleInfoCollection();
			styleCollection.Add(new BaseStyleInfo(style));

			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormC)));
			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormD)));
			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKC)));
			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKD)));
		}
示例#3
0
        public void StyleCollectionWorksWithUpperAscii()
        {
            string  styleName = "\u00e1bc";
            StStyle style     = new StStyle();

            Cache.LangProject.StylesOC.Add(style);
            style.Name = styleName;

            FwStyleSheet.StyleInfoCollection styleCollection = new FwStyleSheet.StyleInfoCollection();
            styleCollection.Add(new BaseStyleInfo(style));

            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormC)));
            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormD)));
            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKC)));
            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKD)));
        }
示例#4
0
        public void StyleCollectionWorksWithUpperAscii()
        {
            const string styleName = "\u00e1bc";
            var          style     = Cache.ServiceLocator.GetInstance <IStStyleFactory>().Create();

            Cache.LanguageProject.StylesOC.Add(style);
            style.Name = styleName;

            var styleCollection = new FwStyleSheet.StyleInfoCollection {
                new BaseStyleInfo(style)
            };

            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormC)));
            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormD)));
            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKC)));
            Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKD)));
        }
示例#5
0
		public void StyleCollectionWorksWithUpperAscii()
		{
			const string styleName = "\u00e1bc";
			var style = Cache.ServiceLocator.GetInstance<IStStyleFactory>().Create();
			Cache.LanguageProject.StylesOC.Add(style);
			style.Name = styleName;

			var styleCollection = new FwStyleSheet.StyleInfoCollection {new BaseStyleInfo(style)};

			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormC)));
			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormD)));
			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKC)));
			Assert.IsTrue(styleCollection.Contains(styleName.Normalize(NormalizationForm.FormKD)));
		}