First release
This commit is contained in:
commit
fa6c85266e
2339 changed files with 761050 additions and 0 deletions
49
node_modules/@videojs/vhs-utils/test/resolve-url.test.js
generated
vendored
Normal file
49
node_modules/@videojs/vhs-utils/test/resolve-url.test.js
generated
vendored
Normal file
|
@ -0,0 +1,49 @@
|
|||
import QUnit from 'qunit';
|
||||
import window from 'global/window';
|
||||
import resolveUrl from '../src/resolve-url';
|
||||
|
||||
// A modified subset of tests from https://github.com/tjenkinson/url-toolkit
|
||||
|
||||
QUnit.module('URL resolver');
|
||||
|
||||
QUnit.test('works with a selection of valid urls', function(assert) {
|
||||
let currentLocation = '';
|
||||
let currentPath = '';
|
||||
|
||||
if (window.location && window.location.protocol) {
|
||||
currentLocation = window.location.protocol + '//' + window.location.host;
|
||||
currentPath = window.location.pathname.split('/').slice(0, -1).join('/');
|
||||
}
|
||||
|
||||
assert.equal(
|
||||
resolveUrl('http://a.com/b/cd/e.m3u8', 'https://example.com/z.ts'),
|
||||
'https://example.com/z.ts'
|
||||
);
|
||||
assert.equal(resolveUrl('http://a.com/b/cd/e.m3u8', 'z.ts'), 'http://a.com/b/cd/z.ts');
|
||||
assert.equal(resolveUrl('//a.com/b/cd/e.m3u8', 'z.ts'), '//a.com/b/cd/z.ts');
|
||||
assert.equal(
|
||||
resolveUrl('/a/b/cd/e.m3u8', 'https://example.com:8080/z.ts'),
|
||||
'https://example.com:8080/z.ts'
|
||||
);
|
||||
assert.equal(resolveUrl('/a/b/cd/e.m3u8', 'z.ts'), currentLocation + '/a/b/cd/z.ts');
|
||||
assert.equal(resolveUrl('/a/b/cd/e.m3u8', '../../../z.ts'), currentLocation + '/z.ts');
|
||||
|
||||
assert.equal(
|
||||
resolveUrl('data:application/dash+xml;charset=utf-8,http%3A%2F%2Fexample.com', 'hello.m3u8'),
|
||||
// we need to add the currentPath because we're actually working relative to window.location
|
||||
currentLocation + currentPath + '/hello.m3u8',
|
||||
'resolves urls relative to window when given a data base url'
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
resolveUrl('data:application/dash+xml;charset=utf-8,http%3A%2F%2Fexample.com', 'http://example.com/hello.m3u8'),
|
||||
'http://example.com/hello.m3u8',
|
||||
'absolute urls should still be absolute even with a data uri'
|
||||
);
|
||||
|
||||
assert.equal(
|
||||
resolveUrl('http://example.com', 'data:application/dash+xml;charset=utf-8,http%3A%2F%2Fexample.com'),
|
||||
'data:application/dash+xml;charset=utf-8,http%3A%2F%2Fexample.com',
|
||||
'data uri is treated as an absolute url'
|
||||
);
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue