1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
<!DOCTYPE html>
<meta charset=utf-8>
<title>AnimationTrigger constructor</title>
<link rel="help"
href="https://drafts.csswg.org/web-animations-2/#the-animationtrigger-interface">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../../testcommon.js"></script>
<body>
<script>
test(t => {
const trigger = new AnimationTrigger();
assert_equals(trigger.behavior, "once", "default behavior is once.");
assert_equals(trigger.timeline, document.timeline,
"default timeline is document.timeline.");
assert_equals(trigger.rangeStart, "normal", "default rangeStart is normal");
assert_equals(trigger.rangeEnd, "normal", "default rangeEnd is normal");
assert_equals(trigger.exitRangeStart, "auto",
"default exitRangeStart is normal");
assert_equals(trigger.exitRangeStart, "auto",
"default exitRangeEnd is normal");
}, "Default values when no property bag is supplied");
test(t => {
const trigger = new AnimationTrigger({});
assert_equals(trigger.behavior, "once", "default behavior is once.");
assert_equals(trigger.timeline, document.timeline,
"default timeline is document.timeline.");
assert_equals(trigger.rangeStart, "normal", "default rangeStart is normal");
assert_equals(trigger.rangeEnd, "normal", "default rangeEnd is normal");
assert_equals(trigger.exitRangeStart, "auto",
"default exitRangeStart is normal");
assert_equals(trigger.exitRangeEnd, "auto",
"default exitRangeEnd is normal");
}, "Default values when an empty property bag is supplied.");
test(t => {
const scroll_timeline = new ScrollTimeline();
const trigger = new AnimationTrigger({
behavior: "repeat",
timeline: scroll_timeline,
rangeStart: "contain 10%",
rangeEnd: "contain 90%",
exitRangeStart: "cover 10%",
exitRangeEnd: "cover 90%"
});
assert_equals(trigger.behavior, "repeat", "default behavior is repeat.");
assert_equals(trigger.timeline, scroll_timeline,
"timeline is supplied scroll timeline.");
assert_equals(trigger.rangeStart, "contain 10%",
"rangeStart is supplied value");
assert_equals(trigger.rangeEnd, "contain 90%",
"rangeEnd is supplied value");
assert_equals(trigger.exitRangeStart, "cover 10%",
"exitRangeStart is supplied value");
assert_equals(trigger.exitRangeEnd, "cover 90%",
"exitRangeEnd is supplied value");
}, "All values supplied (scroll timeline).");
test(t => {
const view_timeline = new ViewTimeline();
const trigger = new AnimationTrigger({
behavior: "repeat",
timeline: view_timeline,
rangeStart: "contain 10%",
rangeEnd: "contain 90%",
exitRangeStart: "cover 10%",
exitRangeEnd: "cover 90%"
});
assert_equals(trigger.behavior, "repeat", "behavior is supplied behavior.");
assert_equals(trigger.timeline, view_timeline,
"timeline is supplied scroll timeline.");
assert_equals(trigger.rangeStart, "contain 10%",
"rangeStart is supplied value");
assert_equals(trigger.rangeEnd, "contain 90%",
"rangeEnd is supplied value");
assert_equals(trigger.exitRangeStart, "cover 10%",
"exitRangeStart is supplied value");
assert_equals(trigger.exitRangeEnd, "cover 90%",
"exitRangeEnd is supplied value");
}, "All values supplied (view timeline).");
</script>
|