public void ShouldMatchResourceOnKeyAndValue()
        {
            var filter = new ResourceFilter { KeyRegex = new Regex(@"Kiwi"), ValueRegex = new Regex(@"amazing kiwi") };
            var resource = new Resource("This_is_my_Kiwi_resource", "What an amazing kiwi");

            filter.IsMatch(resource).ShouldBeTrue();
        }
        public void ShouldMatchResourceOnKey()
        {
            var filter = new ResourceFilter { KeyRegex = new Regex(@"Kiwi") };
            var resource = new Resource("This_is_my_Kiwi_resource");

            filter.IsMatch(resource).ShouldBeTrue();
        }
        public static ResourceList ParseAllResourceFiles(IFileSystem fileSystem, string path, ResourceFilter resourceFilter = null)
        {
            var resourceList = new ResourceList();

            var fileFilter = new FileFilter { FileExtensionWhitelist = new Regex(@"\.resx$") };

            foreach (var file in fileSystem.AllFiles(path, fileFilter))
            {
                var xml = fileSystem.LoadXmlFile(file.FullName);
                resourceList.Merge(ParseAsResourceList(xml, resourceFilter));
            }

            return resourceList;
        }
Example #4
0
        public ResourceList Clone(ResourceFilter filter = null)
        {
            if (filter == null)
            {
                filter = ResourceFilter.NoFilter;
            }

            var clonedList = new ResourceList();

            foreach (var resource in this.Where(resource => filter.IsMatch(resource)))
            {
                clonedList.Add(new Resource(resource));
            }

            return(clonedList);
        }
        public static ResourceList ParseAsResourceList(XElement xmlDocument, ResourceFilter filter = null)
        {
            if (filter == null)
            {
                filter = ResourceFilter.NoFilter;
            }

            var resourceList = new ResourceList();

            foreach (var resourceElement in xmlDocument.Elements())
            {
                if (resourceElement.Name.LocalName != "data")
                {
                    continue;
                }

                var key = resourceElement.Attribute("name").Value;

                if (!filter.KeyIsMatch(key))
                {
                    continue;
                }

                var valueElement = resourceElement.Element("value");

                var value = string.Empty;

                if (valueElement != null)
                {
                    value = valueElement.Value;
                }

                if (!filter.ValueIsMatch(value))
                {
                    continue;
                }

                resourceList.Add(new Resource(key, value));
            }

            return(resourceList);
        }
        public static ResourceList ParseAsResourceList(XElement xmlDocument, ResourceFilter filter = null)
        {
            if (filter == null)
            {
                filter = ResourceFilter.NoFilter;
            }

            var resourceList = new ResourceList();

            foreach (var resourceElement in xmlDocument.Elements())
            {
                if (resourceElement.Name.LocalName != "data")
                {
                    continue;
                }

                var key = resourceElement.Attribute("name").Value;

                if (!filter.KeyIsMatch(key))
                {
                    continue;
                }

                var valueElement = resourceElement.Element("value");

                var value = string.Empty;

                if (valueElement != null)
                {
                    value = valueElement.Value;
                }

                if (!filter.ValueIsMatch(value))
                {
                    continue;
                }

                resourceList.Add(new Resource(key, value));
            }

            return resourceList;
        }
        public static ResourceList ParseAllResourceFiles(IFileSystem fileSystem, string path, ResourceFilter resourceFilter = null)
        {
            var resourceList = new ResourceList();

            var fileFilter = new FileFilter {
                FileExtensionWhitelist = new Regex(@"\.resx$")
            };

            foreach (var file in fileSystem.AllFiles(path, fileFilter))
            {
                var xml = fileSystem.LoadXmlFile(file.FullName);
                resourceList.Merge(ParseAsResourceList(xml, resourceFilter));
            }

            return(resourceList);
        }
        public static ResourceList ParseAsResourceList(string xmlString, ResourceFilter filter = null)
        {
            var xmlDocument = XElement.Parse(xmlString);

            return(ParseAsResourceList(xmlDocument, filter));
        }
 public void ShouldMatchValueString()
 {
     var filter = new ResourceFilter { ValueRegex = new Regex(@"amazing kiwi") };
     filter.ValueIsMatch("What an amazing kiwi").ShouldBeTrue();
 }
 public void ShouldMatchKeyString()
 {
     var filter = new ResourceFilter { KeyRegex = new Regex(@"Kiwi") };
     filter.KeyIsMatch("This_is_my_Kiwi_resource").ShouldBeTrue();
 }
        public static ResourceList ParseAsResourceList(string xmlString, ResourceFilter filter = null)
        {
            var xmlDocument = XElement.Parse(xmlString);

            return ParseAsResourceList(xmlDocument, filter);
        }