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 top 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 0% 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 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; background-repeat: initial initial;
