public void InsertChars_WhiteSpaceOnBorderOfStyleUsesDefaultStyle() { CheckDisposed(); m_draftView.RefreshDisplay(); // *** Test setup *** // Insert a word with a character style. StTxtPara para = (StTxtPara)m_exodus.SectionsOS[0].ContentOA.ParagraphsOS[0]; ITsStrBldr tssBldr = para.Contents.UnderlyingTsString.GetBldr(); ITsPropsBldr ttpBldr = TsPropsBldrClass.Create(); ttpBldr.SetStrPropValue((int)FwTextPropType.ktptNamedStyle, "Emphasis"); tssBldr.ReplaceRgch(15, 15, "really", 6, ttpBldr.GetTextProps()); para.Contents.UnderlyingTsString = tssBldr.GetString(); Assert.AreEqual(3, para.Contents.UnderlyingTsString.RunCount); // Set the IP immediately before this inserted text. m_draftView.SetInsertionPoint(0, 0, 0, 15, true); IVwSelection sel0 = m_draftView.RootBox.Selection; Assert.IsNotNull(sel0); // *** Test *** // Type two spaces. m_draftView.OnKeyDown(new KeyEventArgs(Keys.Space)); m_draftView.OnKeyDown(new KeyEventArgs(Keys.Space)); // We expect that the spaces will be in "Default Paragraph Characters" // not in a character style ITsString tss = para.Contents.UnderlyingTsString; // the word "really" is in the Emphasis style but the inserted white space is not. Assert.AreEqual("really", tss.get_RunText(1)); ITsTextProps ttp = tss.get_Properties(1); Assert.AreEqual("Emphasis", ttp.GetStrPropValue((int)FwTextStringProp.kstpNamedStyle)); ttp = tss.get_Properties(0); Assert.IsNull(ttp.GetStrPropValue((int)FwTextStringProp.kstpNamedStyle), "Style of the first run should be 'Default Paragraph Characters'"); Assert.AreEqual("Intro text. We ", tss.get_RunText(0)); }