public void TestRegularExpressionAny() { IFileFilter fileFilter = FileFilterHelper.ParseFileFilter("Test", "*.*"); string filename = "Test.cs"; Assert.AreEqual(true, fileFilter.IsMatch(filename)); }
public void TestParseFileFilter() { IFileFilter fileFilter = FileFilterHelper.ParseFileFilter("Test", "*.cs"); Assert.AreEqual("Test", fileFilter.Label); Assert.AreEqual("*.cs", fileFilter.Filters); }
/// <summary> /// Creates a new, immutable <see cref="FileFilter" />. /// <param name="label">The label of the filter</param> /// <param name="filters">The filter portion string like: *.cs;*.xaml</param> /// </summary> public static FileFilter Create(string label, string filters) { CheckArguments(label, filters); IEnumerable <string> regularExpressions = FileFilterHelper.ParseFilterRegularExpressions(filters); return(Create(label, filters, regularExpressions)); }
public void TestConvertFileFilterToString() { IFileFilter fileFilter = FileFilter.Create("Test", "*.cs"); string filterStr1 = FileFilterHelper.ConvertFileFilterToString(fileFilter); string filterStr2 = filterStr1.ToString(); Assert.AreEqual("Test|*.cs", filterStr1); Assert.AreEqual("Test|*.cs", filterStr2); }
public void TestParseFileFilters() { IList <IFileFilter> fileFilters = FileFilterHelper.ParseFileFilters("Test|*.cs|Web|*.html;*.js"); Assert.AreEqual("Test", fileFilters[0].Label); Assert.AreEqual("*.cs", fileFilters[0].Filters); Assert.AreEqual("Web", fileFilters[1].Label); Assert.AreEqual("*.html;*.js", fileFilters[1].Filters); }
public void TestConvertFileFiltersToString() { IList <IFileFilter> fileFilters = new List <IFileFilter>() { FileFilter.Create("Test", "*.cs"), FileFilter.Create("Web", "*.html;*.js") }; string filtersStr = FileFilterHelper.ConvertFileFiltersToString(fileFilters); Assert.AreEqual("Test|*.cs|Web|*.html;*.js", filtersStr); }
public void TestBuildFullFileNameForInCurrentDirectoryWithoutForcedFileExtension() { FileSystemController fileSystemController = new FileSystemController() { ForceFileExtensionOfFileFilter = false, FileFilterToApply = FileFilterHelper.ParseFileFilter("Test", "*.cs;*.xaml") }; fileSystemController.SelectDirectory(m_directory); string filename = fileSystemController.BuildFullFileNameForInCurrentDirectory("test.txt"); Assert.AreEqual($@"{m_directory}\test.txt", filename); }
public void TestGetFileExtensionsFromFilter() { IFileFilter fileFilter = FileFilterHelper.ParseFileFilter("Test", "*.cs;file.*;cs*.*;*.xaml;test;*.txt.bak"); IEnumerable <string> fileExtensions = FileFilterHelper.GetFileExtensionsFromFilter(fileFilter); Assert.IsNotNull(fileExtensions); Assert.AreEqual(3, fileExtensions.Count()); Assert.IsTrue(fileExtensions.Any(fileExtension => fileExtension == "cs")); Assert.IsTrue(fileExtensions.Any(fileExtension => fileExtension == "xaml")); Assert.IsTrue(fileExtensions.Any(fileExtension => fileExtension == "bak")); fileExtensions = FileFilterHelper.GetFileExtensionsFromFilter(null); Assert.IsTrue(fileExtensions == null || !fileExtensions.Any()); }
private void OpenFile(object o) { var mediaPlugin = (IPlugin <IMedia>)o; if (_state.MediaPlugin == null || _state.MediaPlugin.Content == null) { return; } var openFileDialog = new OpenFileDialog(); openFileDialog.Filter = FileFilterHelper.GetFilter(); if (openFileDialog.ShowDialog().Value) { _state.MediaPlugin = mediaPlugin; _state.MediaPlugin.Content.OpenFileCommand.Execute(openFileDialog.FileName); LoadSideCarPreset(openFileDialog.FileName); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { try { var path = value.ToString(); if (!Path.IsPathRooted(path)) { path = Path.Combine(Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName), path); } var dir = new DirectoryInfo(path); var filter = FileFilterHelper.GetFilter(); return(dir.GetFiles().Where(info => filter.Contains(info.Extension))); } catch (Exception exc) { Logger.Instance.Error("Error while converting path to FileInfos.", exc); return(null); } }
public void TestRegularExpression() { IFileFilter fileFilter = FileFilterHelper.ParseFileFilter("Test", "*.cs;*.xaml;file.*;cs*.*"); string filename1 = "Test.cs"; string filename2 = "Test.xaml"; string filename3 = "Test.html"; string filename4 = "Test.css"; string filename5 = "file.html"; string filename6 = "csfile1_2.js"; string filename7 = "cs.js"; Assert.AreEqual(true, fileFilter.IsMatch(filename1)); Assert.AreEqual(true, fileFilter.IsMatch(filename2)); Assert.AreEqual(false, fileFilter.IsMatch(filename3)); Assert.AreEqual(false, fileFilter.IsMatch(filename4)); Assert.AreEqual(true, fileFilter.IsMatch(filename5)); Assert.AreEqual(true, fileFilter.IsMatch(filename6)); Assert.AreEqual(true, fileFilter.IsMatch(filename7)); }
public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType) { if (value == null) { return(null); } if (value is IList <IFileFilter> filters) { return(FileFilterHelper.ConvertFileFiltersToString(filters)); } else if (value is string filterStr) { return(filterStr); } else { return(base.ConvertTo(context, culture, value, destinationType)); } }
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { if (value == null) { return(null); } if (value is string filterStr) { return(FileFilterHelper.ParseFileFilters(filterStr)); } else if (value is IList <IFileFilter> filters) { return(filters); } else { return(base.ConvertFrom(context, culture, value)); } }
public override string ToString() { return(FileFilterHelper.ConvertFileFilterToString(this)); }