Esempio n. 1
0
 public void DeserializeTsStringFromXml_NoWsInRun()
 {
     Assert.That(() => TsStringSerializer.DeserializeTsStringFromXml(
                     "<Str><Run>This is a test!</Run></Str>", WritingSystemManager),
                 Throws.TypeOf <XmlSchemaException>().With.Message.EqualTo(
                     "Run element must contain a ws attribute. Run text: This is a test!"));
 }
Esempio n. 2
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>"));
        }
Esempio n. 3
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>"));
        }
Esempio n. 4
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));
        }
Esempio n. 5
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>"));
        }
Esempio n. 6
0
 public void DeserializeTsStringFromXml_MultiStringWithStyleAndNoWsInRun()
 {
     Assert.That(() => TsStringSerializer.DeserializeTsStringFromXml(
                     "<AStr ws='en'><Run namedStyle='Monkey'>This is a test!</Run></AStr>",
                     WritingSystemManager),
                 Throws.TypeOf <XmlSchemaException>().With.Message.EqualTo(
                     "Run element must contain a ws attribute. Run text: This is a test!"));
 }
Esempio n. 7
0
        public void DeserializeTsStringFromXml_Decompose()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<Str><Run ws=\"en\">Laa yra la m\u00E9n</Run></Str>", WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual("Laa yra la me\u0301n", tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.NoStrProps(tss);
        }
Esempio n. 8
0
        public void DeserializeTsStringFromXml_WithStyle()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<Str><Run ws='en' namedStyle='Monkey'>This is a test!</Run></Str>", WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual("This is a test!", tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.StyleEqual("Monkey", tss);
        }
Esempio n. 9
0
        public void DeserializeTsStringFromXml_MultiStringWithNoRunElement()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<AStr ws='en'>This is a test!</AStr>", WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual("This is a test!", tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.NoStrProps(tss);
        }
Esempio n. 10
0
        public void DeserializeTsStringFromXml_Simple()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<Str><Run ws='en'>This is a test!</Run></Str>", WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual("This is a test!", tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.NoStrProps(tss);
        }
Esempio n. 11
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>"));
        }
Esempio n. 12
0
        public void DeserializeTsStringFromXml_WithExternalLink()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                @"<Str><Run ws='en' externalLink='C:\Idont\exist\here.doc'>document</Run></Str>",
                WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual("document", tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.ObjDataEqual((char)FwObjDataTypes.kodtExternalPathName + @"C:\Idont\exist\here.doc", tss);
        }
Esempio n. 13
0
        public void DeserializeTsStringFromXml_WithEmbeddedData()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<Str><Run ws='en' embedded='&lt;FN&gt;&lt;M&gt;a&lt;/M&gt;&lt;/FN&gt;'>a</Run></Str>",
                WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual("a", tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.ObjDataEqual((char)FwObjDataTypes.kodtEmbeddedObjectData + "<FN><M>a</M></FN>", tss);
        }
Esempio n. 14
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>"));
        }
Esempio n. 15
0
        public void DeserializeTsStringFromXml_MultiStringHandlesDifferentWS()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<AStr ws='en'><Run ws='es'>This is a test!</Run></AStr>", WritingSystemManager);

            Assert.IsNotNull(tss);
            Assert.AreEqual(1, tss.RunCount);
            TssAssert.StringEqual("This is a test!", tss);
            TssAssert.WsEqual(EsWS, tss);
            TssAssert.NoStrProps(tss);
        }
Esempio n. 16
0
        public void DeserializeTsStringFromXml_WithOwningLink()
        {
            Guid      expectedGuid = Guid.NewGuid();
            ITsString tss          = TsStringSerializer.DeserializeTsStringFromXml(
                "<Str><Run ws='en' ownlink='" + expectedGuid + "'></Run></Str>",
                WritingSystemManager);

            Assert.IsNotNull(tss);
            TssAssert.StringEqual(StringUtils.kChObject.ToString(), tss);
            TssAssert.WsEqual(EnWS, tss);
            TssAssert.FootnoteEqual(expectedGuid, FwObjDataTypes.kodtOwnNameGuidHot, tss);
        }
Esempio n. 17
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)));
        }
Esempio n. 18
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>"));
        }
Esempio n. 19
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>"));
        }
Esempio n. 20
0
        public void DeserializeTsStringFromXml_MultipleRuns()
        {
            ITsString tss = TsStringSerializer.DeserializeTsStringFromXml(
                "<Str><Run ws='en'>This is a </Run><Run ws='es' namedStyle='Monkey'>Laa yra la m\u00E9n</Run></Str>",
                WritingSystemManager);

            Assert.IsNotNull(tss);
            Assert.AreEqual(2, tss.RunCount);
            // Check run one
            TssAssert.RunEqual("This is a ", tss, 0, 0);
            TssAssert.WsEqual(EnWS, tss, 0);
            TssAssert.NoStrProps(tss, 0);
            // Check run two
            TssAssert.RunEqual("Laa yra la me\u0301n", tss, 1, 10);
            TssAssert.WsEqual(EsWS, tss, 1);
            TssAssert.StyleEqual("Monkey", tss, 1);
        }
Esempio n. 21
0
 public void DeserializeTsStringFromXml_NoWsInRun()
 {
     TsStringSerializer.DeserializeTsStringFromXml(
         "<Str><Run>This is a test!</Run></Str>", WritingSystemManager);
 }
Esempio n. 22
0
 public void DeserializeTsStringFromXml_MultiStringWithStyleAndNoWsInRun()
 {
     TsStringSerializer.DeserializeTsStringFromXml(
         "<AStr ws='en'><Run namedStyle='Monkey'>This is a test!</Run></AStr>",
         WritingSystemManager);
 }