Bug 966992 - overflow-clip-box:content-box tests.

This commit is contained in:
Mats Palmgren 2014-02-22 01:18:24 +00:00
parent 3b03dccc65
commit 4b481e0cd9
11 changed files with 361 additions and 1 deletions

View File

@ -0,0 +1,40 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
html,body {
color:black; background-color:white; font:16px monospace; padding:0; margin:7px;
}
.block {
border:1px solid grey; height:50px; width:200px; padding:20px;
overflow:auto; overflow-clip-box:padding-box;
}
.rel { position:relative; }
.mask1 { position:absolute; width:20px; background:white; top:0; bottom:0; right:0; }
mask {
display:block;
position:absolute;
left: -1px;
bottom: -1px;
height: 25px;
width: 80%;
background:black;
}
</style>
</head>
<body>
<div style="position:relative;">
<div contenteditable=true spellcheck=false tabindex=0 id=x class="rel block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<span style="padding-right:20px">X</span><div class=mask1></div></div>
<mask></mask>
</div>
<script>
var x = document.getElementById('x');
x.focus();
window.getSelection().collapse(x,0);
</script>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
html,body {
color:black; background-color:white; font:16px monospace; padding:0; margin:7px;
}
.block {
border:1px solid grey; height:50px; width:200px; padding:20px;
overflow:auto; overflow-clip-box:content-box;
}
mask {
display:block;
position:absolute;
left: -1px;
bottom: -1px;
height: 25px;
width: 80%;
background:black;
}
</style>
</head>
<body>
<div style="position:relative;">
<div contenteditable=true spellcheck=false tabindex=0 id=x class="block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div>
<mask></mask>
</div>
<script>
var x = document.getElementById('x');
x.focus();
window.getSelection().collapse(x,0);
</script>
</body>
</html>

View File

@ -0,0 +1,42 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
html,body {
color:black; background-color:white; font:16px monospace; padding:0; margin:7px;
}
.block {
border:1px solid grey; height:50px; width:200px; padding:20px;
overflow:auto; overflow-clip-box:padding-box;
line-height:1px;
}
.rel { position:relative; }
.mask1 { position:absolute; width:20px; background:white; top:0; bottom:0; right:0; }
.mask2 { position:absolute; height:20px; background:white; top:0; left:40px; right:0; }
mask {
display:block;
position:absolute;
left: -1px;
bottom: -1px;
height: 25px;
width: 80%;
background:black;
}
</style>
</head>
<body>
<div style="position:relative;">
<div contenteditable=true spellcheck=false tabindex=0 id=x class="rel block">&nbsp;&nbsp;&nbsp;&nbsp;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<span style="padding-right:20px">X</span><div class=mask2></div><div class=mask1></div></div>
<mask></mask>
</div>
<script>
var x = document.getElementById('x');
x.focus();
window.getSelection().collapse(x,0);
</script>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
html,body {
color:black; background-color:white; font:16px monospace; padding:0; margin:7px;
}
.block {
border:1px solid grey; height:50px; width:200px; padding:20px;
overflow:auto; overflow-clip-box:content-box;
line-height:1px;
}
.rel { position:relative; }
mask {
display:block;
position:absolute;
left: -1px;
bottom: -1px;
height: 25px;
width: 80%;
background:black;
}
</style>
</head>
<body>
<div style="position:relative;">
<div contenteditable=true spellcheck=false tabindex=0 id=x class="block">&nbsp;&nbsp;&nbsp;&nbsp;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div>
<mask></mask>
</div>
<script>
var x = document.getElementById('x');
x.focus();
window.getSelection().collapse(x,0);
</script>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
html,body {
color:black; background-color:white; font:16px monospace; padding:0; margin:7px;
}
div {
width: 100px; padding-right:50px; overflow-clip-box:padding-box;
overflow:hidden;
}
.rel { position:relative; }
.mask5 { position:absolute; height:40px; background:white; top:3px; left:0px; width:50px; }
</style>
</head>
<body>
<div contenteditable=true spellcheck=false tabindex=0 id=x class="block"><span style="padding-right:50px">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</span></div>
<script>
var x = document.getElementById('x');
x.focus();
x.scrollLeft=100000
window.getSelection().collapse(x,1);
</script>
</body>
</html>

View File

@ -0,0 +1,26 @@
<!DOCTYPE HTML>
<html><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
html,body {
color:black; background-color:white; font:16px monospace; padding:0; margin:7px;
}
div {
width: 100px; padding-right:50px; overflow-clip-box:content-box;
overflow:hidden;
}
</style>
</head>
<body>
<div contenteditable=true spellcheck=false tabindex=0 id=x class="block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div>
<script>
var x = document.getElementById('x');
x.focus();
x.scrollLeft=100000
window.getSelection().collapse(x,1);
</script>
</body>
</html>

View File

@ -144,6 +144,12 @@ support-files =
bug682712-1-ref.html
bug746993-1.html
bug746993-1-ref.html
bug966992-1.html
bug966992-1-ref.html
bug966992-2.html
bug966992-2-ref.html
bug966992-3.html
bug966992-3-ref.html
[test_bug514127.html]
[test_bug518777.html]
[test_bug548545.xhtml]

View File

@ -142,6 +142,11 @@ if (navigator.appVersion.indexOf("Android") == -1 &&
SpecialPowers.Services.appinfo.name != "B2G") {
tests.push([ 'bug512295-1.html' , 'bug512295-1-ref.html' ]);
tests.push([ 'bug512295-2.html' , 'bug512295-2-ref.html' ]);
tests.push(function() {SpecialPowers.setBoolPref("layout.css.overflow-clip-box.enabled", true);});
tests.push([ 'bug966992-1.html' , 'bug966992-1-ref.html' ]);
tests.push([ 'bug966992-2.html' , 'bug966992-2-ref.html' ]);
tests.push([ 'bug966992-3.html' , 'bug966992-3-ref.html' ]);
tests.push(function() {SpecialPowers.setBoolPref("layout.css.overflow-clip-box.enabled", false);});
} else {
is(SpecialPowers.getIntPref("layout.spellcheckDefault"), 0, "Spellcheck should be turned off for this platrom or this if..else check removed");
}

View File

@ -0,0 +1,73 @@
<!DOCTYPE HTML>
<html class="reftest-wait"><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
font-face {
font-family: DejaVuSansMono;
src: url(../fonts/DejaVuSansMono.woff),url(DejaVuSansMono.woff);
}
html,body {
color:black; background-color:white; font:16px DejaVuSansMono!important; padding:0; margin:7px;
}
input {
width: 100px; padding:50px; -moz-appearance:none; overflow-clip-box:padding-box;
border: 3px solid black;
}
textarea, #textarea {
width: 160px; height:110px; padding:40px; overflow:scroll; -moz-appearance:none; overflow-clip-box:padding-box;
border: 3px solid black;
}
#textarea { word-break: break-all; font:14px DejaVuSansMono!important; }
p {
position:absolute;
margin:0;
width:70%;
height: 1px;
background:magenta;
}
.rel p { width:200%; }
.block {
border:1px solid grey; height:50px; width:200px; padding:20px;
overflow:auto; overflow-clip-box:padding-box;
}
.rel { position:relative; }
.mask1 { position:absolute; width:20px; background:white; top:0; bottom:0; right:0; }
.mask2 { position:absolute; width:20px; background:white; top:0px; bottom:-15px; right:220px; z-index:99; }
.mask3 { position:absolute; width:20px; background:white; top:0; bottom:0; left:200px; }
.mask4 { position:absolute; height:40px; background:white; top:4px; left:3px; width:210px; z-index:99; }
.mask5 { position:absolute; height:40px; background:white; top:3px; right:3px; width:50px; }
</style>
<script>
function runTest() {
// the timeout is for avoiding differences in scrollbar fading
document.documentElement.removeAttribute("class");
}
</script>
</head>
<body onload="setTimeout(runTest,5000)">
<div class="rel block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<p style="padding-right:20px"></p><div class=mask1></div></div>
<div style="float:right">
<div class="rel block" style="box-sizing:border-box;height:90px"><span style="padding-right:20px">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</span><div class=mask1></div></div>
</div>
<div class="rel block"><span style="padding-right:20px">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</span><p></p><div class=mask1></div></div>
<div id="d1" class="rel block"><span style="padding-right:20px">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</span><span style="position:relative;"><div class=mask2></div><div class=mask1></div></span><p></p></div>
<script>
document.getElementById("d1").scrollLeft = "100000";
</script>
<div class="block"><span style="padding-right:20px"><span style="position:relative;"><div class=mask3></div>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</span></span><p></p></div>
<span style="position:relative"><input spellcheck=false type="text" placeholder="someveryveryveryveryverylongvalue"><div class=mask5></div></span>
<span style="position:relative"><input spellcheck=false type="text" value="someveryveryveryveryverylongvalue"><div class=mask5></div></span><br>
<span style="position:relative"><input spellcheck=false type="password" value="someveryveryveryveryverylongpassword"><div class=mask5></div></span>
</body>
</html>

View File

@ -0,0 +1,65 @@
<!DOCTYPE HTML>
<html class="reftest-wait"><head>
<meta charset="utf-8">
<title>Testcases for overflow-clip-box:content-box</title>
<style type="text/css">
font-face {
font-family: DejaVuSansMono;
src: url(../fonts/DejaVuSansMono.woff),url(DejaVuSansMono.woff);
}
html,body {
color:black; background-color:white; font:16px DejaVuSansMono!important; padding:0; margin:7px;
}
input {
width: 100px; padding:50px; -moz-appearance:none; overflow-clip-box:content-box;
border: 3px solid black;
}
textarea {
width: 160px; height:110px; padding:40px; overflow:scroll; -moz-appearance:none; overflow-clip-box:content-box;
border: 3px solid black;font:14px DejaVuSansMono!important;
}
p {
position:absolute;
margin:0;
width:70%;
height: 1px;
background:magenta;
}
.rel p { width:200%; }
.block {
border:1px solid grey; height:50px; width:200px; padding:20px;
overflow:auto; overflow-clip-box:content-box;
}
.rel { position:relative; }
</style>
<script>
function runTest() {
// the timeout is for avoiding differences in scrollbar fading
document.documentElement.removeAttribute("class");
}
</script>
</head>
<body onload="setTimeout(runTest,5000)">
<div class="rel block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<p></p></div>
<div style="float:right">
<div class="block" style="-moz-box-sizing:border-box;height:90px">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</div>
</div>
<div class="rel block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<p></p></div>
<div id="d1" class="rel block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<p></p></div>
<script>
document.getElementById("d1").scrollLeft = "100000";
</script>
<div class="block">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX<p></p></div>
<input spellcheck=false type="text" placeholder="someveryveryveryveryverylongvalue">
<input spellcheck=false type="text" value="someveryveryveryveryverylongvalue"><br>
<input spellcheck=false type="password" value="someveryveryveryveryverylongpassword">
</body>
</html>

View File

@ -239,7 +239,7 @@ skip-if(B2G) == 234964-1.html 234964-1-ref.html
== 240029-1.html 240029-1-ref.html
== 240470-1.html 240470-1-ref.html
skip-if(B2G) == 240933-1.html 240933-1-ref.html
skip-if(B2G) == 240933-2.html 240933-2-ref.html
skip-if(Android||B2G) == 240933-2.html 240933-2-ref.html
== 243266-1.html 243266-1-ref.html
== 243302-1.html 243302-1-ref.html
skip-if(B2G) == 243519-1.html 243519-1-ref.html
@ -1796,5 +1796,6 @@ fuzzy-if(OSX==10.6,2,30) == 933264-1.html 933264-1-ref.html
== 944291-1.html 944291-1-ref.html
== 957770-1.svg 957770-1-ref.svg
== 960277-1.html 960277-1-ref.html
pref(layout.css.overflow-clip-box.enabled,true) fuzzy(50,10) == 966992-1.html 966992-1-ref.html
skip-if(Android) == 966510-1.html 966510-1-ref.html # scrollable elements other than the root probably won't work well on android until bug 776030 is fixed
skip-if(Android) == 966510-2.html 966510-2-ref.html # same as above