82 lines
2.9 KiB
HTML
82 lines
2.9 KiB
HTML
<script src="../resources/testharness.js"></script>
|
|
<script src="../resources/testharnessreport.js"></script>
|
|
<script>
|
|
|
|
const makeSource = src => {
|
|
const source = document.createElement("source");
|
|
source.src = src;
|
|
return source;
|
|
}
|
|
|
|
test(() => {
|
|
assert_idl_attribute(document.createElement("model"), "currentSrc");
|
|
}, "The HTMLModelElement interface has a currentSrc property.");
|
|
|
|
test(() => {
|
|
assert_readonly(document.createElement("model"), "currentSrc");
|
|
}, "The currentSrc property is read-only.");
|
|
|
|
test(() => {
|
|
assert_equals(document.createElement("model").currentSrc, "");
|
|
}, "The currentSrc property is the empty string when no <source> is provided.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
model.appendChild(makeSource(""));
|
|
assert_equals(model.currentSrc, "");
|
|
}, "The currentSrc property is the empty string when a <source> is provided with no src attribute.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
const source = model.appendChild(makeSource("model.usdz"));
|
|
assert_equals(model.currentSrc, source.src);
|
|
}, "The currentSrc property is the empty string when a <source> is provided.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
const source = model.appendChild(makeSource(""));
|
|
assert_equals(model.currentSrc, "");
|
|
|
|
source.src = "model.usdz";
|
|
assert_equals(model.currentSrc, source.src);
|
|
}, "Changing the src attribute of a <source> changes the currentSrc property.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
const source = model.appendChild(makeSource("model.usdz"));
|
|
assert_equals(model.currentSrc, source.src);
|
|
|
|
source.remove();
|
|
assert_equals(model.currentSrc, "");
|
|
}, "Removing the <source> changes the currentSrc property.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
const firstSource = model.appendChild(makeSource("model-1.usdz"));
|
|
const secondSource = model.appendChild(makeSource("model-2.usdz"));
|
|
assert_equals(model.currentSrc, firstSource.src);
|
|
}, "currentSrc returns the src value for the first <source> element.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
const firstSource = model.appendChild(makeSource("model-1.usdz"));
|
|
const secondSource = model.appendChild(makeSource("model-2.usdz"));
|
|
assert_equals(model.currentSrc, firstSource.src);
|
|
|
|
firstSource.remove();
|
|
assert_equals(model.currentSrc, secondSource.src);
|
|
}, "Removing a <source> element updates currentSrc.");
|
|
|
|
test(() => {
|
|
const model = document.createElement("model");
|
|
const initialSource = model.appendChild(makeSource("model-initial.usdz"));
|
|
assert_equals(model.currentSrc, initialSource.src);
|
|
|
|
const secondSource = model.insertBefore(makeSource("model-initial.usdz"), initialSource);
|
|
assert_equals(model.currentSrc, secondSource.src);
|
|
}, "Adding a <source> before the current <source> updates currentSrc.");
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|