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>")); }
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>")); }
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)); }
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>")); }
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>")); }
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=\"<FN><M>a</M></FN>\">a</Run></Str>")); }
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))); }
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>")); }
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>")); }