urlExtension.test.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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/bar.json',
  12. 'foo.json?a=b',
  13. '/foo.json',
  14. '/foo/bar.json',
  15. ] )( 'parses the json extension out of %s', url => {
  16. expect( getUrlExtension( url ) ).toBe( 'json' );
  17. } );
  18. it.each( [
  19. 'https://nasa.gov',
  20. 'https://nasa.gov/',
  21. 'https://nasa.gov/tileset',
  22. 'https://nasa.gov/sg/b3dm/NeveTzedek3.420160/tileset?foo=bar',
  23. 'https://nasa.gov/sg/b3dm/NeveTzedek3.420160/tileset?a.b=c.d',
  24. 'https://nasa.gov/tileset',
  25. 'https://nasa.gov/tileset.',
  26. 'Pleiades',
  27. ] )( 'returns null for strings that are not URLs with extensions %s', url => {
  28. expect( getUrlExtension( url ) ).toBeNull();
  29. } );
  30. } );