Пример #1
0
        public void LexemeForm_DisabledWritingSystems_AreNotOutput()
        {
            using (var environment = new EnvironmentForTest())
            {
                LexEntry entry = environment.Repo.CreateItem();
                entry.LexicalForm.SetAlternative(environment.WritingSystemIds[1], "one");
                environment.Repo.SaveItem(entry);

                environment.DoExport();
                environment.AssertHasAtLeastOneMatch("lift/entry/lexical-unit/form[text='one']");
                environment.AssertNoMatchForXPathWithArgs("lift/entry/lexical-unit/form[text='{0}']", EnvironmentForTest.Red);
            }
        }
Пример #2
0
        public void Export_LexicalUnitHasVoice_VoiceNotListed()
        {
            using (var environment = new EnvironmentForTest())
            {
                LexEntry e1 = environment.Repo.CreateItem();
                e1.LexicalForm[EnvironmentForTest.Red]   = "r";
                e1.LexicalForm[EnvironmentForTest.Voice] = "v";
                e1.LexicalForm[EnvironmentForTest.Blue]  = "b";

                environment.DoExport();
                environment.AssertHasAtLeastOneMatchWithArgs("lift/entry/lexical-unit/form[@lang='{0}']", EnvironmentForTest.Blue);                //sanity check
                environment.AssertNoMatchForXPathWithArgs("lift/entry/lexical-unit/form[@lang='{0}']", EnvironmentForTest.Voice);
            }
        }
Пример #3
0
        public void Export_CitationHasVoice_CitationOmitsVoice()
        {
            using (var environment = new EnvironmentForTest())
            {
                LexEntry e1 = environment.Repo.CreateItem();
                e1.CitationForm[EnvironmentForTest.Red]   = "r";
                e1.CitationForm[EnvironmentForTest.Voice] = "v";
                e1.CitationForm[EnvironmentForTest.Blue]  = "b";

                environment.DoExport();
                environment.PrintResult();
                environment.AssertHasAtLeastOneMatchWithArgs("lift/entry/citation/form[@lang='{0}']", EnvironmentForTest.Blue);                //sanity check
                environment.AssertNoMatchForXPathWithArgs("lift/entry/citation/form[@lang='{0}']", EnvironmentForTest.Voice);
            }
        }
Пример #4
0
        public void HeadWordField_CitationFieldEnabled_UsesCitationFormSettings()
        {
            using (var environment = new EnvironmentForTest())
            {
                environment.Template.GetField(LexEntry.WellKnownProperties.Citation).Enabled = true;

                environment.MakeEntry();
                environment.DoExport();
                environment.AssertHasAtLeastOneMatchWithArgs(
                    "lift/entry/field[@type='headword']/form[@lang='{0}']/text[text() = '{1}']",
                    environment.Template.GetField(LexEntry.WellKnownProperties.Citation).WritingSystemIds[0],
                    "blueCitation"
                    );
                //should fall through to lexeme form on red
                environment.AssertHasAtLeastOneMatchWithArgs(
                    "lift/entry/field[@type='headword']/form[@lang='{0}']/text[text() = '{1}']",
                    environment.Template.GetField(LexEntry.WellKnownProperties.Citation).WritingSystemIds[1],
                    "redLexemeForm"
                    );

                environment.AssertNoMatchForXPathWithArgs("lift/entry/field[@type='headword']/form[@lang='{0}']", EnvironmentForTest.Green);
            }
        }