Example #1
0
        public void StringFields_Simple()
        {
            CheckDisposed();
            ITsPropsBldr propsBldr = TsPropsBldrClass.Create();

            propsBldr.SetStrPropValue((int)FwTextPropType.ktptNamedStyle, "Verse");
            ITsStrBldr strBldr = TsStrBldrClass.Create();

            // Test StringFields (which are basically the same, except that the
            // format of the parameters is different)
            strBldr.Replace(0, 0, "Third", propsBldr.GetTextProps());
            ITsString tsString = strBldr.GetString();

            using (ArrayPtr arrayPtr = MarshalEx.ArrayToNative(1000, typeof(byte)))
            {
                int    cbFmt  = tsString.SerializeFmtRgb(arrayPtr, 1000);
                byte[] rgbFmt = (byte[])MarshalEx.NativeToArray(arrayPtr, cbFmt, typeof(byte));
                m_IVwCacheDa.CacheStringFields(1118, 2228, tsString.Text,
                                               tsString.Length, rgbFmt, cbFmt);
                ITsString tsStringNew = m_ISilDataAccess.get_StringProp(1118, 2228);
                Assert.AreEqual(tsString.Text, tsStringNew.Text);
            }
        }