mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
Update CSS tests to revision 0698c2aa9ead844b6d7d10eafb096cb1118e13ef
This commit is contained in:
parent
9aa1b1e408
commit
35c74aecc2
11290 changed files with 92400 additions and 49214 deletions
|
@ -22,7 +22,7 @@
|
|||
position: absolute;
|
||||
top: 1px;
|
||||
}
|
||||
|
||||
|
||||
div
|
||||
{
|
||||
border-top: lime solid 1px;
|
||||
|
@ -39,7 +39,7 @@
|
|||
<body>
|
||||
|
||||
<p id="expected-results">A thin green horizontal line should appear at exactly 200px<img src="support/ruler-v-100px-200px-300px.png" width="55" height="350" alt="Image download support must be enabled"></p>
|
||||
|
||||
|
||||
<div></div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
position: absolute;
|
||||
top: 42px;
|
||||
}
|
||||
|
||||
|
||||
div
|
||||
{
|
||||
border-left: lime solid 1px;
|
||||
|
@ -39,7 +39,7 @@
|
|||
<body>
|
||||
|
||||
<p id="expected-results">A thin green vertical line should appear at exactly 400px<img src="support/ruler-h-200px-400px.png" width="700" height="18" alt="Image download support must be enabled"></p>
|
||||
|
||||
|
||||
<div></div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<p>Test passes if the 2 lines of "Filler Text" match.</p>
|
||||
|
||||
<div>Filler Text</div>
|
||||
|
||||
|
||||
<div>Filler Text</div>
|
||||
|
||||
</body>
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
<style type="text/css">
|
||||
div
|
||||
{
|
||||
background-color: navy;
|
||||
background-color: navy;
|
||||
border: yellow solid medium;
|
||||
color: yellow;
|
||||
font: 900 2em "Courier New", Ahem, Marlett, Arial, sans-serif;
|
||||
color: yellow;
|
||||
font: 900 2em "Courier New", Ahem, Marlett, Arial, sans-serif;
|
||||
margin: 1em;
|
||||
padding: 0 1em;
|
||||
}
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
p {color: navy; font-size: 4em; margin: 0.25em;}
|
||||
|
||||
span.Times {font-family: "Times New Roman";}
|
||||
|
||||
|
||||
span.Arial {font-family: Arial;}
|
||||
|
||||
|
||||
span.CourierNew {font-family: "Courier New";}
|
||||
</style>
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
body { font-size: 36px; }
|
||||
span#verify { font-family: CSSTest Verify; }
|
||||
p {
|
||||
font-family: "CSSTest FamilyName";
|
||||
font-family: "CSSTest FamilyName";
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
margin-bottom: 10px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
|
||||
div#first {margin-top: 21px;}
|
||||
</style>
|
||||
|
||||
|
|
|
@ -20,15 +20,15 @@
|
|||
font-size: xx-small;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
|
||||
span + span {font-size: x-small;}
|
||||
|
||||
|
||||
span + span + span {font-size: small;}
|
||||
|
||||
|
||||
span + span + span + span {font-size: medium;}
|
||||
|
||||
span + span + span + span + span {font-size: large;}
|
||||
|
||||
|
||||
span + span + span + span + span {font-size: large;}
|
||||
|
||||
span + span + span + span + span + span {font-size: x-large;}
|
||||
|
||||
span + span + span + span + span + span + span {font-size: xx-large;}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
line-height: 1;
|
||||
margin: 1em 0em;
|
||||
}
|
||||
|
||||
|
||||
span
|
||||
{
|
||||
font-family: Ahem;
|
||||
|
|
|
@ -10,9 +10,9 @@
|
|||
p {color: navy;}
|
||||
|
||||
span.Times {font-size: 4em; font-family: "Times New Roman";}
|
||||
|
||||
|
||||
span.Arial {font-size: 4em; font-family: Arial;}
|
||||
|
||||
|
||||
span.CourierNew {font-size: 4em; font-family: "Courier New";}
|
||||
</style>
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Reference rendering - pass if the lines of Filler Text below match</title>
|
||||
<link rel="author" title="Opera Software" href="https://opera.com">
|
||||
</head>
|
||||
<body>
|
||||
<p>Test passes if the lines of "Filler Text" below match.</p>
|
||||
<div>Filler Text</div>
|
||||
<div>Filler Text</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Reference rendering - pass if the lines of Filler Text below match, bold</title>
|
||||
<link rel="author" title="Opera Software" href="https://opera.com">
|
||||
<link rel="mismatch" href="reference/pass_if_filler_text_match.htm">
|
||||
<style type="text/css">
|
||||
div {
|
||||
font-weight: bold;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>Test passes if the lines of "Filler Text" below match.</p>
|
||||
<div>Filler Text</div>
|
||||
<div>Filler Text</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,18 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<title>Reference rendering - pass if the lines of Filler Text below match, small-caps</title>
|
||||
<link rel="author" title="Opera Software" href="https://opera.com">
|
||||
<link rel="mismatch" href="reference/pass_if_filler_text_match.htm">
|
||||
<style type="text/css">
|
||||
div {
|
||||
font-variant: small-caps;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p>Test passes if the lines of "Filler Text" below match.</p>
|
||||
<div>Filler Text</div>
|
||||
<div>Filler Text</div>
|
||||
</body>
|
||||
</html>
|
|
@ -1,7 +1,7 @@
|
|||
|
||||
/* This file is autogenerated by makegsubfonts.py */
|
||||
|
||||
/*
|
||||
/*
|
||||
Features defined in gsubtest fonts with associated base
|
||||
codepoints for each feature:
|
||||
|
||||
|
|
|
@ -59,38 +59,38 @@ def makeLookup1():
|
|||
f = open(tempShellSourcePath, "wb")
|
||||
f.write(ttxData)
|
||||
f.close()
|
||||
|
||||
|
||||
# compile the shell
|
||||
shell = TTFont(sfntVersion="OTTO")
|
||||
shell.importXML(tempShellSourcePath)
|
||||
shell.save(shellTempPath)
|
||||
os.remove(tempShellSourcePath)
|
||||
|
||||
|
||||
# load the shell
|
||||
shell = TTFont(shellTempPath)
|
||||
|
||||
|
||||
# grab the PASS and FAIL data
|
||||
hmtx = shell["hmtx"]
|
||||
glyphSet = shell.getGlyphSet()
|
||||
|
||||
|
||||
failGlyph = glyphSet["F"]
|
||||
failGlyph.decompile()
|
||||
failGlyphProgram = list(failGlyph.program)
|
||||
failGlyphMetrics = hmtx["F"]
|
||||
|
||||
|
||||
passGlyph = glyphSet["P"]
|
||||
passGlyph.decompile()
|
||||
passGlyphProgram = list(passGlyph.program)
|
||||
passGlyphMetrics = hmtx["P"]
|
||||
|
||||
|
||||
# grab some tables
|
||||
hmtx = shell["hmtx"]
|
||||
cmap = shell["cmap"]
|
||||
|
||||
|
||||
# start the glyph order
|
||||
existingGlyphs = [".notdef", "space", "F", "P"]
|
||||
glyphOrder = list(existingGlyphs)
|
||||
|
||||
|
||||
# start the CFF
|
||||
cff = shell["CFF "].cff
|
||||
globalSubrs = cff.GlobalSubrs
|
||||
|
@ -99,13 +99,13 @@ def makeLookup1():
|
|||
private = topDict.Private
|
||||
charStrings = topDict.CharStrings
|
||||
charStringsIndex = charStrings.charStringsIndex
|
||||
|
||||
|
||||
features = sorted(mapping)
|
||||
|
||||
# build the outline, hmtx and cmap data
|
||||
cp = baseCodepoint
|
||||
for index, tag in enumerate(features):
|
||||
|
||||
|
||||
# tag.pass
|
||||
glyphName = "%s.pass" % tag
|
||||
glyphOrder.append(glyphName)
|
||||
|
@ -119,14 +119,14 @@ def makeLookup1():
|
|||
charStrings=charStrings
|
||||
)
|
||||
hmtx[glyphName] = passGlyphMetrics
|
||||
|
||||
|
||||
for table in cmap.tables:
|
||||
if table.format == 4:
|
||||
table.cmap[cp] = glyphName
|
||||
else:
|
||||
raise NotImplementedError, "Unsupported cmap table format: %d" % table.format
|
||||
cp += 1
|
||||
|
||||
|
||||
# tag.fail
|
||||
glyphName = "%s.fail" % tag
|
||||
glyphOrder.append(glyphName)
|
||||
|
@ -140,7 +140,7 @@ def makeLookup1():
|
|||
charStrings=charStrings
|
||||
)
|
||||
hmtx[glyphName] = failGlyphMetrics
|
||||
|
||||
|
||||
for table in cmap.tables:
|
||||
if table.format == 4:
|
||||
table.cmap[cp] = glyphName
|
||||
|
@ -152,15 +152,15 @@ def makeLookup1():
|
|||
|
||||
# set the glyph order
|
||||
shell.setGlyphOrder(glyphOrder)
|
||||
|
||||
|
||||
# start the GSUB
|
||||
shell["GSUB"] = newTable("GSUB")
|
||||
gsub = shell["GSUB"].table = GSUB()
|
||||
gsub.Version = 1.0
|
||||
|
||||
|
||||
# make a list of all the features we will make
|
||||
featureCount = len(features)
|
||||
|
||||
|
||||
# set up the script list
|
||||
scriptList = gsub.ScriptList = ScriptList()
|
||||
scriptList.ScriptCount = 1
|
||||
|
@ -176,7 +176,7 @@ def makeLookup1():
|
|||
defaultLangSys.LookupOrder = None
|
||||
script.LangSysCount = 0
|
||||
script.LangSysRecord = []
|
||||
|
||||
|
||||
# set up the feature list
|
||||
featureList = gsub.FeatureList = FeatureList()
|
||||
featureList.FeatureCount = featureCount
|
||||
|
@ -191,7 +191,7 @@ def makeLookup1():
|
|||
feature.FeatureParams = None
|
||||
feature.LookupCount = 1
|
||||
feature.LookupListIndex = [index]
|
||||
|
||||
|
||||
# write the lookups
|
||||
lookupList = gsub.LookupList = LookupList()
|
||||
lookupList.LookupCount = featureCount
|
||||
|
@ -213,16 +213,16 @@ def makeLookup1():
|
|||
"%s.fail" % tag : "%s.pass" % tag,
|
||||
}
|
||||
lookup.SubTable.append(subtable)
|
||||
|
||||
|
||||
path = outputPath % 1 + ".otf"
|
||||
if os.path.exists(path):
|
||||
os.remove(path)
|
||||
shell.save(path)
|
||||
|
||||
|
||||
# get rid of the shell
|
||||
if os.path.exists(shellTempPath):
|
||||
os.remove(shellTempPath)
|
||||
|
||||
|
||||
def makeLookup3():
|
||||
# make a variation of the shell TTX data
|
||||
f = open(shellSourcePath)
|
||||
|
@ -233,38 +233,38 @@ def makeLookup3():
|
|||
f = open(tempShellSourcePath, "wb")
|
||||
f.write(ttxData)
|
||||
f.close()
|
||||
|
||||
|
||||
# compile the shell
|
||||
shell = TTFont(sfntVersion="OTTO")
|
||||
shell.importXML(tempShellSourcePath)
|
||||
shell.save(shellTempPath)
|
||||
os.remove(tempShellSourcePath)
|
||||
|
||||
|
||||
# load the shell
|
||||
shell = TTFont(shellTempPath)
|
||||
|
||||
|
||||
# grab the PASS and FAIL data
|
||||
hmtx = shell["hmtx"]
|
||||
glyphSet = shell.getGlyphSet()
|
||||
|
||||
|
||||
failGlyph = glyphSet["F"]
|
||||
failGlyph.decompile()
|
||||
failGlyphProgram = list(failGlyph.program)
|
||||
failGlyphMetrics = hmtx["F"]
|
||||
|
||||
|
||||
passGlyph = glyphSet["P"]
|
||||
passGlyph.decompile()
|
||||
passGlyphProgram = list(passGlyph.program)
|
||||
passGlyphMetrics = hmtx["P"]
|
||||
|
||||
|
||||
# grab some tables
|
||||
hmtx = shell["hmtx"]
|
||||
cmap = shell["cmap"]
|
||||
|
||||
|
||||
# start the glyph order
|
||||
existingGlyphs = [".notdef", "space", "F", "P"]
|
||||
glyphOrder = list(existingGlyphs)
|
||||
|
||||
|
||||
# start the CFF
|
||||
cff = shell["CFF "].cff
|
||||
globalSubrs = cff.GlobalSubrs
|
||||
|
@ -273,13 +273,13 @@ def makeLookup3():
|
|||
private = topDict.Private
|
||||
charStrings = topDict.CharStrings
|
||||
charStringsIndex = charStrings.charStringsIndex
|
||||
|
||||
|
||||
features = sorted(mapping)
|
||||
|
||||
# build the outline, hmtx and cmap data
|
||||
cp = baseCodepoint
|
||||
for index, tag in enumerate(features):
|
||||
|
||||
|
||||
# tag.pass
|
||||
glyphName = "%s.pass" % tag
|
||||
glyphOrder.append(glyphName)
|
||||
|
@ -293,7 +293,7 @@ def makeLookup3():
|
|||
charStrings=charStrings
|
||||
)
|
||||
hmtx[glyphName] = passGlyphMetrics
|
||||
|
||||
|
||||
# tag.fail
|
||||
glyphName = "%s.fail" % tag
|
||||
glyphOrder.append(glyphName)
|
||||
|
@ -307,7 +307,7 @@ def makeLookup3():
|
|||
charStrings=charStrings
|
||||
)
|
||||
hmtx[glyphName] = failGlyphMetrics
|
||||
|
||||
|
||||
# tag.default
|
||||
glyphName = "%s.default" % tag
|
||||
glyphOrder.append(glyphName)
|
||||
|
@ -321,14 +321,14 @@ def makeLookup3():
|
|||
charStrings=charStrings
|
||||
)
|
||||
hmtx[glyphName] = passGlyphMetrics
|
||||
|
||||
|
||||
for table in cmap.tables:
|
||||
if table.format == 4:
|
||||
table.cmap[cp] = glyphName
|
||||
else:
|
||||
raise NotImplementedError, "Unsupported cmap table format: %d" % table.format
|
||||
cp += 1
|
||||
|
||||
|
||||
# tag.alt1,2,3
|
||||
for i in range(1,4):
|
||||
glyphName = "%s.alt%d" % (tag, i)
|
||||
|
@ -349,18 +349,18 @@ def makeLookup3():
|
|||
else:
|
||||
raise NotImplementedError, "Unsupported cmap table format: %d" % table.format
|
||||
cp += 1
|
||||
|
||||
|
||||
# set the glyph order
|
||||
shell.setGlyphOrder(glyphOrder)
|
||||
|
||||
|
||||
# start the GSUB
|
||||
shell["GSUB"] = newTable("GSUB")
|
||||
gsub = shell["GSUB"].table = GSUB()
|
||||
gsub.Version = 1.0
|
||||
|
||||
|
||||
# make a list of all the features we will make
|
||||
featureCount = len(features)
|
||||
|
||||
|
||||
# set up the script list
|
||||
scriptList = gsub.ScriptList = ScriptList()
|
||||
scriptList.ScriptCount = 1
|
||||
|
@ -376,7 +376,7 @@ def makeLookup3():
|
|||
defaultLangSys.LookupOrder = None
|
||||
script.LangSysCount = 0
|
||||
script.LangSysRecord = []
|
||||
|
||||
|
||||
# set up the feature list
|
||||
featureList = gsub.FeatureList = FeatureList()
|
||||
featureList.FeatureCount = featureCount
|
||||
|
@ -391,7 +391,7 @@ def makeLookup3():
|
|||
feature.FeatureParams = None
|
||||
feature.LookupCount = 1
|
||||
feature.LookupListIndex = [index]
|
||||
|
||||
|
||||
# write the lookups
|
||||
lookupList = gsub.LookupList = LookupList()
|
||||
lookupList.LookupCount = featureCount
|
||||
|
@ -415,16 +415,16 @@ def makeLookup3():
|
|||
"%s.alt3" % tag : ["%s.fail" % tag, "%s.fail" % tag, "%s.pass" % tag]
|
||||
}
|
||||
lookup.SubTable.append(subtable)
|
||||
|
||||
|
||||
path = outputPath % 3 + ".otf"
|
||||
if os.path.exists(path):
|
||||
os.remove(path)
|
||||
shell.save(path)
|
||||
|
||||
|
||||
# get rid of the shell
|
||||
if os.path.exists(shellTempPath):
|
||||
os.remove(shellTempPath)
|
||||
|
||||
|
||||
def makeJavascriptData():
|
||||
features = sorted(mapping)
|
||||
outStr = []
|
||||
|
@ -459,7 +459,7 @@ def makeJavascriptData():
|
|||
for tag in features:
|
||||
taglist.append("\"%s\": 0x%x" % (tag, cp))
|
||||
cp += 4
|
||||
|
||||
|
||||
outStr.append(textwrap.fill(", ".join(taglist), initial_indent=" ", subsequent_indent=" "))
|
||||
outStr.append("};");
|
||||
outStr.append("");
|
||||
|
@ -483,4 +483,4 @@ makeLookup3()
|
|||
# output javascript data
|
||||
|
||||
print "Making javascript data file..."
|
||||
makeJavascriptData()
|
||||
makeJavascriptData()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue