예제 #1
0
        public void NamespacePrefixTest(string ns, string prefix, FileFormatVersions version, byte id)
        {
            Assert.True(NamespaceIdMap.TryGetNamespaceId(ns, out var outId));
            Assert.Equal(id, outId);

            Assert.Equal(prefix, NamespaceIdMap.GetNamespacePrefix(id));

            Assert.Equal(ns, NamespaceIdMap.GetNamespaceUri(prefix));
            Assert.Equal(ns, NamespaceIdMap.GetNamespaceUri(id));

            foreach (var v in FileFormatVersionExtensions.AllVersions)
            {
                Assert.Equal(v == version, NamespaceIdMap.IsInFileFormat(ns, v));
            }
        }
        private int GetIndex(string namespaceUri, string tagName)
        {
            if (!string.IsNullOrEmpty(tagName) && NamespaceIdMap.TryGetNamespaceId(namespaceUri, out var nsId))
            {
                for (var i = 0; i < _attributes.Length; i++)
                {
                    var tag = _attributes[i];

                    if (tag.Name.Equals(tagName, StringComparison.Ordinal) && tag.NamespaceId == nsId)
                    {
                        return(i);
                    }
                }
            }

            return(-1);
        }
예제 #3
0
 public void TryGetNamespaceIdFails(string ns)
 {
     Assert.False(NamespaceIdMap.TryGetNamespaceId(ns, out var id));
     Assert.Equal(byte.MaxValue, id);
 }