/** Try to map a URI or file name to a {@link Lang}; return null on no registered mapping. */ public static Lang filenameToLang(String filename) { if ( filename == null ) return null; // Remove any URI fragment (there can be only one # in a URI). // Pragmatically, assume any # is URI related. // URIs can be relative. int iHash = filename.indexOf('#'); if ( iHash > 0 ) filename = filename.substring(0, iHash); // Gzip or BZip2 compressed? filename = IO.filenameNoCompression(filename); return fileExtToLang(FileUtils.getFilenameExt(filename)); }
@Test public void ext_2() { String fn1 = "a/b/file.gz"; String fn2 = IO.filenameNoCompression(fn1); assertEquals("a/b/file", fn2); }
@Test public void ext_1() { String fn1 = "file.txt"; String fn2 = IO.filenameNoCompression(fn1); assertEquals(fn1, fn2); }
@Test public void ext_3() { String fn1 = "file.ttl.bz2"; String fn2 = IO.filenameNoCompression(fn1); assertEquals("file.ttl", fn2); }
@Test public void ext_4() { String fn1 = "file.txt.gz"; String fn2 = IO.filenameNoCompression(fn1); assertEquals("file.txt", fn2); }
@Test public void ext_5() { String fn1 = "a/b/file.ttl.bz2"; String fn2 = IO.filenameNoCompression(fn1); assertEquals("a/b/file.ttl", fn2); } }