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));
        }