public virtual void TestBaseDir() { DirectoryInfo @base = CreateTempDir("fsResourceLoaderBase"); try { TextWriter os = new StreamWriter(new FileStream(System.IO.Path.Combine(@base.FullName, "template.txt"), FileMode.Create, FileAccess.Write), Encoding.UTF8); try { os.Write("foobar\n"); } finally { IOUtils.DisposeWhileHandlingException(os); } IResourceLoader rl = new FilesystemResourceLoader(@base); assertEquals("foobar", WordlistLoader.GetLines(rl.OpenResource("template.txt"), Encoding.UTF8).First()); // Same with full path name: string fullPath = (new FileInfo(System.IO.Path.Combine(@base.FullName, "template.txt"))).ToString(); assertEquals("foobar", WordlistLoader.GetLines(rl.OpenResource(fullPath), Encoding.UTF8).First()); assertClasspathDelegation(rl); assertNotFound(rl); // now use RL without base dir: rl = new FilesystemResourceLoader(); assertEquals("foobar", WordlistLoader.GetLines(rl.OpenResource(new FileInfo(System.IO.Path.Combine(@base.FullName, "template.txt")).FullName), Encoding.UTF8).First()); assertClasspathDelegation(rl); assertNotFound(rl); } finally { // clean up foreach (var file in @base.EnumerateFiles()) { file.Delete(); } @base.Delete(); } }
public virtual void TestDelegation() { IResourceLoader rl = new FilesystemResourceLoader(null, new StringMockResourceLoader("foobar\n")); assertEquals("foobar", WordlistLoader.GetLines(rl.OpenResource("template.txt"), Encoding.UTF8).First()); }