<!doctype html>
<title>NOT invoking media load or resource selection when removing the src attribute</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id=log></div>
<script>
var v;
var t = async_test(function(t) {
  v = document.createElement('video');
  v.setAttribute('src', ''); // invokes media load
  assert_equals(v.networkState, v.NETWORK_NO_SOURCE, 'networkState after setting src');
  var s = document.createElement('source');
  s.onerror = this.step_func(function() { assert_unreached(); });
  v.appendChild(s); // src is present so nothing happens here
  onload = this.step_func(function() { t.done(); });
});
</script>
<script>
t.step(function() {
  v.removeAttribute('src'); // nothing should happen
});
</script>
