Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/semantics/embedded-content/media-elements/location-of-the-media-resource/currentSrc.html - WPT Dashboard Interop Dashboard
<!doctype html>
<title>currentSrc</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
['audio', 'video'].forEach(function(tagName) {
test(function() {
assert_equals(document.createElement(tagName).currentSrc, '');
}, tagName + '.currentSrc initial value');
['', '.', ' ', 'data:,'].forEach(function(src) {
async_test(function(t) {
var e = document.createElement(tagName);
e.src = src;
assert_equals(e.currentSrc, '');
e.addEventListener('loadstart', function () {
t.step_timeout(function () {
if (src == '') {
assert_equals(e.currentSrc, '');
} else {
assert_equals(e.currentSrc, e.src);
}
t.done();
}, 0);
})
}, tagName + '.currentSrc after setting src attribute "' + src + '"');
async_test(function(t) {
var e = document.createElement(tagName);
var s = document.createElement('source');
s.src = src;
e.appendChild(s);
assert_equals(e.currentSrc, '');
e.addEventListener('loadstart', function() {
t.step_timeout(function () {
if (src == '') {
assert_equals(e.currentSrc, '');
} else {
assert_equals(e.currentSrc, s.src);
}
t.done();
}, 0);
});
}, tagName + '.currentSrc after adding source element with src attribute "' + src + '"');
});
});
</script>