t.style.backgroundPositionX = '5%';
PASS: t.style.backgroundPosition should be and is.
PASS: t.style.backgroundPositionX should be 5% and is.
PASS: t.style.backgroundPositionY should be and is.
PASS: t.style.cssText should be background-position-x: 5%; and is.
PASS: t.getAttribute('style') should be background-position-x: 5%; and is.
t.style.backgroundPositionY = '5%';
PASS: t.style.backgroundPosition should be 5% 5% and is.
PASS: t.style.backgroundPositionX should be 5% and is.
PASS: t.style.backgroundPositionY should be 5% and is.
PASS: t.style.cssText should be background-position: 5% 5%; and is.
PASS: t.getAttribute('style') should be background-position: 5% 5%; and is.
t.style.backgroundPosition = '10% 10%';
PASS: t.style.backgroundPosition should be 10% 10% and is.
PASS: t.style.backgroundPositionX should be 10% and is.
PASS: t.style.backgroundPositionY should be 10% and is.
PASS: t.style.cssText should be background-position: 10% 10%; and is.
PASS: t.getAttribute('style') should be background-position: 10% 10%; and is.
t.style.backgroundPositionX = '20%';
PASS: t.style.backgroundPosition should be 20% 10% and is.
PASS: t.style.backgroundPositionX should be 20% and is.
PASS: t.style.backgroundPositionY should be 10% and is.
PASS: t.style.cssText should be background-position: 20% 10%; and is.
PASS: t.getAttribute('style') should be background-position: 20% 10%; and is.
t.style.backgroundPositionY = '20%';
PASS: t.style.backgroundPosition should be 20% 20% and is.
PASS: t.style.backgroundPositionX should be 20% and is.
PASS: t.style.backgroundPositionY should be 20% and is.
PASS: t.style.cssText should be background-position: 20% 20%; and is.
PASS: t.getAttribute('style') should be background-position: 20% 20%; and is.
t.setAttribute('style', 'background-position: 30% 30%');
PASS: t.style.backgroundPosition should be 30% 30% and is.
PASS: t.style.backgroundPositionX should be 30% and is.
PASS: t.style.backgroundPositionY should be 30% and is.
PASS: t.style.cssText should be background-position: 30% 30%; and is.
PASS: t.getAttribute('style') should be background-position: 30% 30% and is.
t.style.backgroundPositionX = '20%';
PASS: t.style.backgroundPosition should be 20% 30% and is.
PASS: t.style.backgroundPositionX should be 20% and is.
PASS: t.style.backgroundPositionY should be 30% and is.
PASS: t.style.cssText should be background-position: 20% 30%; and is.
PASS: t.getAttribute('style') should be background-position: 20% 30%; and is.
t.style.backgroundPositionY = '20%';
PASS: t.style.backgroundPosition should be 20% 20% and is.
PASS: t.style.backgroundPositionX should be 20% and is.
PASS: t.style.backgroundPositionY should be 20% and is.
PASS: t.style.cssText should be background-position: 20% 20%; and is.
PASS: t.getAttribute('style') should be background-position: 20% 20%; and is.
t.setAttribute('style', 'background-position: 60% 60% !important;');
PASS: t.style.backgroundPosition should be 60% 60% and is.
PASS: t.style.backgroundPositionX should be 60% and is.
PASS: t.style.backgroundPositionY should be 60% and is.
PASS: t.style.cssText should be background-position: 60% 60% !important; and is.
t.setAttribute('style', 'background-position: 10px 15px, 20px 25px, 30px 35px');
PASS: t.style.backgroundPosition should be 10px 15px, 20px 25px, 30px 35px and is.
PASS: t.style.backgroundPositionX should be 10px, 20px, 30px and is.
PASS: t.style.backgroundPositionY should be 15px, 25px, 35px and is.
PASS: t.style.cssText should be background-position: 10px 15px, 20px 25px, 30px 35px; and is.
t.setAttribute('style', 'background-position: bottom 10px right 20px');
PASS: t.style.backgroundPosition should be right 20px bottom 10px and is.
PASS: window.getComputedStyle(t).backgroundPosition should be right 20px bottom 10px and is.
t.setAttribute('style', 'background-position: top 10px right 20px');
PASS: t.style.backgroundPosition should be right 20px top 10px and is.
PASS: window.getComputedStyle(t).backgroundPosition should be right 20px 10px and is.
t.setAttribute('style', 'background-position: 50% left');
PASS: t.style.backgroundPosition should be and is.
t.setAttribute('style', 'background-position-x: right 20px');
PASS: window.getComputedStyle(t).backgroundPositionX should be right 20px and is.
t.setAttribute('style', 'background-position: right 20px bottom 10px');
PASS: window.getComputedStyle(t).backgroundPosition should be right 20px bottom 10px and is.
PASS: window.getComputedStyle(t).backgroundPositionX should be right 20px and is.
t.setAttribute('style', 'background: url(about:blank) 80% 80%;');
t.style.backgroundPositionY = '50px'
style.cssText =
background-image: url("about:blank"); background-position: 80% 50px;
