urlExtension.test.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import { getUrlExtension } from '../src/utilities/urlExtension.js';
  2. describe( 'getUrlExtension', () => {
  3. it.each( [
  4. 'https://nasa.gov/foo/bar/baz.qux/tileset.json',
  5. 'https://nasa.gov/foo/bar/baz.qux/tileset.json?foo=bar',
  6. 'https://nasa.gov/foo/bar/baz.qux/tileset.json?a.b=c.d',
  7. 'https://nasa.gov/tileset.json',
  8. 'https://nasa.gov//tileset.json',
  9. 'file:///Users/JaneScientist/code/3DTilesRendererJS/example/b3dmExample.json',
  10. 'foo.json',
  11. 'foo.json?a=b',
  12. '/foo.json',
  13. ] )( 'parses the json extension out of %s', url => {
  14. expect( getUrlExtension( url ) ).toBe( 'json' );
  15. } );
  16. it.each( [
  17. 'https://nasa.gov',
  18. 'https://nasa.gov/',
  19. 'https://nasa.gov/tileset',
  20. 'https://nasa.gov/sg/b3dm/NeveTzedek3.420160/tileset?foo=bar',
  21. 'https://nasa.gov/sg/b3dm/NeveTzedek3.420160/tileset?a.b=c.d',
  22. 'https://nasa.gov/tileset',
  23. 'https://nasa.gov/tileset.',
  24. 'Pleiades',
  25. ] )( 'returns null for strings that are not URLs with extensions %s', url => {
  26. expect( getUrlExtension( url ) ).toBeNull();
  27. } );
  28. } );