Пример #1
0
        [TestCase("x-thisiswaytoolong")] // > 15 characters (should be 8 but langtags.json has up to 15)
        public void TryGetVariantSubtags_PrivateUseRulesHonored(string privateUseVariantTag)
        {
            IEnumerable <VariantSubtag> variantSubtags;

            // Test both with and without custom name
            Assert.That(IetfLanguageTag.TryGetVariantSubtags(privateUseVariantTag, out variantSubtags, "Bad Variant"), Is.False);
            Assert.That(IetfLanguageTag.TryGetVariantSubtags(privateUseVariantTag, out variantSubtags), Is.False);
        }
Пример #2
0
        public override WritingSystemDefinition ShowDialogIfNeededAndGetDefinition()
        {
            var dlg = new GetDialectNameDialog();

            if (DialogResult.OK != dlg.ShowDialog())
            {
                return(null);
            }

            WritingSystemDefinition     ws = WritingSystemFactory.Create(_templateWritingSystemDefinition);
            IEnumerable <VariantSubtag> variantSubtags;

            if (IetfLanguageTag.TryGetVariantSubtags(dlg.DialectName.ToValidVariantString(), out variantSubtags))
            {
                ws.Variants.ReplaceAll(variantSubtags);
            }
            return(ws);
        }
Пример #3
0
        private IEnumerable <VariantSubtag> GetCurrentVariants()
        {
            // TODO: Remove StandardVariant if it is no longer applicable
            var variants = string.IsNullOrEmpty(StandardVariant) ? string.Empty : StandardVariant;

            if (!string.IsNullOrEmpty(OtherVariants))
            {
                variants += "-";
                variants += OtherVariants;
            }

            IEnumerable <VariantSubtag> varaintList;

            if (IetfLanguageTag.TryGetVariantSubtags(variants, out varaintList))
            {
                return(varaintList);
            }
            return(null);
        }
Пример #4
0
        public void TryGetVariantSubtags_ReturnsTwoVariantSubTags()
        {
            IEnumerable <VariantSubtag> variantSubtags;

            IetfLanguageTag.TryGetVariantSubtags("x-code1-code2", out variantSubtags, "x-name1,name2");
            Assert.AreEqual(2, variantSubtags.Count());
            int index = 0;

            foreach (VariantSubtag variantSubtag in variantSubtags)
            {
                if (index == 0)                 //For first VariantSubTag
                {
                    Assert.That("code1", Is.EqualTo(variantSubtag.Code));
                    Assert.That("x-name1", Is.EqualTo(variantSubtag.Name));
                }
                else                 //For second VariantSubTag
                {
                    Assert.That("code2", Is.EqualTo(variantSubtag.Code));
                    Assert.That("name2", Is.EqualTo(variantSubtag.Name));
                }
                index++;
            }
        }
Пример #5
0
        /// <summary/>
        public bool ValidateOtherVariants(string otherVariants)
        {
            IEnumerable <VariantSubtag> tags;

            return(!otherVariants.EndsWith("-") && IetfLanguageTag.TryGetVariantSubtags(otherVariants, out tags));
        }