Ejemplo n.º 1
0
        public void SerializeTsStringToXml_Compose()
        {
            ITsString tss = TsStringUtils.MakeString("Laa yra la me\u0301n", EnWS);
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager);

            Assert.That(StripNewLines(xml), Is.EqualTo("<Str><Run ws=\"en\">Laa yra la m\u00E9n</Run></Str>"));
        }
Ejemplo n.º 2
0
        public void SerializeTsStringToXml_WithStyle()
        {
            ITsString tss = TsStringUtils.MakeString("This is a test!", TsStringUtils.MakeProps("Monkey", EnWS));
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager);

            Assert.That(StripNewLines(xml), Is.EqualTo("<Str><Run ws=\"en\" namedStyle=\"Monkey\">This is a test!</Run></Str>"));
        }
Ejemplo n.º 3
0
        public void Serialization_StackedDiacriticsMultipleRuns_ProducesCorrectXML()
        {
            string expectedXML = "<Str>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">Stacked diacritics: We</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"2f60ff\">" + COMBINING_RING_BELOW + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">" + COMBINING_GRAVE_ACCENT_BELOW + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"red\">" + COMBINING_DOUBLE_ACUTE_ACCENT + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">lc" + COMBINING_LEFT_TACK_BELOW + COMBINING_MINUS_SIGN_BELOW + "o</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"blue\">" + COMBINING_CIRCUMFLEX_ACCENT + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">m" + COMBINING_SEAGULL_BELOW + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"red\">" + COMBINING_GRAVE_ACCENT + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">" + COMBINING_DIAERESIS + COMBINING_MACRON + e_WITH_GRAVE + " t" + o_WITH_DIAERESIS + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"black\">" + COMBINING_CIRCUMFLEX_ACCENT + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\"> W" + o_WITH_DOT_ABOVE + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"black\">" + COMBINING_INVERTED_BREVE + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">r" + COMBINING_SQUARE_BELOW + "l</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"blue\">" + COMBINING_TILDE + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">d</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"red\">" + COMBINING_DOWN_TACK_BELOW + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">" + COMBINING_TILDE_BELOW + "P" + a_WITH_DOT_ABOVE + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"red\">" + COMBINING_OVERLINE + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"black\">" + COMBINING_DOUBLE_ACUTE_ACCENT + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">d</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"black\">" + COMBINING_ACUTE_ACCENT_BELOW + "</Run>" +
                                 "<Run ws=\"en\" fontsize=\"20000\" fontsizeUnit=\"mpt\" forecolor=\"green\">!</Run>" +
                                 "</Str>";

            TsString tss = CreateStackedDiacriticsInput(singleRun: false);
            string   xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager);

            Assert.That(StripNewLines(xml), Is.EqualTo(expectedXML));
        }
Ejemplo n.º 4
0
        public void SerializeTsStringToXml_MultiStringHandlesDifferentWS()
        {
            ITsString tss = TsStringUtils.MakeString("This is a test!", EsWS);
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager, EnWS);

            Assert.That(StripNewLines(xml), Is.EqualTo("<AStr ws=\"en\"><Run ws=\"es\">This is a test!</Run></AStr>"));
        }
Ejemplo n.º 5
0
        public void SerializeTsStringToXml_WithExternalLink()
        {
            ITsPropsBldr tpb = TsStringUtils.MakePropsBldr();

            tpb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EnWS);
            tpb.SetStringValue(FwTextPropType.ktptObjData, CreateObjData(FwObjDataTypes.kodtExternalPathName, "C:\\Idont\\exist\\here.doc"));
            ITsString tss = TsStringUtils.MakeString("document", tpb.GetTextProps());
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager);

            Assert.That(StripNewLines(xml), Is.EqualTo("<Str><Run ws=\"en\" externalLink=\"C:\\Idont\\exist\\here.doc\">document</Run></Str>"));
        }
Ejemplo n.º 6
0
        public void SerializeTsStringToXml_WithEmbeddedData()
        {
            ITsPropsBldr tpb = TsStringUtils.MakePropsBldr();

            tpb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EnWS);
            tpb.SetStringValue(FwTextPropType.ktptObjData, CreateObjData(FwObjDataTypes.kodtEmbeddedObjectData, "<FN><M>a</M></FN>"));
            ITsString tss = TsStringUtils.MakeString("a", tpb.GetTextProps());
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager);

            Assert.That(StripNewLines(xml), Is.EqualTo("<Str><Run ws=\"en\" embedded=\"&lt;FN&gt;&lt;M&gt;a&lt;/M&gt;&lt;/FN&gt;\">a</Run></Str>"));
        }
Ejemplo n.º 7
0
        public void SerializeTsStringToXml_WithOwningLink()
        {
            Guid         expectedGuid = Guid.NewGuid();
            ITsPropsBldr tpb          = TsStringUtils.MakePropsBldr();

            tpb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EnWS);
            tpb.SetStringValue(FwTextPropType.ktptObjData, CreateObjData(FwObjDataTypes.kodtOwnNameGuidHot, expectedGuid.ToByteArray()));
            ITsString tss = TsStringUtils.MakeString(StringUtils.kChObject.ToString(), tpb.GetTextProps());
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager);

            Assert.That(StripNewLines(xml), Is.EqualTo(string.Format("<Str><Run ws=\"en\" ownlink=\"{0}\"></Run></Str>", expectedGuid)));
        }
Ejemplo n.º 8
0
        public void SerializeTsStringToXml_MultiStringLaterRunsLessProps()
        {
            ITsIncStrBldr tisb = TsStringUtils.MakeIncStrBldr();

            tisb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EnWS);
            tisb.SetStringValue(FwTextPropType.ktptNamedStyle, "Monkey");
            tisb.Append("This is a ");
            tisb.ClearProps();
            tisb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EsWS);
            tisb.Append("Laa yra la m\u00E9n");
            ITsString tss = tisb.GetString();
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager, EnWS);

            Assert.That(StripNewLines(xml), Is.EqualTo("<AStr ws=\"en\"><Run ws=\"en\" namedStyle=\"Monkey\">This is a </Run><Run ws=\"es\">Laa yra la m\u00E9n</Run></AStr>"));
        }
Ejemplo n.º 9
0
        public void SerializeTsStringToXml_WithLinkDoesNotWriteObjData()
        {
            Guid          expectedGuid = Guid.NewGuid();
            ITsIncStrBldr tisb         = TsStringUtils.MakeIncStrBldr();

            tisb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EnWS);
            tisb.Append("This is a link:");
            tisb.ClearProps();
            tisb.SetIntValue(FwTextPropType.ktptWs, FwTextPropVar.ktpvDefault, EnWS);
            tisb.SetStringValue(FwTextPropType.ktptObjData, CreateObjData(FwObjDataTypes.kodtNameGuidHot, expectedGuid.ToByteArray()));
            tisb.Append(StringUtils.kChObject.ToString());
            ITsString tss = tisb.GetString();
            string    xml = TsStringSerializer.SerializeTsStringToXml(tss, WritingSystemManager, writeObjData: false);

            Assert.That(StripNewLines(xml), Is.EqualTo("<Str><Run ws=\"en\">This is a link:</Run></Str>"));
        }