Exemplo n.º 1
0
        public void GetSetClipboard()
        {
            var            wsManager = new PalasoWritingSystemManager();
            IWritingSystem enWs;

            wsManager.GetOrSet("en", out enWs);
            int wsEng = enWs.Handle;

            IWritingSystem swgWs;

            wsManager.GetOrSet("swg", out swgWs);
            int wsSwg = swgWs.Handle;

            var strFactory = TsStrFactoryClass.Create();
            var incStrBldr = strFactory.GetIncBldr();

            incStrBldr.AppendTsString(strFactory.MakeString("Gogomer ", wsSwg));
            incStrBldr.AppendTsString(strFactory.MakeString("cucumber", wsEng));
            EditingHelper.SetTsStringOnClipboard(incStrBldr.GetString(), false, wsManager);

            var tss = m_basicView.EditingHelper.GetTsStringFromClipboard(wsManager);

            Assert.IsNotNull(tss, "Couldn't get TsString from clipboard");
            Assert.AreEqual(2, tss.RunCount);
            Assert.AreEqual("Gogomer ", tss.get_RunText(0));
            Assert.AreEqual("cucumber", tss.get_RunText(1));

            var newDataObj = ClipboardUtils.GetDataObject();

            Assert.IsNotNull(newDataObj, "Couldn't get DataObject from clipboard");
            Assert.AreEqual("Gogomer cucumber", newDataObj.GetData("Text"));
        }
            public DummyFwMultilingualPropViewDataSource()
            {
                IWritingSystem ws;

                m_writingSystemManager.GetOrSet("en", out ws);
                m_list.Add(ws.Handle);
                m_writingSystemManager.GetOrSet("fr", out ws);
                m_list.Add(ws.Handle);
            }
        public void Persistence()
        {
            var            wsManager = new PalasoWritingSystemManager();
            IWritingSystem enWs;

            wsManager.GetOrSet("en", out enWs);
            int wsEng = enWs.Handle;

            IWritingSystem frWs;

            wsManager.GetOrSet("fr", out frWs);
            int wsFrn = frWs.Handle;

            IWritingSystem deWs;

            wsManager.GetOrSet("de", out deWs);
            int wsGer = deWs.Handle;

            InterlinLineChoices choices = new InterlinLineChoices(m_lp, wsFrn, wsEng);

            MakeStandardState(choices);
            string persist = choices.Persist(wsManager);

            choices = InterlinLineChoices.Restore(persist, wsManager, m_lp, wsFrn, wsEng);

            Assert.AreEqual(InterlinLineChoices.kflidWord, choices[0].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[1].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[2].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[3].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexPos, choices[4].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[5].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidWordPos, choices[6].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidFreeTrans, choices[7].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLitTrans, choices[8].Flid);

            // Check writing systems assigned by default.
            Assert.AreEqual(wsFrn, choices[0].WritingSystem);
            Assert.AreEqual(wsEng, choices[5].WritingSystem);
            Assert.AreEqual(wsFrn, choices[2].WritingSystem);

            choices = new EditableInterlinLineChoices(m_lp, 0, wsEng);
            MakeStandardState(choices);
            choices.Add(InterlinLineChoices.kflidLexGloss, wsGer);
            Assert.AreEqual(InterlinLineChoices.kflidWord, choices[0].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidMorphemes, choices[1].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexEntries, choices[2].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[3].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexGloss, choices[4].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLexPos, choices[5].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidWordGloss, choices[6].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidWordPos, choices[7].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidFreeTrans, choices[8].Flid);
            Assert.AreEqual(InterlinLineChoices.kflidLitTrans, choices[9].Flid);

            Assert.AreEqual(wsGer, choices[4].WritingSystem);
        }
Exemplo n.º 4
0
 private static void RetrieveDefaultWritingSystemsFromLift(string liftPath, out IWritingSystem wsVern,
                                                           out IWritingSystem wsAnalysis)
 {
     using (var liftReader = new StreamReader(liftPath, Encoding.UTF8))
     {
         string vernWsId, analysisWsId;
         using (var reader = XmlReader.Create(liftReader))
             RetrieveDefaultWritingSystemIdsFromLift(reader, out vernWsId, out analysisWsId);
         var wsManager = new PalasoWritingSystemManager(new GlobalFileWritingSystemStore());
         wsManager.GetOrSet(vernWsId, out wsVern);
         wsManager.GetOrSet(analysisWsId, out wsAnalysis);
     }
 }
        /// <summary>
        /// NOTE: Copied from SIL.FieldWorks.IText.InterlinSfmImportTests
        /// </summary>
        /// <returns></returns>
        private PalasoWritingSystemManager GetWsf()
        {
            var            wsf = new PalasoWritingSystemManager();
            IWritingSystem wsObj;

            wsf.GetOrSet("qaa-x-kal", out wsObj);
            EnsureQuoteAndHyphenWordForming(wsObj);
            return(wsf);
        }
Exemplo n.º 6
0
        public void SetTsStringOnClipboard_UsesNFC()
        {
            var            wsManager = new PalasoWritingSystemManager();
            IWritingSystem enWs;

            wsManager.GetOrSet("en", out enWs);
            int wsEng         = enWs.Handle;
            var strFactory    = TsStrFactoryClass.Create();
            var originalInput = "\x7a7a\x60f3\x79d1\x5b78\x0020\xd558";
            var input         = originalInput.Normalize(NormalizationForm.FormD);

            Assert.That(originalInput, Is.Not.EqualTo(input));             // make sure input is NOT NFC
            var tss = strFactory.MakeString(input, wsEng);

            EditingHelper.SetTsStringOnClipboard(tss, false, wsManager);
            var newDataObj = ClipboardUtils.GetDataObject();

            Assert.IsNotNull(newDataObj, "Couldn't get DataObject from clipboard");
            Assert.AreEqual(originalInput, newDataObj.GetData("Text"));
        }