diff --git a/.gitignore b/.gitignore index c9cc0d5b020607eec9f53b5d87ac85c65f18cd0a..eff00ce6675b9eb7c0dae3c9f48ccb3dcd860134 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,17 @@ -Source/bin/ -Source/obj/ -Source/Svg.csproj.user -Source/Svg.suo +Source/**/bin/ +Source/**/obj/ +Source/**/*.csproj.user +Source/**/*.suo Source/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache Samples/SVGViewer/obj/ Samples/SVGViewer/bin/ Samples/SVGViewer/SVGViewer.OpenCover.Settings -*.dll -*.pdb +Source/**/*.dll +Source/**/*.pdb +Tests/**/bin/ +Tests/**/obj/ +Tests/**/*.csproj.user +Tests/**/*.suo +*.trx +Source/TestResults/ \ No newline at end of file diff --git a/Samples/SvgExamples/Workflow.svg b/Samples/SvgExamples/Workflow.svg deleted file mode 100644 index 0ecd70c982fc88b54cdc58bd7a2b5332838f6d14..0000000000000000000000000000000000000000 --- a/Samples/SvgExamples/Workflow.svg +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -ClosedStart - - - -ClosedSubmit ECO - -ClosedMDM Review - - - -ClosedNeed Info - - - -ActiveECO Plan Approval - - - -PendingMDM Review - - - -PendingPrint/Drawing Update - - - -PendingECO Pre-Approval - - - -PendingInterim Workflow Resolution - - - -PendingDraft Changes - - - -PendingApproval Resolution - - - -PendingChange Review - - - -PendingChange Review - - - -PendingPre-Prod Approval Resolution - - - -PendingImpl. Plan Review - - - -PendingPre-Production Approval - - - -PendingEffectivity Wait - - - -PendingImpl. Approval - - - -PendingImpl. Approved - - - -PendingCancel - - - -PendingClose Change -Go -Cancel ECO -Submit -Unsubmit -iLink - Pre-Approval -Cancel ECO -Legacy Workflow -iLink - Pre-Approved -Pre-Production Workflow -Interim Workflow (Approval) -Interim Workflow (Prints) -Added Info -Re-Review -Approve ECO -Need more info -Reject -Prints Updated -Unsubmit -Approve -Reject -Unsubmit -Redo Approval -Submit for Review -Repeat Need Info -Repeat Approval -Reject -Approve -Rework -Approve -Unsubmit -Redo Approval -Approve Plan -Approve & Implement -Reject ECO -Approve & Wait -Req. Impl. Approval -Ready -Not Ready -Fully Impl/Close -Continue Wait - diff --git a/Source/Basic Shapes/SvgCircle.cs b/Source/Basic Shapes/SvgCircle.cs index 29979c47f98ef8dea147218e52666b3c1a751a00..93a4fcd989e174559ae5580a062fa6006fc4f334 100644 --- a/Source/Basic Shapes/SvgCircle.cs +++ b/Source/Basic Shapes/SvgCircle.cs @@ -81,7 +81,7 @@ namespace Svg /// The rectangular bounds of the circle. public override RectangleF Bounds { - get { return this.Path.GetBounds(); } + get { return this.Path(null).GetBounds(); } } /// @@ -98,24 +98,19 @@ namespace Svg /// /// Gets the representing this element. /// - public override GraphicsPath Path + public override GraphicsPath Path(SvgRenderer renderer) { - get + if (this._path == null || this.IsPathDirty) { - if (this._path == null || this.IsPathDirty) - { - _path = new GraphicsPath(); - _path.StartFigure(); - _path.AddEllipse(this.Center.ToDeviceValue().X - this.Radius.ToDeviceValue(), this.Center.ToDeviceValue().Y - this.Radius.ToDeviceValue(), 2 * this.Radius.ToDeviceValue(), 2 * this.Radius.ToDeviceValue()); - _path.CloseFigure(); - this.IsPathDirty = false; - } - return _path; - } - protected set - { - _path = value; + _path = new GraphicsPath(); + _path.StartFigure(); + var center = this.Center.ToDeviceValue(renderer, this); + var radius = this.Radius.ToDeviceValue(renderer, UnitRenderingType.Other, this); + _path.AddEllipse(center.X - radius, center.Y - radius, 2 * radius, 2 * radius); + _path.CloseFigure(); + this.IsPathDirty = false; } + return _path; } /// diff --git a/Source/Basic Shapes/SvgEllipse.cs b/Source/Basic Shapes/SvgEllipse.cs index 90f364157ab8c7193b6359c9d39e09fba7a72c86..07f93ad223a317131915f98be9c40e55d1df5fb0 100644 --- a/Source/Basic Shapes/SvgEllipse.cs +++ b/Source/Basic Shapes/SvgEllipse.cs @@ -95,34 +95,27 @@ namespace Svg /// The bounds. public override RectangleF Bounds { - get { return this.Path.GetBounds(); } + get { return this.Path(null).GetBounds(); } } /// /// Gets the for this element. /// /// - public override GraphicsPath Path + public override GraphicsPath Path(SvgRenderer renderer) { - get + if (this._path == null || this.IsPathDirty) { - if (this._path == null || this.IsPathDirty) - { - PointF center = new PointF(this._centerX.ToDeviceValue(this), this._centerY.ToDeviceValue(this, true)); - PointF radius = new PointF(this._radiusX.ToDeviceValue(this), this._radiusY.ToDeviceValue(this, true)); + var center = SvgUnit.GetDevicePoint(this._centerX, this._centerY, renderer, this); + var radius = SvgUnit.GetDevicePoint(this._radiusX, this._radiusY, renderer, this); - this._path = new GraphicsPath(); - _path.StartFigure(); - _path.AddEllipse(center.X - radius.X, center.Y - radius.Y, 2 * radius.X, 2 * radius.Y); - _path.CloseFigure(); - this.IsPathDirty = false; - } - return _path; - } - protected set - { - _path = value; + this._path = new GraphicsPath(); + _path.StartFigure(); + _path.AddEllipse(center.X - radius.X, center.Y - radius.Y, 2 * radius.X, 2 * radius.Y); + _path.CloseFigure(); + this.IsPathDirty = false; } + return _path; } /// diff --git a/Source/Basic Shapes/SvgImage.cs b/Source/Basic Shapes/SvgImage.cs index eeed03a6edd64081338ff11c84bbef32d31a6b19..a8762c9b7eb02567ab528a65c92573204582c82d 100644 --- a/Source/Basic Shapes/SvgImage.cs +++ b/Source/Basic Shapes/SvgImage.cs @@ -29,6 +29,17 @@ namespace Svg public SvgPoint Location { get { return new SvgPoint(X, Y); } + } + + /// + /// Gets or sets the aspect of the viewport. + /// + /// + [SvgAttribute("preserveAspectRatio")] + public SvgAspectRatio AspectRatio + { + get { return this.Attributes.GetAttribute("preserveAspectRatio"); } + set { this.Attributes["preserveAspectRatio"] = value; } } [SvgAttribute("x")] @@ -75,21 +86,17 @@ namespace Svg /// The bounds. public override RectangleF Bounds { - get { return new RectangleF(this.Location.ToDeviceValue(), new SizeF(this.Width, this.Height)); } + get { return new RectangleF(this.Location.ToDeviceValue(null, this), + new SizeF(this.Width.ToDeviceValue(null, UnitRenderingType.Horizontal, this), + this.Height.ToDeviceValue(null, UnitRenderingType.Vertical, this))); } } /// /// Gets the for this element. - /// - public override GraphicsPath Path + /// + public override GraphicsPath Path(SvgRenderer renderer) { - get - { - return null; - } - protected set - { - } + return null; } /// @@ -106,13 +113,72 @@ namespace Svg { if (b != null) { + var srcRect = new RectangleF(0, 0, b.Width, b.Height); + var destClip = new RectangleF(this.Location.ToDeviceValue(renderer, this), + new SizeF(Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), + Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this))); + RectangleF destRect = destClip; + this.PushTransforms(renderer); + renderer.AddClip(new Region(destClip)); this.SetClip(renderer); - RectangleF srcRect = new RectangleF(0, 0, b.Width, b.Height); - var destRect = new RectangleF(this.Location.ToDeviceValue(), - new SizeF(Width.ToDeviceValue(), Height.ToDeviceValue())); + if (AspectRatio != null && AspectRatio.Align != SvgPreserveAspectRatio.none) + { + var fScaleX = destClip.Width / srcRect.Width; + var fScaleY = destClip.Height / srcRect.Height; + var xOffset = 0.0f; + var yOffset = 0.0f; + + if (AspectRatio.Slice) + { + fScaleX = Math.Max(fScaleX, fScaleY); + fScaleY = Math.Max(fScaleX, fScaleY); + } + else + { + fScaleX = Math.Min(fScaleX, fScaleY); + fScaleY = Math.Min(fScaleX, fScaleY); + } + + switch (AspectRatio.Align) + { + case SvgPreserveAspectRatio.xMinYMin: + break; + case SvgPreserveAspectRatio.xMidYMin: + xOffset = (destClip.Width - srcRect.Width * fScaleX) / 2; + break; + case SvgPreserveAspectRatio.xMaxYMin: + xOffset = (destClip.Width - srcRect.Width * fScaleX); + break; + case SvgPreserveAspectRatio.xMinYMid: + yOffset = (destClip.Height - srcRect.Height * fScaleY) / 2; + break; + case SvgPreserveAspectRatio.xMidYMid: + xOffset = (destClip.Width - srcRect.Width * fScaleX) / 2; + yOffset = (destClip.Height - srcRect.Height * fScaleY) / 2; + break; + case SvgPreserveAspectRatio.xMaxYMid: + xOffset = (destClip.Width - srcRect.Width * fScaleX); + yOffset = (destClip.Height - srcRect.Height * fScaleY) / 2; + break; + case SvgPreserveAspectRatio.xMinYMax: + yOffset = (destClip.Height - srcRect.Height * fScaleY); + break; + case SvgPreserveAspectRatio.xMidYMax: + xOffset = (destClip.Width - srcRect.Width * fScaleX) / 2; + yOffset = (destClip.Height - srcRect.Height * fScaleY); + break; + case SvgPreserveAspectRatio.xMaxYMax: + xOffset = (destClip.Width - srcRect.Width * fScaleX); + yOffset = (destClip.Height - srcRect.Height * fScaleY); + break; + } + destRect = new RectangleF(destClip.X + xOffset, destClip.Y + yOffset, + srcRect.Width * fScaleX, srcRect.Height * fScaleY); + } + renderer.DrawImage(b, destRect, srcRect, GraphicsUnit.Pixel); this.ResetClip(renderer); @@ -129,7 +195,7 @@ namespace Svg try { // handle data/uri embedded images (http://en.wikipedia.org/wiki/Data_URI_scheme) - if (uri.Scheme == "data") + if (uri.IsAbsoluteUri && uri.Scheme == "data") { string uriString = uri.OriginalString; int dataIdx = uriString.IndexOf(",") + 1; @@ -143,14 +209,26 @@ namespace Svg return image; } + if (!uri.IsAbsoluteUri) + { + uri = new Uri(OwnerDocument.BaseUri, uri); + } + // should work with http: and file: protocol urls var httpRequest = WebRequest.Create(uri); using (WebResponse webResponse = httpRequest.GetResponse()) { MemoryStream ms = BufferToMemoryStream(webResponse.GetResponseStream()); - Image image = Bitmap.FromStream(ms); - return image; + if (uri.LocalPath.EndsWith(".svg", StringComparison.InvariantCultureIgnoreCase)) + { + var doc = SvgDocument.Open(ms); + return doc.Draw(); + } + else + { + return Bitmap.FromStream(ms); + } } } catch (Exception ex) diff --git a/Source/Basic Shapes/SvgLine.cs b/Source/Basic Shapes/SvgLine.cs index bd24ad8b6ca9360dfa16bbc4dce05c5044f09e42..05c12a055f76d9abbd07767d2e0522f6823b057d 100644 --- a/Source/Basic Shapes/SvgLine.cs +++ b/Source/Basic Shapes/SvgLine.cs @@ -92,30 +92,25 @@ namespace Svg { } - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get + if (this._path == null || this.IsPathDirty) { - if (this._path == null || this.IsPathDirty) - { - PointF start = new PointF(this.StartX.ToDeviceValue(this), this.StartY.ToDeviceValue(this, true)); - PointF end = new PointF(this.EndX.ToDeviceValue(this), this.EndY.ToDeviceValue(this, true)); + PointF start = new PointF(this.StartX.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), + this.StartY.ToDeviceValue(renderer, UnitRenderingType.Vertical, this)); + PointF end = new PointF(this.EndX.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), + this.EndY.ToDeviceValue(renderer, UnitRenderingType.Vertical, this)); - this._path = new GraphicsPath(); - this._path.AddLine(start, end); - this.IsPathDirty = false; - } - return this._path; - } - protected set - { - _path = value; + this._path = new GraphicsPath(); + this._path.AddLine(start, end); + this.IsPathDirty = false; } + return this._path; } public override System.Drawing.RectangleF Bounds { - get { return this.Path.GetBounds(); } + get { return this.Path(null).GetBounds(); } } public override SvgElement DeepCopy() diff --git a/Source/Basic Shapes/SvgPolygon.cs b/Source/Basic Shapes/SvgPolygon.cs index 9773c6b12937a6da587ab56c18ae2502d1b9b3aa..5c6fc24cf18275b9ffa7943af9aa14c6afd34a60 100644 --- a/Source/Basic Shapes/SvgPolygon.cs +++ b/Source/Basic Shapes/SvgPolygon.cs @@ -32,51 +32,44 @@ namespace Svg get { return true; } } - public override GraphicsPath Path + public override GraphicsPath Path(SvgRenderer renderer) { - get + if (this._path == null || this.IsPathDirty) { - if (this._path == null || this.IsPathDirty) - { - this._path = new GraphicsPath(); - this._path.StartFigure(); + this._path = new GraphicsPath(); + this._path.StartFigure(); - try + try + { + for (int i = 2; i < this._points.Count; i+=2) { - for (int i = 2; i < this._points.Count; i+=2) - { - PointF endPoint = new PointF(this._points[i].ToDeviceValue(this), this._points[i+1].ToDeviceValue(this)); + var endPoint = SvgUnit.GetDevicePoint(this._points[i], this._points[i+1], renderer, this); - //first line - if (_path.PointCount == 0) - { - _path.AddLine(new PointF(this._points[i-2].ToDeviceValue(this), this._points[i-1].ToDeviceValue(this)), endPoint); - } - else - { - _path.AddLine(_path.GetLastPoint(), endPoint); - } + //first line + if (_path.PointCount == 0) + { + _path.AddLine(SvgUnit.GetDevicePoint(this._points[i - 2], this._points[i - 1], renderer, this), endPoint); + } + else + { + _path.AddLine(_path.GetLastPoint(), endPoint); } } - catch - { - Trace.TraceError("Error parsing points"); - } - - this._path.CloseFigure(); - this.IsPathDirty = false; } - return this._path; - } - protected set - { - _path = value; + catch + { + Trace.TraceError("Error parsing points"); + } + + this._path.CloseFigure(); + this.IsPathDirty = false; } + return this._path; } public override RectangleF Bounds { - get { return this.Path.GetBounds(); } + get { return this.Path(null).GetBounds(); } } diff --git a/Source/Basic Shapes/SvgPolyline.cs b/Source/Basic Shapes/SvgPolyline.cs index dd9d7051a14acf6629c7e5ee2fc0fccc8ef56fa4..c499dd6c2987f8221ddd8d0579e417d368b3d9c7 100644 --- a/Source/Basic Shapes/SvgPolyline.cs +++ b/Source/Basic Shapes/SvgPolyline.cs @@ -14,39 +14,37 @@ namespace Svg public class SvgPolyline : SvgPolygon { private GraphicsPath _Path; - public override GraphicsPath Path + public override GraphicsPath Path(SvgRenderer renderer) { - get + if (_Path == null || this.IsPathDirty) { - if (_Path == null || this.IsPathDirty) - { - _Path = new GraphicsPath(); + _Path = new GraphicsPath(); - try + try + { + for (int i = 0; i < Points.Count; i += 2) { - for (int i = 0; i < Points.Count; i += 2) - { - PointF endPoint = new PointF(Points[i].ToDeviceValue(this), Points[i + 1].ToDeviceValue(this)); + PointF endPoint = new PointF(Points[i].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), + Points[i + 1].ToDeviceValue(renderer, UnitRenderingType.Vertical, this)); - // TODO: Remove unrequired first line - if (_Path.PointCount == 0) - { - _Path.AddLine(endPoint, endPoint); - } - else - { - _Path.AddLine(_Path.GetLastPoint(), endPoint); - } + // TODO: Remove unrequired first line + if (_Path.PointCount == 0) + { + _Path.AddLine(endPoint, endPoint); + } + else + { + _Path.AddLine(_Path.GetLastPoint(), endPoint); } } - catch (Exception exc) - { - Trace.TraceError("Error rendering points: " + exc.Message); - } - this.IsPathDirty = false; } - return _Path; + catch (Exception exc) + { + Trace.TraceError("Error rendering points: " + exc.Message); + } + this.IsPathDirty = false; } + return _Path; } } } \ No newline at end of file diff --git a/Source/Basic Shapes/SvgRectangle.cs b/Source/Basic Shapes/SvgRectangle.cs index a438817bb3b855097121facd99c3c5edc8fd8898..717e6c68897d6e8d2677ec94a98df96a338a44ba 100644 --- a/Source/Basic Shapes/SvgRectangle.cs +++ b/Source/Basic Shapes/SvgRectangle.cs @@ -168,101 +168,94 @@ namespace Svg /// The bounds. public override RectangleF Bounds { - get { return Path.GetBounds(); } + get { return Path(null).GetBounds(); } } /// /// Gets the for this element. /// - public override GraphicsPath Path + public override GraphicsPath Path(SvgRenderer renderer) { - get + if (_path == null || IsPathDirty) { - if (_path == null || IsPathDirty) + // If the corners aren't to be rounded just create a rectangle + if (CornerRadiusX.Value == 0.0f && CornerRadiusY.Value == 0.0f) { - // If the corners aren't to be rounded just create a rectangle - if (CornerRadiusX.Value == 0.0f && CornerRadiusY.Value == 0.0f) - { - var rectangle = new RectangleF(Location.ToDeviceValue(), - new SizeF(Width.ToDeviceValue(), Height.ToDeviceValue())); + var rectangle = new RectangleF(Location.ToDeviceValue(renderer, this), + SvgUnit.GetDeviceSize(this.Width, this.Height, renderer, this)); - _path = new GraphicsPath(); - _path.StartFigure(); - _path.AddRectangle(rectangle); - _path.CloseFigure(); - } - else - { - _path = new GraphicsPath(); - var arcBounds = new RectangleF(); - var lineStart = new PointF(); - var lineEnd = new PointF(); - var width = Width.ToDeviceValue(); - var height = Height.ToDeviceValue(); - var rx = CornerRadiusX.ToDeviceValue() * 2; - var ry = CornerRadiusY.ToDeviceValue() * 2; - var location = Location.ToDeviceValue(); + _path = new GraphicsPath(); + _path.StartFigure(); + _path.AddRectangle(rectangle); + _path.CloseFigure(); + } + else + { + _path = new GraphicsPath(); + var arcBounds = new RectangleF(); + var lineStart = new PointF(); + var lineEnd = new PointF(); + var width = Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); + var height = Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this); + var rx = CornerRadiusX.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) * 2; + var ry = CornerRadiusY.ToDeviceValue(renderer, UnitRenderingType.Vertical, this) * 2; + var location = Location.ToDeviceValue(renderer, this); - // Start - _path.StartFigure(); + // Start + _path.StartFigure(); - // Add first arc - arcBounds.Location = location; - arcBounds.Width = rx; - arcBounds.Height = ry; - _path.AddArc(arcBounds, 180, 90); + // Add first arc + arcBounds.Location = location; + arcBounds.Width = rx; + arcBounds.Height = ry; + _path.AddArc(arcBounds, 180, 90); - // Add first line - lineStart.X = Math.Min(location.X + rx, location.X + width * 0.5f); - lineStart.Y = location.Y; - lineEnd.X = Math.Max(location.X + width - rx, location.X + width * 0.5f); - lineEnd.Y = lineStart.Y; - _path.AddLine(lineStart, lineEnd); + // Add first line + lineStart.X = Math.Min(location.X + rx, location.X + width * 0.5f); + lineStart.Y = location.Y; + lineEnd.X = Math.Max(location.X + width - rx, location.X + width * 0.5f); + lineEnd.Y = lineStart.Y; + _path.AddLine(lineStart, lineEnd); - // Add second arc - arcBounds.Location = new PointF(location.X + width - rx, location.Y); - _path.AddArc(arcBounds, 270, 90); + // Add second arc + arcBounds.Location = new PointF(location.X + width - rx, location.Y); + _path.AddArc(arcBounds, 270, 90); - // Add second line - lineStart.X = location.X + width; - lineStart.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f); - lineEnd.X = lineStart.X; - lineEnd.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f); - _path.AddLine(lineStart, lineEnd); + // Add second line + lineStart.X = location.X + width; + lineStart.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f); + lineEnd.X = lineStart.X; + lineEnd.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f); + _path.AddLine(lineStart, lineEnd); - // Add third arc - arcBounds.Location = new PointF(location.X + width - rx, location.Y + height - ry); - _path.AddArc(arcBounds, 0, 90); + // Add third arc + arcBounds.Location = new PointF(location.X + width - rx, location.Y + height - ry); + _path.AddArc(arcBounds, 0, 90); - // Add third line - lineStart.X = Math.Max(location.X + width - rx, location.X + width * 0.5f); - lineStart.Y = location.Y + height; - lineEnd.X = Math.Min(location.X + rx, location.X + width * 0.5f); - lineEnd.Y = lineStart.Y; - _path.AddLine(lineStart, lineEnd); + // Add third line + lineStart.X = Math.Max(location.X + width - rx, location.X + width * 0.5f); + lineStart.Y = location.Y + height; + lineEnd.X = Math.Min(location.X + rx, location.X + width * 0.5f); + lineEnd.Y = lineStart.Y; + _path.AddLine(lineStart, lineEnd); - // Add third arc - arcBounds.Location = new PointF(location.X, location.Y + height - ry); - _path.AddArc(arcBounds, 90, 90); + // Add third arc + arcBounds.Location = new PointF(location.X, location.Y + height - ry); + _path.AddArc(arcBounds, 90, 90); - // Add fourth line - lineStart.X = location.X; - lineStart.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f); - lineEnd.X = lineStart.X; - lineEnd.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f); - _path.AddLine(lineStart, lineEnd); + // Add fourth line + lineStart.X = location.X; + lineStart.Y = Math.Max(location.Y + height - ry, location.Y + height * 0.5f); + lineEnd.X = lineStart.X; + lineEnd.Y = Math.Min(location.Y + ry, location.Y + height * 0.5f); + _path.AddLine(lineStart, lineEnd); - // Close - _path.CloseFigure(); - } - IsPathDirty = false; + // Close + _path.CloseFigure(); } - return _path; - } - protected set - { - _path = value; + IsPathDirty = false; } + return _path; } /// diff --git a/Source/Basic Shapes/SvgVisualElement.cs b/Source/Basic Shapes/SvgVisualElement.cs index fa84ceb96701ca896bb791d43b7e6047e9700169..96d19d4881a39c26a0ea83258c5b02547bbd3c75 100644 --- a/Source/Basic Shapes/SvgVisualElement.cs +++ b/Source/Basic Shapes/SvgVisualElement.cs @@ -16,7 +16,7 @@ namespace Svg /// /// Gets the for this element. /// - public abstract GraphicsPath Path { get; protected set; } + public abstract GraphicsPath Path(SvgRenderer renderer); PointF ISvgBoundable.Location { @@ -105,7 +105,7 @@ namespace Svg /// The object to render to. protected override void Render(SvgRenderer renderer) { - if ((this.Path != null) && this.Visible && this.Displayable) + if ((this.Path(renderer) != null) && this.Visible && this.Displayable) { this.PushTransforms(renderer); this.SetClip(renderer); @@ -138,12 +138,12 @@ namespace Svg { if (this.Fill != null) { - using (Brush brush = this.Fill.GetBrush(this, Math.Min(Math.Max(this.FillOpacity * this.Opacity, 0), 1))) + using (Brush brush = this.Fill.GetBrush(this, renderer, Math.Min(Math.Max(this.FillOpacity * this.Opacity, 0), 1))) { if (brush != null) { - this.Path.FillMode = this.FillRule == SvgFillRule.NonZero ? FillMode.Winding : FillMode.Alternate; - renderer.FillPath(brush, this.Path); + this.Path(renderer).FillMode = this.FillRule == SvgFillRule.NonZero ? FillMode.Winding : FillMode.Alternate; + renderer.FillPath(brush, this.Path(renderer)); } } } @@ -157,8 +157,8 @@ namespace Svg { if (this.Stroke != null) { - float strokeWidth = this.StrokeWidth.ToDeviceValue(this); - using (var pen = new Pen(this.Stroke.GetBrush(this, Math.Min(Math.Max(this.StrokeOpacity * this.Opacity, 0), 1)), strokeWidth)) + float strokeWidth = this.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this); + using (var pen = new Pen(this.Stroke.GetBrush(this, renderer, Math.Min(Math.Max(this.StrokeOpacity * this.Opacity, 0), 1)), strokeWidth)) { if (this.StrokeDashArray != null && this.StrokeDashArray.Count > 0) { @@ -166,7 +166,7 @@ namespace Svg pen.DashPattern = this.StrokeDashArray.ConvertAll(u => ((u.Value <= 0) ? 1 : u.Value) / ((strokeWidth <= 0) ? 1 : strokeWidth)).ToArray(); } - renderer.DrawPath(pen, this.Path); + renderer.DrawPath(pen, this.Path(renderer)); } } } @@ -184,7 +184,7 @@ namespace Svg if (clipPath != null) { - renderer.Clip = clipPath.GetClipRegion(this); + renderer.AddClip(clipPath.GetClipRegion(this)); } } } diff --git a/Source/Basic Shapes/SvgVisualElementStyle.cs b/Source/Basic Shapes/SvgVisualElementStyle.cs index b151aa0d86a451014dd50551a842905568338cf1..a09fa748f71a27d2fdd06a7e0ae94931ef32c5db 100644 --- a/Source/Basic Shapes/SvgVisualElementStyle.cs +++ b/Source/Basic Shapes/SvgVisualElementStyle.cs @@ -162,11 +162,7 @@ namespace Svg public virtual string FontFamily { get { return this.Attributes["font-family"] as string; } - set - { - this.Attributes["font-family"] = value; - this.IsPathDirty = true; - } + set { this.Attributes["font-family"] = value; this.IsPathDirty = true; } } /// @@ -179,15 +175,6 @@ namespace Svg set { this.Attributes["font-size"] = value; this.IsPathDirty = true; } } - public SvgUnit GetInheritedFontSize() - { - var fontSizeElement = (from e in this.ParentsAndSelf.OfType() - where e.FontSize != SvgUnit.Empty && e.FontSize != SvgUnit.None - select e).FirstOrDefault(); - return (fontSizeElement == null ? SvgUnit.None : fontSizeElement.FontSize); - } - - /// /// Refers to the boldness of the font. /// @@ -308,5 +295,71 @@ namespace Svg this.IsPathDirty = true; } } + + private const string DefaultFontFamily = "Times New Roman"; + + /// + /// Get the font information based on data stored with the text object or inherited from the parent. + /// + /// + internal System.Drawing.Font GetFont(SvgRenderer renderer) + { + // Get the font-size + float fontSize; + var fontSizeUnit = this.FontSize; + if (fontSizeUnit == SvgUnit.None) + { + fontSize = 1.0f; + } + else + { + fontSize = fontSizeUnit.ToDeviceValue(renderer, UnitRenderingType.Vertical, this); + } + + var fontStyle = System.Drawing.FontStyle.Regular; + + // Get the font-weight + switch (this.FontWeight) + { + case SvgFontWeight.bold: + case SvgFontWeight.bolder: + case SvgFontWeight.w700: + case SvgFontWeight.w800: + case SvgFontWeight.w900: + fontStyle |= System.Drawing.FontStyle.Bold; + break; + } + + // Get the font-style + switch (this.FontStyle) + { + case SvgFontStyle.italic: + case SvgFontStyle.oblique: + fontStyle |= System.Drawing.FontStyle.Italic; + break; + } + + // Get the font-family + string family = ValidateFontFamily(this.FontFamily) ?? DefaultFontFamily; + return new System.Drawing.Font(family, fontSize, fontStyle, System.Drawing.GraphicsUnit.Pixel); + } + + private static string ValidateFontFamily(string fontFamilyList) + { + // Split font family list on "," and then trim start and end spaces and quotes. + var fontParts = (fontFamilyList ?? "").Split(new[] { ',' }).Select(fontName => fontName.Trim(new[] { '"', ' ', '\'' })); + + var families = System.Drawing.FontFamily.Families; + + // Find a the first font that exists in the list of installed font families. + //styles from IE get sent through as lowercase. + foreach (var f in fontParts.Where(f => families.Any(family => family.Name.ToLower() == f.ToLower()))) + { + return f; + } + // No valid font family found from the list requested. + return null; + } + } } \ No newline at end of file diff --git a/Source/Clipping and Masking/SvgClipPath.cs b/Source/Clipping and Masking/SvgClipPath.cs index 331f07a1e12b94b66c1e2367f1fa80a710783bfd..72bc101dc0104a2025a2fb311d737082da09b2ba 100644 --- a/Source/Clipping and Masking/SvgClipPath.cs +++ b/Source/Clipping and Masking/SvgClipPath.cs @@ -61,11 +61,11 @@ namespace Svg { var graphicsElement = element as SvgVisualElement; - if (graphicsElement != null && graphicsElement.Path != null) + if (graphicsElement != null && graphicsElement.Path(null) != null) { path.FillMode = (graphicsElement.ClipRule == SvgClipRule.NonZero) ? FillMode.Winding : FillMode.Alternate; - GraphicsPath childPath = graphicsElement.Path; + GraphicsPath childPath = graphicsElement.Path(null); if (graphicsElement.Transforms != null) { diff --git a/Source/Css/CssQuery.cs b/Source/Css/CssQuery.cs index 911125c9ad0cb72ebe4d27c3c66bfc715b672d1d..fcb2bc00525237ea837db25f8cd245b16e9c8683 100644 --- a/Source/Css/CssQuery.cs +++ b/Source/Css/CssQuery.cs @@ -20,21 +20,59 @@ namespace Svg.Css { if (selector is SimpleSelector) { - var simpleCode = selector.ToString(); - if (simpleCode.StartsWith("#")) + var simpleCode = selector.ToString().ToLowerInvariant(); + if (simpleCode.StartsWith(":not(")) { + simpleCode = simpleCode.Substring(5, simpleCode.Length - 6); + return GetSpecificity(new SimpleSelector(simpleCode)); + } + else if (simpleCode.StartsWith("#")) + { + // ID selector return 1 << 12; } - else if (simpleCode.StartsWith(".")) + else if (simpleCode.StartsWith("::") || simpleCode == ":after" || simpleCode == ":before" || + simpleCode == ":first-letter" || simpleCode == ":first-line" || simpleCode == ":selection") { + // pseudo-element + return 1 << 4; + } + else if (simpleCode.StartsWith(".") || simpleCode.StartsWith(":") || simpleCode.StartsWith("[")) + { + // class, pseudo-class, attribute return 1 << 8; } + else if (selector == SimpleSelector.All) + { + // all selector + return 0; + } else { + // element selector return 1 << 4; } } - return 0; + else + { + var list = selector as IEnumerable; + if (list != null) + { + return (from s in list select GetSpecificity(s)).Aggregate((p, c) => p + c); + } + else + { + var complex = selector as IEnumerable; + if (complex != null) + { + return (from s in complex select GetSpecificity(s.Selector)).Aggregate((p, c) => p + c); + } + else + { + return 0; + } + } + } } } } diff --git a/Source/DataTypes/ISvgSupportsCoordinateUnits.cs b/Source/DataTypes/ISvgSupportsCoordinateUnits.cs new file mode 100644 index 0000000000000000000000000000000000000000..21a3cad19f9ab7f7e05fb980e3dc800f65e9a7e0 --- /dev/null +++ b/Source/DataTypes/ISvgSupportsCoordinateUnits.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Svg +{ + internal interface ISvgSupportsCoordinateUnits + { + SvgCoordinateUnits GetUnits(); + } +} diff --git a/Source/DataTypes/SvgCoordinateUnits.cs b/Source/DataTypes/SvgCoordinateUnits.cs index 6db0ffa2643c43fc25239bc05045d2b51ad3423f..9fdafdbc05b85e0d80a29179f923a4a3ee623317 100644 --- a/Source/DataTypes/SvgCoordinateUnits.cs +++ b/Source/DataTypes/SvgCoordinateUnits.cs @@ -11,12 +11,12 @@ namespace Svg public enum SvgCoordinateUnits { /// - /// Indicates that the coordinate system of the entire document is to be used. + /// Indicates that the coordinate system of the owner element is to be used. /// - UserSpaceOnUse, + ObjectBoundingBox, /// - /// Indicates that the coordinate system of the owner element is to be used. + /// Indicates that the coordinate system of the entire document is to be used. /// - ObjectBoundingBox + UserSpaceOnUse } } diff --git a/Source/DataTypes/SvgPoint.cs b/Source/DataTypes/SvgPoint.cs index 5673ef7635e5191a541bafda653aa50e33406916..e15358d16aa19592f762d1f9e356a2d774bbe52b 100644 --- a/Source/DataTypes/SvgPoint.cs +++ b/Source/DataTypes/SvgPoint.cs @@ -23,9 +23,9 @@ namespace Svg set { this.y = value; } } - public PointF ToDeviceValue() + public PointF ToDeviceValue(SvgRenderer renderer, SvgElement owner) { - return new PointF(this.X.ToDeviceValue(), this.Y.ToDeviceValue()); + return SvgUnit.GetDevicePoint(this.X, this.Y, renderer, owner); } public bool IsEmpty() diff --git a/Source/DataTypes/SvgUnit.cs b/Source/DataTypes/SvgUnit.cs index 24266272b3a1956bfec0e2699ad8b633a9579420..30a7c5965ebe7967422332a766c8aed9d0b9cc4d 100644 --- a/Source/DataTypes/SvgUnit.cs +++ b/Source/DataTypes/SvgUnit.cs @@ -1,6 +1,8 @@ using System; using System.ComponentModel; using System.Globalization; +using System.Linq; +using System.Drawing; namespace Svg { @@ -60,26 +62,9 @@ namespace Svg /// /// Converts the current unit to one that can be used at render time. /// + /// The container element used as the basis for calculations /// The representation of the current unit in a device value (usually pixels). - public float ToDeviceValue() - { - return this.ToDeviceValue(null); - } - - /// - /// Converts the current unit to one that can be used at render time. - /// - /// The representation of the current unit in a device value (usually pixels). - public float ToDeviceValue(ISvgBoundable boundable) - { - return this.ToDeviceValue(boundable, false); - } - - /// - /// Converts the current unit to one that can be used at render time. - /// - /// The representation of the current unit in a device value (usually pixels). - public float ToDeviceValue(ISvgBoundable boundable, bool vertical) + public float ToDeviceValue(SvgRenderer renderer, UnitRenderingType renderType, SvgElement owner) { // If it's already been calculated if (this._deviceValue.HasValue) @@ -99,60 +84,135 @@ namespace Svg const float cmInInch = 2.54f; int ppi = SvgDocument.PointsPerInch; - switch (this.Type) + var type = this.Type; + var value = this.Value; + + // Deal with fractional pattern units + var coordElem = owner as ISvgSupportsCoordinateUnits; + if (coordElem != null && coordElem.GetUnits() == SvgCoordinateUnits.ObjectBoundingBox && type != SvgUnitType.Percentage) + { + type = SvgUnitType.Percentage; + value *= 100; + } + + var element = owner as SvgElement; + if (element != null) + { + var pattern = element.Parents.OfType().FirstOrDefault(); + if (pattern != null && pattern.PatternContentUnits == SvgCoordinateUnits.ObjectBoundingBox && type != SvgUnitType.Percentage) + { + type = SvgUnitType.Percentage; + value *= 100; + } + } + + float points; + Font currFont; + + switch (type) { case SvgUnitType.Em: - var visualElem = boundable as SvgVisualElement; - if (visualElem == null) + currFont = GetFont(renderer, owner); + if (currFont == null) { - float points = (float)(this.Value * 9); + points = (float)(value * 9); _deviceValue = (points / 72) * ppi; } else { - _deviceValue = this.Value * visualElem.GetInheritedFontSize().ToDeviceValue(boundable); + _deviceValue = value * (currFont.SizeInPoints / 72) * ppi; + } + break; + case SvgUnitType.Ex: + currFont = GetFont(renderer, owner); + if (currFont == null) + { + points = (float)(value * 9); + _deviceValue = (points / 72) * ppi / 2; + } + else + { + _deviceValue = value * (currFont.SizeInPoints / 72) * ppi * RelativeXHeight(currFont); } break; case SvgUnitType.Centimeter: - _deviceValue = (float)((this.Value / cmInInch) * ppi); + _deviceValue = (float)((value / cmInInch) * ppi); break; case SvgUnitType.Inch: - _deviceValue = this.Value * ppi; + _deviceValue = value * ppi; break; case SvgUnitType.Millimeter: - _deviceValue = (float)((this.Value / 10) / cmInInch) * ppi; + _deviceValue = (float)((value / 10) / cmInInch) * ppi; break; case SvgUnitType.Pica: - _deviceValue = ((this.Value * 12) / 72) * ppi; + _deviceValue = ((value * 12) / 72) * ppi; break; case SvgUnitType.Point: - _deviceValue = (this.Value / 72) * ppi; + _deviceValue = (value / 72) * ppi; break; case SvgUnitType.Pixel: - _deviceValue = this.Value; + _deviceValue = value; break; case SvgUnitType.User: - _deviceValue = this.Value; + _deviceValue = value; break; case SvgUnitType.Percentage: // Can't calculate if there is no style owner + var boundable = (renderer == null ? (owner == null ? null : owner.OwnerDocument) : renderer.Boundable()); if (boundable == null) { - _deviceValue = this.Value; + _deviceValue = value; break; } - // TODO : Support height percentages System.Drawing.SizeF size = boundable.Bounds.Size; - _deviceValue = (((vertical) ? size.Height : size.Width) / 100) * this.Value; + + switch (renderType) + { + case UnitRenderingType.Horizontal: + _deviceValue = (size.Width / 100) * value; + break; + case UnitRenderingType.HorizontalOffset: + _deviceValue = (size.Width / 100) * value + boundable.Location.X; + break; + case UnitRenderingType.Vertical: + _deviceValue = (size.Height / 100) * value; + break; + case UnitRenderingType.VerticalOffset: + _deviceValue = (size.Height / 100) * value + boundable.Location.Y; + break; + default: + _deviceValue = (float)(Math.Sqrt(Math.Pow(size.Width, 2) + Math.Pow(size.Height, 2)) / Math.Sqrt(2) * value / 100.0); + break; + } break; default: - _deviceValue = this.Value; + _deviceValue = value; break; } return this._deviceValue.Value; } + private Font GetFont(SvgRenderer renderer, SvgElement owner) + { + if (owner == null) return null; + + var visual = owner.ParentsAndSelf.OfType().FirstOrDefault(); + return visual.GetFont(renderer); + } + private float RelativeXHeight(Font font) + { + var mediaFont = new System.Windows.Media.FontFamily(font.Name); + var sum = 0.0; + var cnt = 0; + foreach (var tf in mediaFont.FamilyTypefaces) + { + sum += tf.XHeight; + cnt += 1; + } + return (float)(sum / cnt); + } + /// /// Converts the current unit to a percentage, if applicable. /// @@ -249,7 +309,7 @@ namespace Svg /// The result of the conversion. public static implicit operator float(SvgUnit value) { - return value.ToDeviceValue(); + return value.ToDeviceValue(null, UnitRenderingType.Other, null); } /// @@ -286,6 +346,32 @@ namespace Svg this._isEmpty = (this._value == 0.0f); this._deviceValue = null; } + + public static System.Drawing.PointF GetDevicePoint(SvgUnit x, SvgUnit y, SvgRenderer renderer, SvgElement owner) + { + return new System.Drawing.PointF(x.ToDeviceValue(renderer, UnitRenderingType.Horizontal, owner), + y.ToDeviceValue(renderer, UnitRenderingType.Vertical, owner)); + } + public static System.Drawing.PointF GetDevicePointOffset(SvgUnit x, SvgUnit y, SvgRenderer renderer, SvgElement owner) + { + return new System.Drawing.PointF(x.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, owner), + y.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, owner)); + } + + public static System.Drawing.SizeF GetDeviceSize(SvgUnit width, SvgUnit height, SvgRenderer renderer, SvgElement owner) + { + return new System.Drawing.SizeF(width.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, owner), + height.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, owner)); + } + } + + public enum UnitRenderingType + { + Other, + Horizontal, + HorizontalOffset, + Vertical, + VerticalOffset } /// @@ -306,6 +392,10 @@ namespace Svg /// Em, /// + /// Indicates that the unit is equal to the x-height of the current font. + /// + Ex, + /// /// Indicates that the unit is a percentage. /// Percentage, diff --git a/Source/DataTypes/SvgUnitConverter.cs b/Source/DataTypes/SvgUnitConverter.cs index d1a80a0cb5b4355a8814017b2e07a6379522a978..4787fab54a65516e906d186c64239ce13f4a9899 100644 --- a/Source/DataTypes/SvgUnitConverter.cs +++ b/Source/DataTypes/SvgUnitConverter.cs @@ -68,6 +68,8 @@ namespace Svg return new SvgUnit(SvgUnitType.Percentage, val); case "em": return new SvgUnit(SvgUnitType.Em, val); + case "ex": + return new SvgUnit(SvgUnitType.Ex, val); default: throw new FormatException("Unit is in an invalid format '" + unit + "'."); } diff --git a/Source/Document Structure/SvgFragment.cs b/Source/Document Structure/SvgFragment.cs index 4799646679af4ba55713a4358f0270feea47d4a4..f23081f1a22960693540967e742d4ff4c8702ea7 100644 --- a/Source/Document Structure/SvgFragment.cs +++ b/Source/Document Structure/SvgFragment.cs @@ -127,20 +127,43 @@ namespace Svg set { this.Attributes["preserveAspectRatio"] = value; } } + /// + /// Refers to the size of the font from baseline to baseline when multiple lines of text are set solid in a multiline layout environment. + /// + [SvgAttribute("font-size")] + public virtual SvgUnit FontSize + { + get { return (this.Attributes["font-size"] == null) ? SvgUnit.Empty : (SvgUnit)this.Attributes["font-size"]; } + set { this.Attributes["font-size"] = value; } + } + + /// + /// Indicates which font family is to be used to render the text. + /// + [SvgAttribute("font-family")] + public virtual string FontFamily + { + get { return this.Attributes["font-family"] as string; } + set { this.Attributes["font-family"] = value; } + } + /// /// Applies the required transforms to . /// /// The to be transformed. - protected internal override void PushTransforms(SvgRenderer renderer) + protected internal override bool PushTransforms(SvgRenderer renderer) { - base.PushTransforms(renderer); + if (!base.PushTransforms(renderer)) return false; if (!this.ViewBox.Equals(SvgViewBox.Empty)) { - float fScaleX = this.Width.ToDeviceValue(this, false) / this.ViewBox.Width; - float fScaleY = this.Height.ToDeviceValue(this, true) / this.ViewBox.Height; - float fMinX = -this.ViewBox.MinX; - float fMinY = -this.ViewBox.MinY; + var width = this.Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); + var height = this.Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this); + + var fScaleX = width / this.ViewBox.Width; + var fScaleY = height / this.ViewBox.Height; + var fMinX = -this.ViewBox.MinX; + var fMinY = -this.ViewBox.MinY; if (AspectRatio.Align != SvgPreserveAspectRatio.none) { @@ -156,50 +179,56 @@ namespace Svg } float fViewMidX = (this.ViewBox.Width / 2) * fScaleX; float fViewMidY = (this.ViewBox.Height / 2) * fScaleY; - float fMidX = this.Width.ToDeviceValue(this, false) / 2; - float fMidY = this.Height.ToDeviceValue(this, true) / 2; + float fMidX = width / 2; + float fMidY = height / 2; switch (AspectRatio.Align) { case SvgPreserveAspectRatio.xMinYMin: break; case SvgPreserveAspectRatio.xMidYMin: - fMinX += (fMidX - fViewMidX) / fScaleX; + fMinX += fMidX - fViewMidX; break; case SvgPreserveAspectRatio.xMaxYMin: - fMinX += (this.Width.ToDeviceValue(this, false) / fScaleX) - this.ViewBox.Width; + fMinX += width - this.ViewBox.Width * fScaleX; break; case SvgPreserveAspectRatio.xMinYMid: - fMinY += (fMidY - fViewMidY) / fScaleY; + fMinY += fMidY - fViewMidY; break; case SvgPreserveAspectRatio.xMidYMid: - fMinX += (fMidX - fViewMidX) / fScaleX; - fMinY += (fMidY - fViewMidY) / fScaleY; + fMinX += fMidX - fViewMidX; + fMinY += fMidY - fViewMidY; break; case SvgPreserveAspectRatio.xMaxYMid: - fMinX += (this.Width.ToDeviceValue(this, false) / fScaleX) - this.ViewBox.Width; - fMinY += (fMidY - fViewMidY) / fScaleY; + fMinX += width - this.ViewBox.Width * fScaleX; + fMinY += fMidY - fViewMidY; break; case SvgPreserveAspectRatio.xMinYMax: - fMinY += (this.Height.ToDeviceValue(this, true) / fScaleY) - this.ViewBox.Height; + fMinY += height - this.ViewBox.Height * fScaleY; break; case SvgPreserveAspectRatio.xMidYMax: - fMinX += (fMidX - fViewMidX) / fScaleX; - fMinY += (this.Height.ToDeviceValue(this, true) / fScaleY) - this.ViewBox.Height; + fMinX += fMidX - fViewMidX; + fMinY += height - this.ViewBox.Height * fScaleY; break; case SvgPreserveAspectRatio.xMaxYMax: - fMinX += (this.Width.ToDeviceValue(this, false) / fScaleX) - this.ViewBox.Width; - fMinY += (this.Height.ToDeviceValue(this, true) / fScaleY) - this.ViewBox.Height; + fMinX += width - this.ViewBox.Width * fScaleX; + fMinY += height - this.ViewBox.Height * fScaleY; break; default: break; } } - renderer.TranslateTransform(_x, _y); + var x = _x.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); + var y = _y.ToDeviceValue(renderer, UnitRenderingType.Vertical, this); + + renderer.AddClip(new Region(new RectangleF(x, y, width, height))); + renderer.ScaleTransform(fScaleX, fScaleY, MatrixOrder.Prepend); + renderer.TranslateTransform(x,y); renderer.TranslateTransform(fMinX, fMinY); - renderer.ScaleTransform(fScaleX, fScaleY); } + + return true; } /// @@ -245,18 +274,38 @@ namespace Svg public SizeF GetDimensions() { - var w = Width.ToDeviceValue(); - var h = Height.ToDeviceValue(); - - RectangleF bounds = new RectangleF(); + float w, h; var isWidthperc = Width.Type == SvgUnitType.Percentage; var isHeightperc = Height.Type == SvgUnitType.Percentage; + RectangleF bounds = new RectangleF(); if (isWidthperc || isHeightperc) { - bounds = this.Bounds; //do just one call to the recursive bounds property - if (isWidthperc) w = (bounds.Width + bounds.X) * (w * 0.01f); - if (isHeightperc) h = (bounds.Height + bounds.Y) * (h * 0.01f); + if (ViewBox.Width > 0 && ViewBox.Height > 0) + { + bounds = new RectangleF(ViewBox.MinX, ViewBox.MinY, ViewBox.Width, ViewBox.Height); + } + else + { + bounds = this.Bounds; //do just one call to the recursive bounds property + } + } + + if (isWidthperc) + { + w = (bounds.Width + bounds.X) * (Width.Value * 0.01f); + } + else + { + w = Width.ToDeviceValue(null, UnitRenderingType.Horizontal, this); + } + if (isHeightperc) + { + h = (bounds.Height + bounds.Y) * (Height.Value * 0.01f); + } + else + { + h = Height.ToDeviceValue(null, UnitRenderingType.Vertical, this); } return new SizeF(w, h); diff --git a/Source/Document Structure/SvgGroup.cs b/Source/Document Structure/SvgGroup.cs index ce52270ab6b31e35ceace3b0984bb92de70435d2..3dfc691f6f772c5a5e42f32deef0ce6316596390 100644 --- a/Source/Document Structure/SvgGroup.cs +++ b/Source/Document Structure/SvgGroup.cs @@ -17,17 +17,9 @@ namespace Svg /// Gets the for this element. /// /// - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get - { - //var path = new GraphicsPath(); - //AddPaths(this, path); - - return GetPaths(this); - } - protected set - { } + return GetPaths(this, renderer); } /// @@ -73,11 +65,13 @@ namespace Svg if (!Visible || !Displayable) return; - this.PushTransforms(renderer); - this.SetClip(renderer); - base.RenderChildren(renderer); - this.ResetClip(renderer); - this.PopTransforms(renderer); + if (this.PushTransforms(renderer)) + { + this.SetClip(renderer); + base.RenderChildren(renderer); + this.ResetClip(renderer); + this.PopTransforms(renderer); + } } diff --git a/Source/Document Structure/SvgSwitch.cs b/Source/Document Structure/SvgSwitch.cs index e9af587a868c788cb042c4a0bfc18ba04505167f..d3700306e19ce0de75605d3a590256f47cc50582 100644 --- a/Source/Document Structure/SvgSwitch.cs +++ b/Source/Document Structure/SvgSwitch.cs @@ -17,17 +17,9 @@ namespace Svg /// Gets the for this element. /// /// - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get - { - //var path = new GraphicsPath(); - //AddPaths(this, path); - - return GetPaths(this); - } - protected set - { } + return GetPaths(this, renderer); } /// diff --git a/Source/Document Structure/SvgUse.cs b/Source/Document Structure/SvgUse.cs index 6fe3d2e485f7ed0299b9e35e52b42aaed4eafc55..147d0b915adef2685cf6e7acf2ee01d6242cc252 100644 --- a/Source/Document Structure/SvgUse.cs +++ b/Source/Document Structure/SvgUse.cs @@ -38,10 +38,12 @@ namespace Svg /// Applies the required transforms to . /// /// The to be transformed. - protected internal override void PushTransforms(SvgRenderer renderer) + protected internal override bool PushTransforms(SvgRenderer renderer) { - base.PushTransforms(renderer); - renderer.TranslateTransform(this.X.ToDeviceValue(this), this.Y.ToDeviceValue(this, true)); + if (!base.PushTransforms(renderer)) return false; + renderer.TranslateTransform(this.X.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this), + this.Y.ToDeviceValue(renderer, UnitRenderingType.Vertical, this)); + return true; } /// @@ -53,15 +55,10 @@ namespace Svg this.Y = 0; } - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get - { - SvgVisualElement element = (SvgVisualElement)this.OwnerDocument.IdManager.GetElementById(this.ReferencedElement); - return (element != null) ? element.Path : null; - } - protected set - { } + SvgVisualElement element = (SvgVisualElement)this.OwnerDocument.IdManager.GetElementById(this.ReferencedElement); + return (element != null) ? element.Path(renderer) : null; } public override System.Drawing.RectangleF Bounds diff --git a/Source/Extensibility/SvgForeignObject.cs b/Source/Extensibility/SvgForeignObject.cs index afe0ed0f8cbb223aca9e3b7f8235fe44a324f768..3fc4cdd485c95b3eb6950a98d0af67a3cc2fd134 100644 --- a/Source/Extensibility/SvgForeignObject.cs +++ b/Source/Extensibility/SvgForeignObject.cs @@ -17,17 +17,9 @@ namespace Svg /// Gets the for this element. /// /// - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get - { - //var path = new GraphicsPath(); - //AddPaths(this, path); - - return GetPaths(this); - } - protected set - { } + return GetPaths(this, renderer); } /// diff --git a/Source/Filter Effects/SvgFilter.cs b/Source/Filter Effects/SvgFilter.cs index a1946b2694a7e1e7d4184d2f23de4f8434dbeccf..2ac722d17f4d952c3fa45beb773a39dff5413de6 100644 --- a/Source/Filter Effects/SvgFilter.cs +++ b/Source/Filter Effects/SvgFilter.cs @@ -151,7 +151,7 @@ namespace Svg.FilterEffects { if (this.sourceGraphic == null) { - RectangleF bounds = element.Path.GetBounds(); + RectangleF bounds = element.Path(renderer).GetBounds(); this.sourceGraphic = new Bitmap((int)bounds.Width, (int)bounds.Height); using (var graphics = Graphics.FromImage(this.sourceGraphic)) diff --git a/Source/Local.testsettings b/Source/Local.testsettings new file mode 100644 index 0000000000000000000000000000000000000000..167cb2df1416e57f4941eed093e9d4e5a5403dbc --- /dev/null +++ b/Source/Local.testsettings @@ -0,0 +1,10 @@ + + + These are default test settings for a local test run. + + + + + + + \ No newline at end of file diff --git a/Source/Painting/GenericBoundable.cs b/Source/Painting/GenericBoundable.cs new file mode 100644 index 0000000000000000000000000000000000000000..5073d9d7c2242acfa2af87cf1536821b6097f0bb --- /dev/null +++ b/Source/Painting/GenericBoundable.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Drawing; + +namespace Svg +{ + internal class GenericBoundable : ISvgBoundable + { + private RectangleF _rect; + + public GenericBoundable(RectangleF rect) + { + _rect = rect; + } + public GenericBoundable(float x, float y, float width, float height) + { + _rect = new RectangleF(x, y, width, height); + } + + public System.Drawing.PointF Location + { + get { return _rect.Location; } + } + + public System.Drawing.SizeF Size + { + get { return _rect.Size; } + } + + public System.Drawing.RectangleF Bounds + { + get { return _rect; } + } + } +} diff --git a/Source/Painting/ISvgStylable.cs b/Source/Painting/ISvgStylable.cs index 841fcc05f39c5536bb101dddf41f0024a57d795d..47274168bb89245f98e496c0bed2d3466e41b574 100644 --- a/Source/Painting/ISvgStylable.cs +++ b/Source/Painting/ISvgStylable.cs @@ -19,6 +19,6 @@ namespace Svg float StrokeMiterLimit { get; set; } SvgUnitCollection StrokeDashArray { get; set; } SvgUnit StrokeDashOffset { get; set; } - GraphicsPath Path { get; } + GraphicsPath Path(SvgRenderer renderer); } } \ No newline at end of file diff --git a/Source/Painting/SvgColourConverter.cs b/Source/Painting/SvgColourConverter.cs index 1ab383736b82afbaa69ed18e952c8d2f461ec8f4..0f381c1df29a7adbbd5686411a458d14d97fbea2 100644 --- a/Source/Painting/SvgColourConverter.cs +++ b/Source/Painting/SvgColourConverter.cs @@ -95,6 +95,37 @@ namespace Svg return base.ConvertFrom(context, culture, colour); } + switch (colour.ToLowerInvariant()) + { + case "activeborder": return SystemColors.ActiveBorder; + case "activecaption": return SystemColors.ActiveCaption; + case "appworkspace": return SystemColors.AppWorkspace; + case "background": return SystemColors.Desktop; + case "buttonface": return SystemColors.Control; + case "buttonhighlight": return SystemColors.ControlLightLight; + case "buttonshadow": return SystemColors.ControlDark; + case "buttontext": return SystemColors.ControlText; + case "captiontext": return SystemColors.ActiveCaptionText; + case "graytext": return SystemColors.GrayText; + case "highlight": return SystemColors.Highlight; + case "highlighttext": return SystemColors.HighlightText; + case "inactiveborder": return SystemColors.InactiveBorder; + case "inactivecaption": return SystemColors.InactiveCaption; + case "inactivecaptiontext": return SystemColors.InactiveCaptionText; + case "infobackground": return SystemColors.Info; + case "infotext": return SystemColors.InfoText; + case "menu": return SystemColors.Menu; + case "menutext": return SystemColors.MenuText; + case "scrollbar": return SystemColors.ScrollBar; + case "threeddarkshadow": return SystemColors.ControlDarkDark; + case "threedface": return SystemColors.Control; + case "threedhighlight": return SystemColors.ControlLight; + case "threedlightshadow": return SystemColors.ControlLightLight; + case "window": return SystemColors.Window; + case "windowframe": return SystemColors.WindowFrame; + case "windowtext": return SystemColors.WindowText; + } + Thread.CurrentThread.CurrentCulture = oldCulture; } diff --git a/Source/Painting/SvgColourServer.cs b/Source/Painting/SvgColourServer.cs index 2c09d8ed93818302e8054f5411cd9493db1a6c9a..99fdf7c7b67aa5d1c92f1b837b961ee9919541c8 100644 --- a/Source/Painting/SvgColourServer.cs +++ b/Source/Painting/SvgColourServer.cs @@ -11,9 +11,14 @@ namespace Svg /// /// An unspecified . /// - public static readonly SvgPaintServer NotSet = new SvgColourServer(); - - public SvgColourServer() : this(Color.Black) + public static readonly SvgPaintServer NotSet = new SvgColourServer(System.Drawing.Color.Black); + /// + /// A that should inherit from its parent. + /// + public static readonly SvgPaintServer Inherit = new SvgColourServer(System.Drawing.Color.Black); + + public SvgColourServer() + : this(System.Drawing.Color.Black) { } @@ -30,13 +35,13 @@ namespace Svg set { this._colour = value; } } - public override Brush GetBrush(SvgVisualElement styleOwner, float opacity) + public override Brush GetBrush(SvgVisualElement styleOwner, SvgRenderer renderer, float opacity) { //is none? - if (this == SvgPaintServer.None) return new SolidBrush(Color.Transparent); + if (this == SvgPaintServer.None) return new SolidBrush(System.Drawing.Color.Transparent); int alpha = (int)((opacity * (this.Colour.A/255.0f) ) * 255); - Color colour = Color.FromArgb(alpha, this.Colour); + Color colour = System.Drawing.Color.FromArgb(alpha, this.Colour); return new SolidBrush(colour); } diff --git a/Source/Painting/SvgDeferredPaintServer.cs b/Source/Painting/SvgDeferredPaintServer.cs index cbd46053a53fb42c7ce0428187ef3ca211e700d5..22adfc87cfa53f823892c890e98423000a8d2a22 100644 --- a/Source/Painting/SvgDeferredPaintServer.cs +++ b/Source/Painting/SvgDeferredPaintServer.cs @@ -24,19 +24,30 @@ namespace Svg this.DeferredId = id; } - private void EnsureServer() + public void EnsureServer(SvgElement styleOwner) { if (!_serverLoaded) { - _concreteServer = this.Document.IdManager.GetElementById(this.DeferredId) as SvgPaintServer; + if (this.DeferredId == "currentColor" && styleOwner != null) + { + var colorElement = (from e in styleOwner.ParentsAndSelf.OfType() + where e.Color != SvgPaintServer.None && e.Color != SvgColourServer.NotSet && + e.Color != SvgColourServer.Inherit && e.Color != SvgColourServer.None + select e).FirstOrDefault(); + _concreteServer = (colorElement == null ? SvgPaintServer.None : colorElement.Color); + } + else + { + _concreteServer = this.Document.IdManager.GetElementById(this.DeferredId) as SvgPaintServer; + } _serverLoaded = true; } } - public override System.Drawing.Brush GetBrush(SvgVisualElement styleOwner, float opacity) + public override System.Drawing.Brush GetBrush(SvgVisualElement styleOwner, SvgRenderer renderer, float opacity) { - EnsureServer(); - return _concreteServer.GetBrush(styleOwner, opacity); + EnsureServer(styleOwner); + return _concreteServer.GetBrush(styleOwner, renderer, opacity); } public override SvgElement DeepCopy() @@ -72,7 +83,7 @@ namespace Svg return (_serverLoaded ? _serverLoaded.ToString() : string.Format("deferred: {0}", this.DeferredId)); } - public static T TryGet(SvgPaintServer server) where T : SvgPaintServer + public static T TryGet(SvgPaintServer server, SvgElement parent) where T : SvgPaintServer { var deferred = server as SvgDeferredPaintServer; if (deferred == null) @@ -81,7 +92,7 @@ namespace Svg } else { - deferred.EnsureServer(); + deferred.EnsureServer(parent); return deferred._concreteServer as T; } } diff --git a/Source/Painting/SvgGradientServer.cs b/Source/Painting/SvgGradientServer.cs index e904a17ba7c1682ba42e320607b9c1159bc0c6c9..f5c36617b1d64edcbc2a3fee4ca5a8cf3dfb4186 100644 --- a/Source/Painting/SvgGradientServer.cs +++ b/Source/Painting/SvgGradientServer.cs @@ -9,7 +9,7 @@ namespace Svg /// /// Provides the base class for all paint servers that wish to render a gradient. /// - public abstract class SvgGradientServer : SvgPaintServer + public abstract class SvgGradientServer : SvgPaintServer, ISvgSupportsCoordinateUnits { private SvgCoordinateUnits _gradientUnits; private SvgGradientSpreadMethod _spreadMethod; @@ -130,7 +130,7 @@ namespace Svg /// /// The parent . /// The opacity of the colour blend. - protected ColorBlend GetColorBlend(SvgVisualElement owner, float opacity, bool radial) + protected ColorBlend GetColorBlend(SvgRenderer renderer, float opacity, bool radial) { int colourBlends = this.Stops.Count; bool insertStart = false; @@ -179,18 +179,19 @@ namespace Svg int actualStops = 0; float mergedOpacity = 0.0f; float position = 0.0f; - Color colour = Color.Black; + Color colour = System.Drawing.Color.Black; for (int i = 0; i < colourBlends; i++) { var currentStop = this.Stops[radial ? this.Stops.Count - 1 - actualStops : actualStops]; + var boundWidth = renderer.Boundable().Bounds.Width; mergedOpacity = opacity * currentStop.Opacity; position = radial - ? 1 - (currentStop.Offset.ToDeviceValue(owner) / owner.Bounds.Width) - : (currentStop.Offset.ToDeviceValue(owner) / owner.Bounds.Width); - colour = Color.FromArgb((int)(mergedOpacity * 255), currentStop.Colour); + ? 1 - (currentStop.Offset.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) / boundWidth) + : (currentStop.Offset.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) / boundWidth); + colour = System.Drawing.Color.FromArgb((int)(mergedOpacity * 255), currentStop.GetColor(this)); actualStops++; @@ -219,20 +220,15 @@ namespace Svg return blend; } - protected void LoadStops() + protected void LoadStops(SvgVisualElement parent) { - var core = SvgDeferredPaintServer.TryGet(_inheritGradient); + var core = SvgDeferredPaintServer.TryGet(_inheritGradient, parent); if (this.Stops.Count == 0 && core != null) { _stops.AddRange(core.Stops); } } - protected ISvgBoundable CalculateBoundable(SvgVisualElement renderingElement) - { - return (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) ? (ISvgBoundable)renderingElement : renderingElement.OwnerDocument; - } - protected PointF TransformPoint(PointF originalPoint) { var newPoint = new[] { originalPoint }; @@ -272,5 +268,10 @@ namespace Svg return newObj; } + + public SvgCoordinateUnits GetUnits() + { + return _gradientUnits; + } } } \ No newline at end of file diff --git a/Source/Painting/SvgGradientStop.cs b/Source/Painting/SvgGradientStop.cs index 0269ff2b3dd849479062ab0b615472ea72d00836..9980b345c9a37cd148288673305412ba809f91e8 100644 --- a/Source/Painting/SvgGradientStop.cs +++ b/Source/Painting/SvgGradientStop.cs @@ -13,7 +13,7 @@ namespace Svg public class SvgGradientStop : SvgElement { private SvgUnit _offset; - private Color _colour; + private SvgPaintServer _colour; private float _opacity; /// @@ -58,8 +58,8 @@ namespace Svg /// Gets or sets the colour of the gradient stop. /// [SvgAttribute("stop-color")] - [TypeConverter(typeof(SvgColourConverter))] - public Color Colour + [TypeConverter(typeof(SvgPaintServerFactory))] + public SvgPaintServer Colour { get { return this._colour; } set { this._colour = value; } @@ -81,7 +81,7 @@ namespace Svg public SvgGradientStop() { this._offset = new SvgUnit(0.0f); - this._colour = Color.Transparent; + this._colour = SvgColourServer.NotSet; this._opacity = 1.0f; } @@ -93,10 +93,16 @@ namespace Svg public SvgGradientStop(SvgUnit offset, Color colour) { this._offset = offset; - this._colour = colour; + this._colour = new SvgColourServer(colour); this._opacity = 1.0f; } + public Color GetColor(SvgElement parent) + { + var core = SvgDeferredPaintServer.TryGet(_colour, parent); + if (core == null) throw new InvalidOperationException("Invalid paint server for gradient stop detected."); + return core.Colour; + } public override SvgElement DeepCopy() { diff --git a/Source/Painting/SvgLinearGradientServer.cs b/Source/Painting/SvgLinearGradientServer.cs index 72724da682cf936dd565c5e8f1cc1c4b5b2d9254..d2356fd354bdff0cbb7139d8ea5a56f911f08a14 100644 --- a/Source/Painting/SvgLinearGradientServer.cs +++ b/Source/Painting/SvgLinearGradientServer.cs @@ -79,44 +79,51 @@ namespace Svg Y2 = new SvgUnit(SvgUnitType.Percentage, 0F); } - public override Brush GetBrush(SvgVisualElement renderingElement, float opacity) + public override Brush GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, float opacity) { - LoadStops(); + LoadStops(renderingElement); if (IsInvalid) { return null; } - var boundable = CalculateBoundable(renderingElement); + try + { + if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.Boundable(renderingElement); - var specifiedStart = CalculateStart(boundable); - var specifiedEnd = CalculateEnd(boundable); + var specifiedStart = CalculateStart(renderer); + var specifiedEnd = CalculateEnd(renderer); - var effectiveStart = specifiedStart; - var effectiveEnd = specifiedEnd; + var effectiveStart = specifiedStart; + var effectiveEnd = specifiedEnd; - if (NeedToExpandGradient(renderingElement, specifiedStart, specifiedEnd)) - { - var expansion = ExpandGradient(renderingElement, specifiedStart, specifiedEnd); - effectiveStart = expansion.StartPoint; - effectiveEnd = expansion.EndPoint; - } + if (NeedToExpandGradient(renderingElement, specifiedStart, specifiedEnd)) + { + var expansion = ExpandGradient(renderingElement, specifiedStart, specifiedEnd); + effectiveStart = expansion.StartPoint; + effectiveEnd = expansion.EndPoint; + } - return new LinearGradientBrush(effectiveStart, effectiveEnd, Color.Transparent, Color.Transparent) + return new LinearGradientBrush(effectiveStart, effectiveEnd, System.Drawing.Color.Transparent, System.Drawing.Color.Transparent) + { + InterpolationColors = CalculateColorBlend(renderer, opacity, specifiedStart, effectiveStart, specifiedEnd, effectiveEnd), + WrapMode = WrapMode.TileFlipX + }; + } + finally { - InterpolationColors = CalculateColorBlend(renderingElement, opacity, specifiedStart, effectiveStart, specifiedEnd, effectiveEnd), - WrapMode = WrapMode.TileFlipX - }; + if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.PopBoundable(); + } } - private PointF CalculateStart(ISvgBoundable boundable) + private PointF CalculateStart(SvgRenderer renderer) { - return TransformPoint(new PointF(this.X1.ToDeviceValue(boundable), this.Y1.ToDeviceValue(boundable, true))); + return TransformPoint(SvgUnit.GetDevicePointOffset(this.X1, this.Y1, renderer, this)); } - private PointF CalculateEnd(ISvgBoundable boundable) + private PointF CalculateEnd(SvgRenderer renderer) { - return TransformPoint(new PointF(this.X2.ToDeviceValue(boundable), this.Y2.ToDeviceValue(boundable, true))); + return TransformPoint(SvgUnit.GetDevicePointOffset(this.X2, this.Y2, renderer, this)); } private bool NeedToExpandGradient(ISvgBoundable boundable, PointF specifiedStart, PointF specifiedEnd) @@ -174,9 +181,9 @@ namespace Svg return new GradientPoints(effectiveStart, effectiveEnd); } - private ColorBlend CalculateColorBlend(SvgVisualElement owner, float opacity, PointF specifiedStart, PointF effectiveStart, PointF specifiedEnd, PointF effectiveEnd) + private ColorBlend CalculateColorBlend(SvgRenderer renderer, float opacity, PointF specifiedStart, PointF effectiveStart, PointF specifiedEnd, PointF effectiveEnd) { - var colorBlend = GetColorBlend(owner, opacity, false); + var colorBlend = GetColorBlend(renderer, opacity, false); var startDelta = CalculateDistance(specifiedStart, effectiveStart); var endDelta = CalculateDistance(specifiedEnd, effectiveEnd); diff --git a/Source/Painting/SvgMarker.cs b/Source/Painting/SvgMarker.cs index 31bd8ba6743b173cd49eb94536b705ea2d998b79..12b4f80e9ed096eeffbf8d06f73a1efccb6f429d 100644 --- a/Source/Painting/SvgMarker.cs +++ b/Source/Painting/SvgMarker.cs @@ -87,26 +87,19 @@ namespace Svg Overflow = SvgOverflow.hidden; } - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get - { - var path = this.Children.FirstOrDefault(x => x is SvgPath); - if (path != null) - return (path as SvgPath).Path; - return null; - } - protected set - { - // No-op - } + var path = this.Children.FirstOrDefault(x => x is SvgPath); + if (path != null) + return (path as SvgPath).Path(renderer); + return null; } public override System.Drawing.RectangleF Bounds { get { - var path = this.Path; + var path = this.Path(null); if (path != null) return path.GetBounds(); return new System.Drawing.RectangleF(); @@ -177,7 +170,7 @@ namespace Svg /// private void RenderPart2(float fAngle, SvgRenderer pRenderer, SvgPath pOwner, PointF pMarkerPoint) { - Pen pRenderPen = CreatePen(pOwner); + Pen pRenderPen = CreatePen(pOwner, pRenderer); GraphicsPath markerPath = GetClone(pOwner); @@ -190,10 +183,14 @@ namespace Svg switch (MarkerUnits) { case SvgMarkerUnits.strokeWidth: - transMatrix.Translate(AdjustForViewBoxWidth(-RefX * pOwner.StrokeWidth), AdjustForViewBoxHeight(-RefY * pOwner.StrokeWidth)); + transMatrix.Translate(AdjustForViewBoxWidth(-RefX.ToDeviceValue(pRenderer, UnitRenderingType.Horizontal, this) * + pOwner.StrokeWidth.ToDeviceValue(pRenderer, UnitRenderingType.Other, this)), + AdjustForViewBoxHeight(-RefY.ToDeviceValue(pRenderer, UnitRenderingType.Vertical, this) * + pOwner.StrokeWidth.ToDeviceValue(pRenderer, UnitRenderingType.Other, this))); break; case SvgMarkerUnits.userSpaceOnUse: - transMatrix.Translate(-RefX, -RefY); + transMatrix.Translate(-RefX.ToDeviceValue(pRenderer, UnitRenderingType.Horizontal, this), + -RefY.ToDeviceValue(pRenderer, UnitRenderingType.Vertical, this)); break; } markerPath.Transform(transMatrix); @@ -205,7 +202,7 @@ namespace Svg if (pFill != null) { - Brush pBrush = pFill.GetBrush(this, fOpacity); + Brush pBrush = pFill.GetBrush(this, pRenderer, fOpacity); pRenderer.FillPath(pBrush, markerPath); pBrush.Dispose(); } @@ -219,17 +216,18 @@ namespace Svg /// /// /// - private Pen CreatePen(SvgPath pPath) + private Pen CreatePen(SvgPath pPath, SvgRenderer renderer) { - Brush pBrush = pPath.Stroke.GetBrush(this, Opacity); + Brush pBrush = pPath.Stroke.GetBrush(this, renderer, Opacity); switch (MarkerUnits) { case SvgMarkerUnits.strokeWidth: - return (new Pen(pBrush, StrokeWidth * pPath.StrokeWidth)); + return (new Pen(pBrush, StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this) * + pPath.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this))); case SvgMarkerUnits.userSpaceOnUse: - return (new Pen(pBrush, StrokeWidth)); + return (new Pen(pBrush, StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this))); } - return (new Pen(pBrush, StrokeWidth)); + return (new Pen(pBrush, StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this))); } /// @@ -238,7 +236,7 @@ namespace Svg /// private GraphicsPath GetClone(SvgPath pPath) { - GraphicsPath pRet = Path.Clone() as GraphicsPath; + GraphicsPath pRet = Path(null).Clone() as GraphicsPath; switch (MarkerUnits) { case SvgMarkerUnits.strokeWidth: diff --git a/Source/Painting/SvgPaintServer.cs b/Source/Painting/SvgPaintServer.cs index 2c2f7022cea1b684d5897d956cdaf2340943ec82..11c342e5045f6e06d23fcb716a88dfd07c385291 100644 --- a/Source/Painting/SvgPaintServer.cs +++ b/Source/Painting/SvgPaintServer.cs @@ -39,7 +39,7 @@ namespace Svg /// /// The owner . /// The opacity of the brush. - public abstract Brush GetBrush(SvgVisualElement styleOwner, float opacity); + public abstract Brush GetBrush(SvgVisualElement styleOwner, SvgRenderer renderer, float opacity); /// /// Returns a that represents the current . diff --git a/Source/Painting/SvgPaintServerFactory.cs b/Source/Painting/SvgPaintServerFactory.cs index 448e100df50f43d0a614a41ef5024e31d4a3431e..54a4ea53881483b1f649c6dccbfe343fc5c7e8c3 100644 --- a/Source/Painting/SvgPaintServerFactory.cs +++ b/Source/Painting/SvgPaintServerFactory.cs @@ -27,6 +27,14 @@ namespace Svg { return SvgColourServer.NotSet; } + else if (value == "inherit") + { + return SvgColourServer.Inherit; + } + else if (value == "currentColor") + { + return new SvgDeferredPaintServer(document, value); + } else if (value.IndexOf("url(#") > -1) { Match match = _urlRefPattern.Match(value); diff --git a/Source/Painting/SvgPatternServer.cs b/Source/Painting/SvgPatternServer.cs index 384fc1936b8690fb598f7510274eb6d97437d536..9afa695d35c2b6ad84e0fe6cbec142068eab203f 100644 --- a/Source/Painting/SvgPatternServer.cs +++ b/Source/Painting/SvgPatternServer.cs @@ -13,13 +13,15 @@ namespace Svg /// A pattern is used to fill or stroke an object using a pre-defined graphic object which can be replicated ("tiled") at fixed intervals in x and y to cover the areas to be painted. /// [SvgElement("pattern")] - public sealed class SvgPatternServer : SvgPaintServer, ISvgViewPort + public sealed class SvgPatternServer : SvgPaintServer, ISvgViewPort, ISvgSupportsCoordinateUnits { private SvgUnit _width; private SvgUnit _height; private SvgUnit _x; private SvgUnit _y; private SvgViewBox _viewBox; + private SvgCoordinateUnits _patternUnits; + private SvgCoordinateUnits _patternContentUnits; [SvgAttribute("overflow")] public SvgOverflow Overflow @@ -61,6 +63,26 @@ namespace Svg set { this._width = value; } } + /// + /// Gets or sets the width of the pattern. + /// + [SvgAttribute("patternUnits")] + public SvgCoordinateUnits PatternUnits + { + get { return this._patternUnits; } + set { this._patternUnits = value; } + } + + /// + /// Gets or sets the width of the pattern. + /// + [SvgAttribute("patternUnits")] + public SvgCoordinateUnits PatternContentUnits + { + get { return this._patternContentUnits; } + set { this._patternContentUnits = value; } + } + /// /// Gets or sets the height of the pattern. /// @@ -107,7 +129,7 @@ namespace Svg /// /// The owner . /// The opacity of the brush. - public override Brush GetBrush(SvgVisualElement renderingElement, float opacity) + public override Brush GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, float opacity) { // If there aren't any children, return null if (this.Children.Count == 0) @@ -117,18 +139,21 @@ namespace Svg if (this._width.Value == 0.0f || this._height.Value == 0.0f) return null; - float width = this._width.ToDeviceValue(renderingElement); - float height = this._height.ToDeviceValue(renderingElement, true); - - Bitmap image = new Bitmap((int)width, (int)height); - using (SvgRenderer renderer = SvgRenderer.FromImage(image)) + try { - Matrix patternMatrix = new Matrix(); + if (this.PatternUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.Boundable(renderingElement); + + float width = this._width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); + float height = this._height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this); + Matrix patternMatrix = new Matrix(); // Apply a translate if needed if (this._x.Value > 0.0f || this._y.Value > 0.0f) { - patternMatrix.Translate(this._x.ToDeviceValue(renderingElement) + -1.0f, this._y.ToDeviceValue(renderingElement, true) + -1.0f); + float x = this._x.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this); + float y = this._y.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this); + + patternMatrix.Translate(x + -1.0f, y + -1.0f); } else { @@ -137,27 +162,40 @@ namespace Svg if (this.ViewBox.Height > 0 || this.ViewBox.Width > 0) { - patternMatrix.Scale(this.Width.ToDeviceValue() / this.ViewBox.Width, this.Height.ToDeviceValue() / this.ViewBox.Height); + patternMatrix.Scale(this.Width.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) / this.ViewBox.Width, + this.Height.ToDeviceValue(renderer, UnitRenderingType.Vertical, this) / this.ViewBox.Height); } - renderer.Transform = patternMatrix; - renderer.CompositingQuality = CompositingQuality.HighQuality; - renderer.SmoothingMode = SmoothingMode.AntiAlias; - renderer.PixelOffsetMode = PixelOffsetMode.Half; - - foreach (SvgElement child in this.Children) + Bitmap image = new Bitmap((int)width, (int)height); + using (SvgRenderer iRenderer = SvgRenderer.FromImage(image)) { - child.RenderElement(renderer); + iRenderer.Boundable((_patternContentUnits == SvgCoordinateUnits.ObjectBoundingBox) ? new GenericBoundable(0, 0, width, height) : renderer.Boundable()); + iRenderer.Transform = patternMatrix; + iRenderer.CompositingQuality = CompositingQuality.HighQuality; + iRenderer.SmoothingMode = SmoothingMode.AntiAlias; + iRenderer.PixelOffsetMode = PixelOffsetMode.Half; + + foreach (SvgElement child in this.Children) + { + child.RenderElement(iRenderer); + } + + iRenderer.Save(); } - renderer.Save(); - } + image.Save(string.Format(@"C:\test{0:D3}.png", imgNumber++)); - TextureBrush textureBrush = new TextureBrush(image); + TextureBrush textureBrush = new TextureBrush(image); - return textureBrush; + return textureBrush; + } + finally + { + if (this.PatternUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.PopBoundable(); + } } + private static int imgNumber = 0; @@ -180,5 +218,10 @@ namespace Svg return newObj; } + + public SvgCoordinateUnits GetUnits() + { + return _patternUnits; + } } } \ No newline at end of file diff --git a/Source/Painting/SvgRadialGradientServer.cs b/Source/Painting/SvgRadialGradientServer.cs index fafb951f743458206d62a882a589d99ffa306a7a..349c5dc1d4e20ffd2bf21874586dcf5a393be815 100644 --- a/Source/Painting/SvgRadialGradientServer.cs +++ b/Source/Painting/SvgRadialGradientServer.cs @@ -95,53 +95,55 @@ namespace Svg Radius = new SvgUnit(SvgUnitType.Percentage, 50F); } - public override Brush GetBrush(SvgVisualElement renderingElement, float opacity) + public override Brush GetBrush(SvgVisualElement renderingElement, SvgRenderer renderer, float opacity) { - LoadStops(); - var origin = CalculateOrigin(renderingElement); + LoadStops(renderingElement); - var centerPoint = CalculateCenterPoint(renderingElement, origin); - - var focalPoint = CalculateFocalPoint(renderingElement, origin); - - var specifiedRadius = CalculateRadius(renderingElement); - var effectiveRadius = CalculateEffectiveRadius(renderingElement, centerPoint, specifiedRadius); - - var brush = new PathGradientBrush(CreateGraphicsPath(origin, centerPoint, effectiveRadius)) + try { - InterpolationColors = CalculateColorBlend(renderingElement, opacity, specifiedRadius, effectiveRadius), - CenterPoint = focalPoint - }; + if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.Boundable(renderingElement); + var origin = renderer.Boundable().Location; + var centerPoint = CalculateCenterPoint(renderer, origin); + var focalPoint = CalculateFocalPoint(renderer, origin); - Debug.Assert(brush.Rectangle.Contains(renderingElement.Bounds), "Brush rectangle does not contain rendering element bounds!"); + var specifiedRadius = CalculateRadius(renderer); + var effectiveRadius = CalculateEffectiveRadius(renderingElement, centerPoint, specifiedRadius); - return brush; - } + var brush = new PathGradientBrush(CreateGraphicsPath(origin, centerPoint, effectiveRadius)) + { + InterpolationColors = CalculateColorBlend(renderer, opacity, specifiedRadius, effectiveRadius), + CenterPoint = focalPoint + }; - private PointF CalculateOrigin(SvgVisualElement renderingElement) - { - return CalculateBoundable(renderingElement).Location; + Debug.Assert(brush.Rectangle.Contains(renderingElement.Bounds), "Brush rectangle does not contain rendering element bounds!"); + + return brush; + } + finally + { + if (this.GradientUnits == SvgCoordinateUnits.ObjectBoundingBox) renderer.PopBoundable(); + } } - private PointF CalculateCenterPoint(ISvgBoundable boundable, PointF origin) + private PointF CalculateCenterPoint(SvgRenderer renderer, PointF origin) { - var deviceCenterX = origin.X + CenterX.ToDeviceValue(boundable); - var deviceCenterY = origin.Y + CenterY.ToDeviceValue(boundable, true); + var deviceCenterX = origin.X + CenterX.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this); + var deviceCenterY = origin.Y + CenterY.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this); var transformedCenterPoint = TransformPoint(new PointF(deviceCenterX, deviceCenterY)); return transformedCenterPoint; } - private PointF CalculateFocalPoint(ISvgBoundable boundable, PointF origin) + private PointF CalculateFocalPoint(SvgRenderer renderer, PointF origin) { - var deviceFocalX = origin.X + FocalX.ToDeviceValue(boundable); - var deviceFocalY = origin.Y + FocalY.ToDeviceValue(boundable, true); + var deviceFocalX = origin.X + FocalX.ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this); + var deviceFocalY = origin.Y + FocalY.ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this); var transformedFocalPoint = TransformPoint(new PointF(deviceFocalX, deviceFocalY)); return transformedFocalPoint; } - private float CalculateRadius(ISvgBoundable boundable) + private float CalculateRadius(SvgRenderer renderer) { - var radius = Radius.ToDeviceValue(boundable); + var radius = Radius.ToDeviceValue(renderer, UnitRenderingType.Other, this); var transformRadiusVector = TransformVector(new PointF(radius, 0)); var transformedRadius = CalculateLength(transformRadiusVector); return transformedRadius; @@ -191,9 +193,9 @@ namespace Svg return path; } - private ColorBlend CalculateColorBlend(SvgVisualElement renderingElement, float opacity, float specifiedRadius, float effectiveRadius) + private ColorBlend CalculateColorBlend(SvgRenderer renderer, float opacity, float specifiedRadius, float effectiveRadius) { - var colorBlend = GetColorBlend(renderingElement, opacity, true); + var colorBlend = GetColorBlend(renderer, opacity, true); if (specifiedRadius >= effectiveRadius) { diff --git a/Source/Paths/SvgPath.cs b/Source/Paths/SvgPath.cs index 2ff21da665ea04770afa4445609fa3575633d6d1..95757d2b98b8cb80a29f7e9b4dead90595a6aea1 100644 --- a/Source/Paths/SvgPath.cs +++ b/Source/Paths/SvgPath.cs @@ -81,27 +81,20 @@ namespace Svg /// /// Gets the for this element. /// - public override GraphicsPath Path + public override GraphicsPath Path(SvgRenderer renderer) { - get + if (this._path == null || this.IsPathDirty) { - if (this._path == null || this.IsPathDirty) - { - _path = new GraphicsPath(); - - foreach (SvgPathSegment segment in this.PathData) - { - segment.AddToPath(_path); - } + _path = new GraphicsPath(); - this.IsPathDirty = false; + foreach (SvgPathSegment segment in this.PathData) + { + segment.AddToPath(_path); } - return _path; - } - protected set - { - _path = value; + + this.IsPathDirty = false; } + return _path; } internal void OnPathUpdated() @@ -124,7 +117,7 @@ namespace Svg /// The bounds. public override System.Drawing.RectangleF Bounds { - get { return this.Path.GetBounds(); } + get { return this.Path(null).GetBounds(); } } /// @@ -145,8 +138,8 @@ namespace Svg { if (this.Stroke != null) { - float strokeWidth = this.StrokeWidth.ToDeviceValue(this); - using (Pen pen = new Pen(this.Stroke.GetBrush(this, this.StrokeOpacity), strokeWidth)) + float strokeWidth = this.StrokeWidth.ToDeviceValue(renderer, UnitRenderingType.Other, this); + using (Pen pen = new Pen(this.Stroke.GetBrush(this, renderer, this.StrokeOpacity), strokeWidth)) { if (this.StrokeDashArray != null && this.StrokeDashArray.Count > 0) { @@ -154,25 +147,26 @@ namespace Svg pen.DashPattern = this.StrokeDashArray.ConvertAll(u => u.Value / ((strokeWidth <= 0) ? 1 : strokeWidth)).ToArray(); } - renderer.DrawPath(pen, this.Path); + var path = this.Path(renderer); + renderer.DrawPath(pen, path); if (this.MarkerStart != null) { SvgMarker marker = this.OwnerDocument.GetElementById(this.MarkerStart.ToString()); - marker.RenderMarker(renderer, this, Path.PathPoints[0], Path.PathPoints[0], Path.PathPoints[1]); + marker.RenderMarker(renderer, this, path.PathPoints[0], path.PathPoints[0], path.PathPoints[1]); } if (this.MarkerMid != null) { SvgMarker marker = this.OwnerDocument.GetElementById(this.MarkerMid.ToString()); - for (int i = 1; i <= Path.PathPoints.Length - 2; i++) - marker.RenderMarker(renderer, this, Path.PathPoints[i], Path.PathPoints[i - 1], Path.PathPoints[i], Path.PathPoints[i + 1]); + for (int i = 1; i <= path.PathPoints.Length - 2; i++) + marker.RenderMarker(renderer, this, path.PathPoints[i], path.PathPoints[i - 1], path.PathPoints[i], path.PathPoints[i + 1]); } if (this.MarkerEnd != null) { SvgMarker marker = this.OwnerDocument.GetElementById(this.MarkerEnd.ToString()); - marker.RenderMarker(renderer, this, Path.PathPoints[Path.PathPoints.Length - 1], Path.PathPoints[Path.PathPoints.Length - 2], Path.PathPoints[Path.PathPoints.Length - 1]); + marker.RenderMarker(renderer, this, path.PathPoints[path.PathPoints.Length - 1], path.PathPoints[path.PathPoints.Length - 2], path.PathPoints[path.PathPoints.Length - 1]); } } } diff --git a/Source/Properties/AssemblyInfo.cs b/Source/Properties/AssemblyInfo.cs index b4d5deda9e9d72324b62754d34011af8823a99b5..24315354ce74136f0d04f6b796baa430ba0ff588 100644 --- a/Source/Properties/AssemblyInfo.cs +++ b/Source/Properties/AssemblyInfo.cs @@ -36,3 +36,5 @@ using System.Runtime.InteropServices; //[assembly: AssemblyFileVersion("1.0.1.*")] [assembly: CLSCompliant(true)] + +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Svg.UnitTests")] \ No newline at end of file diff --git a/Source/Svg.csproj b/Source/Svg.csproj index 1b00cbb5ce1e55b14525c509e6a3400035079b1e..c344e84bba1aa78e244d281e91374e3c2b325558 100644 --- a/Source/Svg.csproj +++ b/Source/Svg.csproj @@ -82,6 +82,7 @@ svgkey.snk + @@ -99,6 +100,9 @@ + + + @@ -227,6 +231,7 @@ + diff --git a/Source/Svg.sln b/Source/Svg.sln index b42362a7b489bb8ceee0210506719ac08c338fd5..5837eeec3830033a2979fa6659fe372f5823cba4 100644 --- a/Source/Svg.sln +++ b/Source/Svg.sln @@ -1,33 +1,76 @@  Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 -# SharpDevelop 4.4 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svg", "Svg.csproj", "{886A98C5-37C0-4E8B-885E-30C1D2F98B47}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SVGViewer", "..\Samples\SVGViewer\SVGViewer.csproj", "{1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Svg.UnitTests", "..\Tests\Svg.UnitTests\Svg.UnitTests.csproj", "{E702EB7D-D01D-438A-BADD-E72D4E49109F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{A417AF1E-BEDB-4715-B4FD-D795579217F9}" + ProjectSection(SolutionItems) = preProject + Local.testsettings = Local.testsettings + Svg.vsmdi = Svg.vsmdi + TraceAndTestImpact.testsettings = TraceAndTestImpact.testsettings + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SvgW3CTestRunner", "..\Tests\SvgW3CTestRunner\SvgW3CTestRunner.csproj", "{8ED74C39-6CFF-421E-952A-30F9E6957108}" +EndProject Global + GlobalSection(TestCaseManagementSettings) = postSolution + CategoryFile = Svg.vsmdi + EndGlobalSection GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Any CPU.Build.0 = Debug|Any CPU + {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Debug|x86.ActiveCfg = Debug|Any CPU {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Any CPU.ActiveCfg = Release|Any CPU {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Any CPU.Build.0 = Release|Any CPU + {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|Mixed Platforms.Build.0 = Release|Any CPU {886A98C5-37C0-4E8B-885E-30C1D2F98B47}.Release|x86.ActiveCfg = Release|Any CPU - {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Any CPU.Build.0 = Debug|Any CPU {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|x86.Build.0 = Debug|Any CPU + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|Mixed Platforms.Build.0 = Debug|x86 {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|x86.ActiveCfg = Debug|x86 - {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Any CPU.Build.0 = Release|Any CPU + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Debug|x86.Build.0 = Debug|Any CPU {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|x86.Build.0 = Release|Any CPU + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Any CPU.Build.0 = Release|Any CPU + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|Mixed Platforms.Build.0 = Release|x86 {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|x86.ActiveCfg = Release|Any CPU + {1B8F3C8A-CCAC-474E-B09D-522FBA93DCFD}.Release|x86.Build.0 = Release|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Debug|x86.ActiveCfg = Debug|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Any CPU.Build.0 = Release|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {E702EB7D-D01D-438A-BADD-E72D4E49109F}.Release|x86.ActiveCfg = Release|Any CPU + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|Any CPU.ActiveCfg = Debug|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|x86.ActiveCfg = Debug|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Debug|x86.Build.0 = Debug|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|Any CPU.ActiveCfg = Release|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|Mixed Platforms.Build.0 = Release|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|x86.ActiveCfg = Release|x86 + {8ED74C39-6CFF-421E-952A-30F9E6957108}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Source/Svg.vsmdi b/Source/Svg.vsmdi new file mode 100644 index 0000000000000000000000000000000000000000..2a4df24c981700208f8d1bc0116c4c0196dc6b79 --- /dev/null +++ b/Source/Svg.vsmdi @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Source/SvgAttributeCollection.cs b/Source/SvgAttributeCollection.cs index 42b0550d3787ff31089027787a45495bd903479f..aaf910cbc8001d8b3ca05afcc5fc7a781db2031c 100644 --- a/Source/SvgAttributeCollection.cs +++ b/Source/SvgAttributeCollection.cs @@ -63,9 +63,12 @@ namespace Svg /// The attribute value if available; otherwise the ancestors value for the same attribute; otherwise the default value of . public TAttributeType GetInheritedAttribute(string attributeName) { - if (this.ContainsKey(attributeName) /*&& base[attributeName] != null*/) + if (this.ContainsKey(attributeName) && !IsInheritValue(base[attributeName])) { - return (TAttributeType)base[attributeName]; + var result = (TAttributeType)base[attributeName]; + var deferred = result as SvgDeferredPaintServer; + if (deferred != null) deferred.EnsureServer(_owner); + return result; } if (this._owner.Parent != null) @@ -79,6 +82,16 @@ namespace Svg return default(TAttributeType); } + private bool IsInheritValue(object value) + { + return (value == null || + (value is SvgFontStyle && (SvgFontStyle)value == SvgFontStyle.inherit) || + (value is SvgFontWeight && (SvgFontWeight)value == SvgFontWeight.inherit) || + (value is SvgTextAnchor && (SvgTextAnchor)value == SvgTextAnchor.inherit) || + (value == "inherit") + ); + } + /// /// Gets the attribute with the specified name. /// diff --git a/Source/SvgDocument.cs b/Source/SvgDocument.cs index fca66984e98e2cccbc005edf883d0c14e022b5b1..9dc6303d31e19c93ebb14c879e9786616944d525 100644 --- a/Source/SvgDocument.cs +++ b/Source/SvgDocument.cs @@ -30,6 +30,8 @@ namespace Svg Ppi = PointsPerInch; } + public Uri BaseUri { get; set; } + /// /// Gets an for this document. /// @@ -157,7 +159,9 @@ namespace Svg throw new FileNotFoundException("The specified document cannot be found.", path); } - return Open(File.OpenRead(path), entities); + var doc = Open(File.OpenRead(path), entities); + doc.BaseUri = new Uri(System.IO.Path.GetFullPath(path)); + return doc; } /// @@ -305,22 +309,37 @@ namespace Svg var cssTotal = styles.Select((s) => s.Content).Aggregate((p, c) => p + Environment.NewLine + c); var cssParser = new Parser(); var sheet = cssParser.Parse(cssTotal); + AggregateSelectorList aggList; + IEnumerable selectors; IEnumerable elemsToStyle; foreach (var rule in sheet.StyleRules) { - elemsToStyle = svgDocument.QuerySelectorAll(rule.Selector.ToString()); - foreach (var elem in elemsToStyle) + aggList = rule.Selector as AggregateSelectorList; + if (aggList != null && aggList.Delimiter == ",") + { + selectors = aggList; + } + else + { + selectors = Enumerable.Repeat(rule.Selector, 1); + } + + foreach (var selector in selectors) { - foreach (var decl in rule.Declarations) + elemsToStyle = svgDocument.QuerySelectorAll(rule.Selector.ToString()); + foreach (var elem in elemsToStyle) { - elem.AddStyle(decl.Name, decl.Term.ToString(), rule.Selector.GetSpecificity()); + foreach (var decl in rule.Declarations) + { + elem.AddStyle(decl.Name, decl.Term.ToString(), rule.Selector.GetSpecificity()); + } } } } } - FlushStyles(svgDocument); + if (svgDocument != null) FlushStyles(svgDocument); return svgDocument; } @@ -345,10 +364,8 @@ namespace Svg throw new ArgumentNullException("document"); } - using (var stream = new MemoryStream(UTF8Encoding.Default.GetBytes(document.InnerXml))) - { - return Open(stream, null); - } + var reader = new SvgNodeReader(document.DocumentElement, null); + return Open(reader); } public static Bitmap OpenAsBitmap(string path) @@ -373,6 +390,7 @@ namespace Svg throw new ArgumentNullException("renderer"); } + renderer.Boundable(this); this.Render(renderer); } @@ -388,7 +406,9 @@ namespace Svg throw new ArgumentNullException("graphics"); } - this.Render(SvgRenderer.FromGraphics(graphics)); + var renderer = SvgRenderer.FromGraphics(graphics); + renderer.Boundable(this); + this.Render(renderer); } /// @@ -427,6 +447,7 @@ namespace Svg { using (var renderer = SvgRenderer.FromImage(bitmap)) { + renderer.Boundable(this); renderer.TextRenderingHint = TextRenderingHint.AntiAlias; renderer.TextContrast = 1; renderer.PixelOffsetMode = PixelOffsetMode.Half; diff --git a/Source/SvgElement.cs b/Source/SvgElement.cs index 594559b3ba3f96ab53913edae33b685712dfc4a8..b2ceb6cb40f85970602ffb76879981fe3d3834c0 100644 --- a/Source/SvgElement.cs +++ b/Source/SvgElement.cs @@ -40,6 +40,7 @@ namespace Svg private EventHandlerList _eventHandlers; private SvgElementCollection _children; private static readonly object _loadEventKey = new object(); + private Region _graphicsClip; private Matrix _graphicsMatrix; private SvgCustomAttributeCollection _customAttributes; private List _nodes = new List(); @@ -89,6 +90,16 @@ namespace Svg internal set { this._elementName = value; } } + /// + /// Gets or sets the color of this element which drives the currentColor property. + /// + [SvgAttribute("color")] + public virtual SvgPaintServer Color + { + get { return (this.Attributes["color"] == null) ? SvgColourServer.NotSet : (SvgPaintServer)this.Attributes["color"]; } + set { this.Attributes["color"] = value; } + } + /// /// Gets or sets the content of the element. /// @@ -247,15 +258,17 @@ namespace Svg /// Applies the required transforms to . /// /// The to be transformed. - protected internal virtual void PushTransforms(SvgRenderer renderer) + protected internal virtual bool PushTransforms(SvgRenderer renderer) { _graphicsMatrix = renderer.Transform; + _graphicsClip = renderer.Clip; // Return if there are no transforms if (this.Transforms == null || this.Transforms.Count == 0) { - return; + return true; } + if (this.Transforms.Count == 1 && this.Transforms[0].Matrix.Equals(new Matrix(0, 0, 0, 0, 0, 0))) return false; Matrix transformMatrix = renderer.Transform; @@ -265,6 +278,8 @@ namespace Svg } renderer.Transform = transformMatrix; + + return true; } /// @@ -275,6 +290,8 @@ namespace Svg { renderer.Transform = _graphicsMatrix; _graphicsMatrix = null; + renderer.SetClip(_graphicsClip); + _graphicsClip = null; } /// @@ -659,7 +676,7 @@ namespace Svg { if(!(child is SvgGroup)) { - var childPath = ((SvgVisualElement)child).Path; + var childPath = ((SvgVisualElement)child).Path(null); if (childPath != null) { @@ -671,8 +688,8 @@ namespace Svg } } } - - AddPaths(child, path); + + if (!(child is SvgPaintServer)) AddPaths(child, path); } } @@ -681,7 +698,7 @@ namespace Svg /// /// /// - protected GraphicsPath GetPaths(SvgElement elem) + protected GraphicsPath GetPaths(SvgElement elem, SvgRenderer renderer) { var ret = new GraphicsPath(); @@ -691,7 +708,7 @@ namespace Svg { if(!(child is SvgGroup)) { - var childPath = ((SvgVisualElement)child).Path; + var childPath = ((SvgVisualElement)child).Path(renderer); if (childPath != null) { @@ -704,7 +721,7 @@ namespace Svg } else { - var childPath = GetPaths(child); + var childPath = GetPaths(child, renderer); if(child.Transforms != null) childPath.Transform(child.Transforms.GetMatrix()); } diff --git a/Source/SvgElementFactory.cs b/Source/SvgElementFactory.cs index 22fe86267b8234cd60b5b85adc834b3e4e2700cd..8f812bf25234184fccf77ef6f2e5f7737268ed95 100644 --- a/Source/SvgElementFactory.cs +++ b/Source/SvgElementFactory.cs @@ -130,40 +130,6 @@ namespace Svg while (reader.MoveToNextAttribute()) { - //// Special treatment for "style" - //if (reader.LocalName.Equals("style") && !(element is NonSvgElement)) - //{ - // styles = reader.Value.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); - - // for (i = 0; i < styles.Length; i++) - // { - // if (!styles[i].Contains(":")) - // { - // continue; - // } - - // style = styles[i].Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries); - // SetPropertyValue(element, style[0].Trim(), style[1].Trim(), document); - // } - - // //defaults for text can come from the document - // if (element.ElementName == "text") - // { - // if (!styles.Contains("font-size") && document.CustomAttributes.ContainsKey("font-size") && document.CustomAttributes["font-size"] != null) - // { - // SetPropertyValue(element, "font-size", document.CustomAttributes["font-size"], document); - // } - // if (!styles.Contains("font-family") && document.CustomAttributes.ContainsKey("font-family") && document.CustomAttributes["font-family"] != null) - // { - // SetPropertyValue(element, "font-family", document.CustomAttributes["font-family"], document); - // } - - // } - // continue; - //} - - //SetPropertyValue(element, reader.LocalName, reader.Value, document); - if (reader.LocalName.Equals("style") && !(element is NonSvgElement)) { var inlineSheet = cssParser.Parse("#a{" + reader.Value + "}"); @@ -175,15 +141,89 @@ namespace Svg } } } - else + else if (IsStyleAttribute(reader.LocalName)) { element.AddStyle(reader.LocalName, reader.Value, 2 << 16); } + else + { + SetPropertyValue(element, reader.LocalName, reader.Value, document); + } } //Trace.TraceInformation("End SetAttributes"); } + private static bool IsStyleAttribute(string name) + { + switch (name) + { + case "alignment-baseline": + case "baseline-shift": + case "clip": + case "clip-path": + case "clip-rule": + case "color": + case "color-interpolation": + case "color-interpolation-filters": + case "color-profile": + case "color-rendering": + case "cursor": + case "direction": + case "display": + case "dominant-baseline": + case "enable-background": + case "fill": + case "fill-opacity": + case "fill-rule": + case "filter": + case "flood-color": + case "flood-opacity": + case "font": + case "font-family": + case "font-size": + case "font-size-adjust": + case "font-stretch": + case "font-style": + case "font-variant": + case "font-weight": + case "glyph-orientation-horizontal": + case "glyph-orientation-vertical": + case "image-rendering": + case "kerning": + case "letter-spacing": + case "lighting-color": + case "marker": + case "marker-end": + case "marker-mid": + case "marker-start": + case "mask": + case "opacity": + case "overflow": + case "pointer-events": + case "shape-rendering": + case "stop-color": + case "stop-opacity": + case "stroke": + case "stroke-dasharray": + case "stroke-dashoffset": + case "stroke-linecap": + case "stroke-linejoin": + case "stroke-miterlimit": + case "stroke-opacity": + case "stroke-width": + case "text-anchor": + case "text-decoration": + case "text-rendering": + case "unicode-bidi": + case "visibility": + case "word-spacing": + case "writing-mode": + return true; + } + return false; + } + private static Dictionary> _propertyDescriptors = new Dictionary>(); private static object syncLock = new object(); diff --git a/Source/SvgNodeReader.cs b/Source/SvgNodeReader.cs new file mode 100644 index 0000000000000000000000000000000000000000..05c2666b714eb5a549e703494f4286f48ef2ef61 --- /dev/null +++ b/Source/SvgNodeReader.cs @@ -0,0 +1,157 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Xml; +using System.IO; +using System.Collections.Specialized; + +namespace Svg +{ + internal sealed class SvgNodeReader : XmlNodeReader + { + private Dictionary _entities; + private string _value; + private bool _customValue = false; + private string _localName; + + public SvgNodeReader(XmlNode node, Dictionary entities) + : base(node) + { + this._entities = entities; + } + + /// + /// Gets the text value of the current node. + /// + /// + /// The value returned depends on the of the node. The following table lists node types that have a value to return. All other node types return String.Empty.Node Type Value AttributeThe value of the attribute. CDATAThe content of the CDATA section. CommentThe content of the comment. DocumentTypeThe internal subset. ProcessingInstructionThe entire content, excluding the target. SignificantWhitespaceThe white space within an xml:space= 'preserve' scope. TextThe content of the text node. WhitespaceThe white space between markup. XmlDeclarationThe content of the declaration. + public override string Value + { + get + { + return (this._customValue) ? this._value : base.Value; + } + } + + /// + /// Gets the local name of the current node. + /// + /// + /// The name of the current node with the prefix removed. For example, LocalName is book for the element <bk:book>.For node types that do not have a name (like Text, Comment, and so on), this property returns String.Empty. + public override string LocalName + { + get + { + return (this._customValue) ? this._localName : base.LocalName; + } + } + + private IDictionary Entities + { + get + { + if (this._entities == null) + { + this._entities = new Dictionary(); + } + + return this._entities; + } + } + + /// + /// Moves to the next attribute. + /// + /// + /// true if there is a next attribute; false if there are no more attributes. + /// + public override bool MoveToNextAttribute() + { + bool moved = base.MoveToNextAttribute(); + + if (moved) + { + this._localName = base.LocalName; + + if (this.ReadAttributeValue()) + { + if (this.NodeType == XmlNodeType.EntityReference) + { + this.ResolveEntity(); + } + else + { + this._value = base.Value; + } + } + this._customValue = true; + } + + return moved; + } + + /// + /// Reads the next node from the stream. + /// + /// + /// true if the next node was read successfully; false if there are no more nodes to read. + /// + /// An error occurred while parsing the XML. + public override bool Read() + { + this._customValue = false; + bool read = base.Read(); + + if (this.NodeType == XmlNodeType.DocumentType) + { + this.ParseEntities(); + } + + return read; + } + + private void ParseEntities() + { + const string entityText = " + /// Resolves the entity reference for EntityReference nodes. + /// + public override void ResolveEntity() + { + if (this.NodeType == XmlNodeType.EntityReference) + { + if (this._entities.ContainsKey(this.Name)) + { + this._value = this._entities[this.Name]; + } + else + { + this._value = string.Empty; + } + + this._customValue = true; + } + } + } +} \ No newline at end of file diff --git a/Source/SvgRenderer.cs b/Source/SvgRenderer.cs index 40417de9d8ef4f5342dd8329e275f2a031abb297..8ed934cb55d190cd7f94cff09941efd0e15b6a4c 100644 --- a/Source/SvgRenderer.cs +++ b/Source/SvgRenderer.cs @@ -8,9 +8,26 @@ using System.Drawing.Text; namespace Svg { + /// + /// Convenience wrapper around a graphics object + /// public sealed class SvgRenderer : IDisposable { private Graphics _innerGraphics; + private Stack _boundables = new Stack(); + + public void Boundable(ISvgBoundable boundable) + { + _boundables.Push(boundable); + } + public ISvgBoundable Boundable() + { + return _boundables.Peek(); + } + public ISvgBoundable PopBoundable() + { + return _boundables.Pop(); + } /// /// Initializes a new instance of the class. @@ -47,6 +64,14 @@ namespace Svg return renderer; } + public static SvgRenderer FromNull() + { + SvgRenderer renderer = new SvgRenderer(); + var img = new Bitmap(1, 1); + renderer._innerGraphics = Graphics.FromImage(img); + return renderer; + } + public void DrawImageUnscaled(Image image, Point location) { this._innerGraphics.DrawImageUnscaled(image, location); @@ -57,9 +82,13 @@ namespace Svg _innerGraphics.DrawImage(image, destRect, srcRect, graphicsUnit); } + public void AddClip(Region region) + { + this._innerGraphics.SetClip(region, CombineMode.Intersect); + } public void SetClip(Region region) { - this._innerGraphics.SetClip(region, CombineMode.Complement); + this._innerGraphics.SetClip(region, CombineMode.Replace); } public void FillPath(Brush brush, GraphicsPath path) @@ -151,17 +180,18 @@ namespace Svg public SizeF MeasureString(string text, Font font) { var ff = font.FontFamily; - float lineSpace = ff.GetLineSpacing(font.Style); + //Baseline calculation to match http://bobpowell.net/formattingtext.aspx float ascent = ff.GetCellAscent(font.Style); - float baseline = font.GetHeight(this._innerGraphics) * ascent / lineSpace; + float baselineOffset = font.SizeInPoints / ff.GetEmHeight(font.Style) * ascent; + float baselineOffsetPixels = this._innerGraphics.DpiY / 72f * baselineOffset; StringFormat format = StringFormat.GenericTypographic; format.SetMeasurableCharacterRanges(new CharacterRange[]{new CharacterRange(0, text.Length)}); format.FormatFlags |= StringFormatFlags.MeasureTrailingSpaces; Region[] r = this._innerGraphics.MeasureCharacterRanges(text, font, new Rectangle(0, 0, 1000, 1000), format); RectangleF rect = r[0].GetBounds(this._innerGraphics); - - return new SizeF(rect.Width, baseline); + + return new SizeF(rect.Width, baselineOffsetPixels); } } } \ No newline at end of file diff --git a/Source/SvgTextReader.cs b/Source/SvgTextReader.cs index 41ce58feb7495ee898174bdf22edf9b9e069b2da..7ef556cb6f48222de0963acd7891059ab74b9a14 100644 --- a/Source/SvgTextReader.cs +++ b/Source/SvgTextReader.cs @@ -18,14 +18,14 @@ namespace Svg public SvgTextReader(Stream stream, Dictionary entities) : base(stream) { - this.EntityHandling = EntityHandling.ExpandCharEntities; + this.EntityHandling = EntityHandling.ExpandEntities; this._entities = entities; } public SvgTextReader(TextReader reader, Dictionary entities) : base(reader) { - this.EntityHandling = EntityHandling.ExpandCharEntities; + this.EntityHandling = EntityHandling.ExpandEntities; this._entities = entities; } @@ -126,6 +126,7 @@ namespace Svg string[] parts = null; string name = null; string value = null; + int quoteIndex; foreach (string entity in entities) { @@ -134,11 +135,14 @@ namespace Svg continue; } - parts = entity.Trim().Split(new char[]{' ', '\t'}, StringSplitOptions.RemoveEmptyEntries); - name = parts[0]; - value = parts[1].Split(new char[] { this.QuoteChar }, StringSplitOptions.RemoveEmptyEntries)[0]; - - this.Entities.Add(name, value); + name = entity.Trim(); + quoteIndex = name.IndexOf(this.QuoteChar); + if (quoteIndex > 0) + { + value = name.Substring(quoteIndex + 1, name.LastIndexOf(this.QuoteChar) - quoteIndex - 1); + name = name.Substring(0, quoteIndex).Trim(); + this.Entities.Add(name, value); + } } } diff --git a/Source/Text/SvgTextBase.cs b/Source/Text/SvgTextBase.cs index 34a7fbe84b1bdfe06df4ff8054448ed33c352e7b..f1315d720f27cedcb60f7d008ffe499c9584ec78 100644 --- a/Source/Text/SvgTextBase.cs +++ b/Source/Text/SvgTextBase.cs @@ -25,10 +25,8 @@ namespace Svg private SvgUnitCollection _dx = new SvgUnitCollection(); private SvgUnit _letterSpacing; private SvgUnit _wordSpacing; - private SvgTextAnchor _textAnchor = SvgTextAnchor.inherit; private static readonly SvgRenderer _stringMeasure; - private const string DefaultFontFamily = "Times New Roman"; - + private XmlSpaceHandling _space = XmlSpaceHandling.@default; /// @@ -57,8 +55,15 @@ namespace Svg [SvgAttribute("text-anchor")] public virtual SvgTextAnchor TextAnchor { - get { return this._textAnchor; } - set { this._textAnchor = value; this.IsPathDirty = true; } + get { return (this.Attributes["text-anchor"] == null) ? SvgTextAnchor.inherit : (SvgTextAnchor)this.Attributes["text-anchor"]; } + set { this.Attributes["text-anchor"] = value; this.IsPathDirty = true; } + } + + [SvgAttribute("baseline-shift")] + public virtual string BaselineShift + { + get { return this.Attributes["baseline-shift"] as string; } + set { this.Attributes["baseline-shift"] = value; this.IsPathDirty = true; } } /// @@ -166,7 +171,7 @@ namespace Svg /// The fill. public override SvgPaintServer Fill { - get { return (this.Attributes["fill"] == null) ? new SvgColourServer(Color.Black) : (SvgPaintServer)this.Attributes["fill"]; } + get { return (this.Attributes["fill"] == null) ? new SvgColourServer(System.Drawing.Color.Black) : (SvgPaintServer)this.Attributes["fill"]; } set { this.Attributes["fill"] = value; } } @@ -198,33 +203,15 @@ namespace Svg { get { - var path = this.Path; + var path = this.Path(null); foreach (var elem in this.Children.OfType()) { - path.AddPath(elem.Path, false); + path.AddPath(elem.Path(null), false); } return path.GetBounds(); } } - private static string ValidateFontFamily(string fontFamilyList) - { - // Split font family list on "," and then trim start and end spaces and quotes. - var fontParts = fontFamilyList.Split(new[] { ',' }).Select(fontName => fontName.Trim(new[] { '"', ' ', '\'' })); - - var families = System.Drawing.FontFamily.Families; - - // Find a the first font that exists in the list of installed font families. - //styles from IE get sent through as lowercase. - foreach (var f in fontParts.Where(f => families.Any(family => family.Name.ToLower() == f.ToLower()))) - { - return f; - } - // No valid font family found from the list requested. - return null; - } - - /// /// Renders the and contents to the specified object. /// @@ -232,7 +219,7 @@ namespace Svg /// Necessary to make sure that any internal tspan elements get rendered as well protected override void Render(SvgRenderer renderer) { - if ((this.Path != null) && this.Visible && this.Displayable) + if ((this.Path(renderer) != null) && this.Visible && this.Displayable) { this.PushTransforms(renderer); this.SetClip(renderer); @@ -275,9 +262,9 @@ namespace Svg } public SizeF Bounds { get; set; } } - protected BoundsData GetTextBounds() + protected BoundsData GetTextBounds(SvgRenderer renderer) { - var font = GetFont(); + var font = GetFont(renderer); SvgTextBase innerText; SizeF stringBounds; float totalHeight = 0; @@ -305,7 +292,8 @@ namespace Svg { Bounds = stringBounds, Node = new SvgContentNode() { Content = ch }, - xOffset = (i == 0 ? 0 : _x[i].ToDeviceValue(this) - _x[0].ToDeviceValue(this)) + xOffset = (i == 0 ? 0 : _x[i].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this) - + _x[0].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this)) }); } } @@ -326,9 +314,9 @@ namespace Svg } else { - stringBounds = innerText.GetTextBounds().Bounds; + stringBounds = innerText.GetTextBounds(renderer).Bounds; result.Nodes.Add(new NodeBounds() { Bounds = stringBounds, Node = node, xOffset = totalWidth }); - if (innerText.Dx.Count == 1) totalWidth += innerText.Dx[0].ToDeviceValue(this); + if (innerText.Dx.Count == 1) totalWidth += innerText.Dx[0].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); } totalHeight = Math.Max(totalHeight, stringBounds.Height); totalWidth += stringBounds.Width; @@ -345,75 +333,100 @@ namespace Svg /// Gets the for this element. /// /// - public override System.Drawing.Drawing2D.GraphicsPath Path + public override System.Drawing.Drawing2D.GraphicsPath Path(SvgRenderer renderer) { - get + // Make sure the path is always null if there is no text + //if there is a TSpan inside of this text element then path should not be null (even if this text is empty!) + if ((string.IsNullOrEmpty(this.Text) || this.Text.Trim().Length < 1) && this.Children.Where(x => x is SvgTextSpan).Select(x => x as SvgTextSpan).Count() == 0) + return _path = null; + //NOT SURE WHAT THIS IS ABOUT - Path gets created again anyway - WTF? + // When an empty string is passed to GraphicsPath, it rises an InvalidArgumentException... + + if (_path == null || this.IsPathDirty) { - // Make sure the path is always null if there is no text - //if there is a TSpan inside of this text element then path should not be null (even if this text is empty!) - if ((string.IsNullOrEmpty(this.Text) || this.Text.Trim().Length < 1) && this.Children.Where(x => x is SvgTextSpan).Select(x => x as SvgTextSpan).Count() == 0) - return _path = null; - //NOT SURE WHAT THIS IS ABOUT - Path gets created again anyway - WTF? - // When an empty string is passed to GraphicsPath, it rises an InvalidArgumentException... - - if (_path == null || this.IsPathDirty) + renderer = (renderer ?? SvgRenderer.FromNull()); + // Measure the overall bounds of all the text + var boundsData = GetTextBounds(renderer); + + var font = GetFont(renderer); + SvgTextBase innerText; + float x = (_x.Count < 1 ? _calcX : _x[0].ToDeviceValue(renderer, UnitRenderingType.HorizontalOffset, this)) + + (_dx.Count < 1 ? 0 : _dx[0].ToDeviceValue(renderer, UnitRenderingType.Horizontal, this)); + float y = (_y.Count < 1 ? _calcY : _y[0].ToDeviceValue(renderer, UnitRenderingType.VerticalOffset, this)) + + (_dy.Count < 1 ? 0 : _dy[0].ToDeviceValue(renderer, UnitRenderingType.Vertical, this)); + + _path = new GraphicsPath(); + _path.StartFigure(); + + // Determine the location of the start point + switch (this.TextAnchor) { - // Measure the overall bounds of all the text - var boundsData = GetTextBounds(); - - var font = GetFont(); - SvgTextBase innerText; - float x = (_x.Count < 1 ? _calcX : _x[0].ToDeviceValue(this)) + (_dx.Count < 1 ? 0 : _dx[0].ToDeviceValue(this)); - float y = (_y.Count < 1 ? _calcY : _y[0].ToDeviceValue(this, true)) + (_dy.Count < 1 ? 0 : _dy[0].ToDeviceValue(this, true)); - - _path = new GraphicsPath(); - _path.StartFigure(); - - var anchorElem = (from e in this.ParentsAndSelf.OfType() where e.TextAnchor != SvgTextAnchor.inherit select e).FirstOrDefault(); + case SvgTextAnchor.Middle: + x -= (boundsData.Bounds.Width / 2); + break; + case SvgTextAnchor.End: + x -= boundsData.Bounds.Width; + break; + } - // Determine the location of the start point - switch (anchorElem == null ? this.TextAnchor : anchorElem.TextAnchor) + try + { + renderer.Boundable(new FontBoundable(font)); + switch (this.BaselineShift) { - case SvgTextAnchor.Middle: - x -= (boundsData.Bounds.Width / 2); + case null: + case "": + case "baseline": + case "inherit": + // do nothing + break; + case "sub": + y += new SvgUnit(SvgUnitType.Ex, 1).ToDeviceValue(renderer, UnitRenderingType.Vertical, this); break; - case SvgTextAnchor.End: - x -= boundsData.Bounds.Width; + case "super": + y -= new SvgUnit(SvgUnitType.Ex, 1).ToDeviceValue(renderer, UnitRenderingType.Vertical, this); + break; + default: + var convert = new SvgUnitConverter(); + var shift = (SvgUnit)convert.ConvertFromInvariantString(this.BaselineShift); + y -= shift.ToDeviceValue(renderer, UnitRenderingType.Vertical, this); break; } + } + finally + { + renderer.PopBoundable(); + } - NodeBounds data; - var yCummOffset = 0.0f; - for (var i = 0; i < boundsData.Nodes.Count; i++) + NodeBounds data; + var yCummOffset = 0.0f; + for (var i = 0; i < boundsData.Nodes.Count; i++) + { + data = boundsData.Nodes[i]; + innerText = data.Node as SvgTextBase; + if (innerText == null) { - data = boundsData.Nodes[i]; - innerText = data.Node as SvgTextBase; - if (innerText == null) - { - // Minus FontSize because the x/y coords mark the bottom left, not bottom top. - DrawString(_path, x + data.xOffset, y - boundsData.Bounds.Height, font, - PrepareText(data.Node.Content, i > 0 && boundsData.Nodes[i - 1].Node is SvgTextBase, - i < boundsData.Nodes.Count - 1 && boundsData.Nodes[i + 1].Node is SvgTextBase)); - } - else - { - innerText._calcX = x + data.xOffset; - innerText._calcY = y + yCummOffset; - if (innerText.Dy.Count == 1) yCummOffset += innerText.Dy[0].ToDeviceValue(this); - } + // Minus FontSize because the x/y coords mark the bottom left, not bottom top. + DrawString(renderer, _path, x + data.xOffset, y - boundsData.Bounds.Height, font, + PrepareText(data.Node.Content, i > 0 && boundsData.Nodes[i - 1].Node is SvgTextBase, + i < boundsData.Nodes.Count - 1 && boundsData.Nodes[i + 1].Node is SvgTextBase)); + } + else + { + innerText._calcX = x + data.xOffset; + innerText._calcY = y + yCummOffset; + if (innerText.Dy.Count == 1) yCummOffset += innerText.Dy[0].ToDeviceValue(renderer, UnitRenderingType.Vertical, this); } - - _path.CloseFigure(); - this.IsPathDirty = false; } - return _path; - } - protected set - { - _path = value; + + _path.CloseFigure(); + this.IsPathDirty = false; } + return _path; } + private static readonly Regex MultipleSpaces = new Regex(@" {2,}", RegexOptions.Compiled); + /// /// Prepare the text according to the whitespace handling rules. SVG Spec. /// @@ -423,82 +436,21 @@ namespace Svg { if (_space == XmlSpaceHandling.preserve) { - return (leadingSpace ? " " : "") + value.Replace('\t', ' ').Replace("\r\n", " ").Replace('\r', ' ').Replace('\n', ' ') + (trailingSpace ? " " : ""); + return value.Replace('\t', ' ').Replace("\r\n", " ").Replace('\r', ' ').Replace('\n', ' '); } else { - return (leadingSpace ? " " : "") + value.Replace("\r", "").Replace("\n", "").Replace('\t', ' ').Trim().Replace(" ", " ") + (trailingSpace ? " " : ""); + var convValue = MultipleSpaces.Replace(value.Replace("\r", "").Replace("\n", "").Replace('\t', ' '), " "); + if (!leadingSpace) convValue = convValue.TrimStart(); + if (!trailingSpace) convValue = convValue.TrimEnd(); + return convValue; } } - /// - /// Get the font information based on data stored with the text object or inherited from the parent. - /// - /// - internal Font GetFont() - { - var parentList = this.ParentsAndSelf.OfType().ToList(); - - // Get the font-size - float fontSize; - var fontSizeUnit = GetInheritedFontSize(); - if (fontSizeUnit == SvgUnit.None) - { - fontSize = 1.0f; - } - else - { - fontSize = fontSizeUnit.ToDeviceValue(this); - } - - var fontStyle = System.Drawing.FontStyle.Regular; - - // Get the font-weight - var weightElement = (from e in parentList where e.FontWeight != SvgFontWeight.inherit select e).FirstOrDefault(); - if (weightElement != null) - { - switch (weightElement.FontWeight) - { - case SvgFontWeight.bold: - case SvgFontWeight.bolder: - case SvgFontWeight.w700: - case SvgFontWeight.w800: - case SvgFontWeight.w900: - fontStyle |= System.Drawing.FontStyle.Bold; - break; - } - } - - // Get the font-style - var styleElement = (from e in parentList where e.FontStyle != SvgFontStyle.inherit select e).FirstOrDefault(); - if (styleElement != null) - { - switch (styleElement.FontStyle) - { - case SvgFontStyle.italic: - case SvgFontStyle.oblique: - fontStyle |= System.Drawing.FontStyle.Italic; - break; - } - } - - // Get the font-family - var fontFamilyElement = (from e in parentList where e.FontFamily != null && e.FontFamily != "inherit" select e).FirstOrDefault(); - string family; - if (fontFamilyElement == null) - { - family = DefaultFontFamily; - } - else - { - family = ValidateFontFamily(fontFamilyElement.FontFamily) ?? DefaultFontFamily; - } - return new Font(family, fontSize, fontStyle, GraphicsUnit.Pixel); - } /// /// Draws a string on a path at a specified location and with a specified font. /// - internal void DrawString(GraphicsPath path, float x, float y, Font font, string text) + internal void DrawString(SvgRenderer renderer, GraphicsPath path, float x, float y, Font font, string text) { PointF location = new PointF(x, y); @@ -507,8 +459,8 @@ namespace Svg { // Cut up into words, or just leave as required string[] words = (this.WordSpacing.Value > 0.0f) ? text.Split(' ') : new string[] { text }; - float wordSpacing = this.WordSpacing.ToDeviceValue(this); - float letterSpacing = this.LetterSpacing.ToDeviceValue(this); + float wordSpacing = this.WordSpacing.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); + float letterSpacing = this.LetterSpacing.ToDeviceValue(renderer, UnitRenderingType.Horizontal, this); float start = x; foreach (string word in words) @@ -579,5 +531,30 @@ namespace Svg } #endif + + private class FontBoundable : ISvgBoundable + { + private Font _font; + + public FontBoundable(Font font) + { + _font = font; + } + + public PointF Location + { + get { return PointF.Empty; } + } + + public SizeF Size + { + get { return new SizeF(1, _font.Size); } + } + + public RectangleF Bounds + { + get { return new RectangleF(this.Location, this.Size); } + } + } } } diff --git a/Source/TraceAndTestImpact.testsettings b/Source/TraceAndTestImpact.testsettings new file mode 100644 index 0000000000000000000000000000000000000000..f7b94b8925b8985b6198044565e6b94b6f1cdc1a --- /dev/null +++ b/Source/TraceAndTestImpact.testsettings @@ -0,0 +1,9 @@ + + + These are test settings for Trace and Test Impact. + + + + + + \ No newline at end of file diff --git a/Source/Transforms/SvgTransformConverter.cs b/Source/Transforms/SvgTransformConverter.cs index 2a9e1d26ffbfd88d135fc1c5b4534bb2fd1f9755..8c228ac2a11fed5d20e8a044d080d69e1337d9dd 100644 --- a/Source/Transforms/SvgTransformConverter.cs +++ b/Source/Transforms/SvgTransformConverter.cs @@ -21,7 +21,8 @@ namespace Svg.Transforms if (transforms[i] == ')') { yield return transforms.Substring(transformEnd, i - transformEnd + 1).Trim(); - transformEnd = i + 1; + while (i < transforms.Length && !char.IsLetter(transforms[i])) i++; + transformEnd = i; } } } diff --git a/Tests/Svg.UnitTests/CssQueryTest.cs b/Tests/Svg.UnitTests/CssQueryTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..110714fd2e3c98d28846cc1ca89c9a26ed5a6661 --- /dev/null +++ b/Tests/Svg.UnitTests/CssQueryTest.cs @@ -0,0 +1,104 @@ +using Svg.Css; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using System; +using ExCSS; + +namespace Svg.UnitTests +{ + + + /// + ///This is a test class for CssQueryTest and is intended + ///to contain all CssQueryTest Unit Tests + /// + [TestClass()] + public class CssQueryTest + { + + + private TestContext testContextInstance; + + /// + ///Gets or sets the test context which provides + ///information about and functionality for the current test run. + /// + public TestContext TestContext + { + get + { + return testContextInstance; + } + set + { + testContextInstance = value; + } + } + + #region Additional test attributes + // + //You can use the following additional attributes as you write your tests: + // + //Use ClassInitialize to run code before running the first test in the class + //[ClassInitialize()] + //public static void MyClassInitialize(TestContext testContext) + //{ + //} + // + //Use ClassCleanup to run code after all tests in a class have run + //[ClassCleanup()] + //public static void MyClassCleanup() + //{ + //} + // + //Use TestInitialize to run code before running each test + //[TestInitialize()] + //public void MyTestInitialize() + //{ + //} + // + //Use TestCleanup to run code after each test has run + //[TestCleanup()] + //public void MyTestCleanup() + //{ + //} + // + #endregion + + private void TestSelectorSpecificity(string selector, int specificity) + { + var parser = new ExCSS.Parser(); + var sheet = parser.Parse(selector + " {color:black}"); + Assert.AreEqual(specificity, CssQuery.GetSpecificity(sheet.StyleRules[0].Selector)); + } + + /// + ///A test for GetSpecificity + /// + ///Lifted from http://www.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/, and http://css-tricks.com/specifics-on-css-specificity/ + [TestMethod()] + public void RunSpecificityTests() + { + TestSelectorSpecificity("*", 0x0); + TestSelectorSpecificity("li", 0x10); + TestSelectorSpecificity("li:first-line", 0x20); + TestSelectorSpecificity("ul li", 0x20); + TestSelectorSpecificity("ul ol+li", 0x30); + TestSelectorSpecificity("h1 + *[rel=up]", 0x110); + TestSelectorSpecificity("ul ol li.red", 0x130); + TestSelectorSpecificity("li.red.level", 0x210); + TestSelectorSpecificity("p", 0x010); + TestSelectorSpecificity("div p", 0x020); + TestSelectorSpecificity(".sith", 0x100); + TestSelectorSpecificity("div p.sith", 0x120); + TestSelectorSpecificity("#sith", 0x1000); + TestSelectorSpecificity("body #darkside .sith p", 0x1120); + TestSelectorSpecificity("body #content .data img:hover", 0x1220); + TestSelectorSpecificity("a#a-02", 0x1010); + TestSelectorSpecificity("a[id=\"a-02\"]", 0x0110); + TestSelectorSpecificity("ul#nav li.active a", 0x1130); + TestSelectorSpecificity("body.ie7 .col_3 h2 ~ h2", 0x0230); + TestSelectorSpecificity("#footer *:not(nav) li", 0x1020); + TestSelectorSpecificity("ul > li ul li ol li:first-letter", 0x0070); + } + } +} diff --git a/Tests/Svg.UnitTests/Properties/AssemblyInfo.cs b/Tests/Svg.UnitTests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..d55fff5b236bda7eead4c3c50ab389f7ee512981 --- /dev/null +++ b/Tests/Svg.UnitTests/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Svg.UnitTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("Svg.UnitTests")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("6ab1d266-f201-46c0-9d14-523768eb18db")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Tests/Svg.UnitTests/Svg.UnitTests.csproj b/Tests/Svg.UnitTests/Svg.UnitTests.csproj new file mode 100644 index 0000000000000000000000000000000000000000..0cfcb0b9932762790b8bdb8f38272d0a9ca36589 --- /dev/null +++ b/Tests/Svg.UnitTests/Svg.UnitTests.csproj @@ -0,0 +1,68 @@ + + + + Debug + AnyCPU + + + 2.0 + {E702EB7D-D01D-438A-BADD-E72D4E49109F} + Library + Properties + Svg.UnitTests + Svg.UnitTests + v4.0 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + 3.5 + + + + + + + + False + + + + + + + + + {886A98C5-37C0-4E8B-885E-30C1D2F98B47} + Svg + + + + + \ No newline at end of file diff --git a/Tests/SvgW3CTestRunner/Program.cs b/Tests/SvgW3CTestRunner/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..6238c0ae86b4fb52e847acca305071c3cf20baa8 --- /dev/null +++ b/Tests/SvgW3CTestRunner/Program.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; + +namespace SvgW3CTestRunner +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new View()); + } + } +} diff --git a/Tests/SvgW3CTestRunner/Properties/AssemblyInfo.cs b/Tests/SvgW3CTestRunner/Properties/AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..ed10e589eb4c0cfb05e3adbaa2ef8adb3755927b --- /dev/null +++ b/Tests/SvgW3CTestRunner/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SvgW3CTestRunner")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SvgW3CTestRunner")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("bf75ea0d-e099-432c-bad5-7fd6cf53d5ee")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Tests/SvgW3CTestRunner/Properties/Resources.Designer.cs b/Tests/SvgW3CTestRunner/Properties/Resources.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..7b83c291db10f2cda46c5aebfd6f2a094cb57f53 --- /dev/null +++ b/Tests/SvgW3CTestRunner/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18444 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace SvgW3CTestRunner.Properties +{ + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SvgW3CTestRunner.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Tests/SvgW3CTestRunner/Properties/Resources.resx b/Tests/SvgW3CTestRunner/Properties/Resources.resx new file mode 100644 index 0000000000000000000000000000000000000000..af7dbebbacef595e3089c01c05671016c21a8304 --- /dev/null +++ b/Tests/SvgW3CTestRunner/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tests/SvgW3CTestRunner/Properties/Settings.Designer.cs b/Tests/SvgW3CTestRunner/Properties/Settings.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..5fef99146cf91f178b8906434835f9188af85031 --- /dev/null +++ b/Tests/SvgW3CTestRunner/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.18444 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace SvgW3CTestRunner.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Tests/SvgW3CTestRunner/Properties/Settings.settings b/Tests/SvgW3CTestRunner/Properties/Settings.settings new file mode 100644 index 0000000000000000000000000000000000000000..39645652af62950ebf3b28ec3a5400dcec30b1c4 --- /dev/null +++ b/Tests/SvgW3CTestRunner/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Tests/SvgW3CTestRunner/SvgW3CTestRunner.csproj b/Tests/SvgW3CTestRunner/SvgW3CTestRunner.csproj new file mode 100644 index 0000000000000000000000000000000000000000..917b8dbe670e8524c1a1a784a0bec176753abbb8 --- /dev/null +++ b/Tests/SvgW3CTestRunner/SvgW3CTestRunner.csproj @@ -0,0 +1,91 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {8ED74C39-6CFF-421E-952A-30F9E6957108} + WinExe + Properties + SvgW3CTestRunner + SvgW3CTestRunner + v3.5 + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + Form + + + View.cs + + + + + View.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + {886A98C5-37C0-4E8B-885E-30C1D2F98B47} + Svg + + + + + \ No newline at end of file diff --git a/Tests/SvgW3CTestRunner/View.Designer.cs b/Tests/SvgW3CTestRunner/View.Designer.cs new file mode 100644 index 0000000000000000000000000000000000000000..bd05a7836f946c9057ab693144cab32bb3e919b4 --- /dev/null +++ b/Tests/SvgW3CTestRunner/View.Designer.cs @@ -0,0 +1,197 @@ +namespace SvgW3CTestRunner +{ + partial class View + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.lstFiles = new System.Windows.Forms.ListBox(); + this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); + this.tableLayoutPanel3 = new System.Windows.Forms.TableLayoutPanel(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.picSvg = new System.Windows.Forms.PictureBox(); + this.picPng = new System.Windows.Forms.PictureBox(); + this.tableLayoutPanel1.SuspendLayout(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.tableLayoutPanel2.SuspendLayout(); + this.tableLayoutPanel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picSvg)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.picPng)).BeginInit(); + this.SuspendLayout(); + // + // lstFiles + // + this.lstFiles.Dock = System.Windows.Forms.DockStyle.Fill; + this.lstFiles.FormattingEnabled = true; + this.lstFiles.Location = new System.Drawing.Point(3, 3); + this.lstFiles.Name = "lstFiles"; + this.lstFiles.Size = new System.Drawing.Size(144, 376); + this.lstFiles.TabIndex = 0; + this.lstFiles.SelectedIndexChanged += new System.EventHandler(this.lstFiles_SelectedIndexChanged); + // + // tableLayoutPanel1 + // + this.tableLayoutPanel1.ColumnCount = 2; + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 150F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Controls.Add(this.splitContainer1, 1, 0); + this.tableLayoutPanel1.Controls.Add(this.lstFiles, 0, 0); + this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel1.Name = "tableLayoutPanel1"; + this.tableLayoutPanel1.RowCount = 1; + this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel1.Size = new System.Drawing.Size(977, 382); + this.tableLayoutPanel1.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.Location = new System.Drawing.Point(153, 3); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.tableLayoutPanel2); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.tableLayoutPanel3); + this.splitContainer1.Size = new System.Drawing.Size(821, 376); + this.splitContainer1.SplitterDistance = 424; + this.splitContainer1.TabIndex = 0; + // + // tableLayoutPanel2 + // + this.tableLayoutPanel2.ColumnCount = 1; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.Controls.Add(this.label1, 0, 0); + this.tableLayoutPanel2.Controls.Add(this.picSvg, 0, 1); + this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel2.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel2.Name = "tableLayoutPanel2"; + this.tableLayoutPanel2.RowCount = 2; + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(424, 376); + this.tableLayoutPanel2.TabIndex = 0; + // + // tableLayoutPanel3 + // + this.tableLayoutPanel3.ColumnCount = 1; + this.tableLayoutPanel3.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel3.Controls.Add(this.picPng, 0, 1); + this.tableLayoutPanel3.Controls.Add(this.label2, 0, 0); + this.tableLayoutPanel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.tableLayoutPanel3.Location = new System.Drawing.Point(0, 0); + this.tableLayoutPanel3.Name = "tableLayoutPanel3"; + this.tableLayoutPanel3.RowCount = 2; + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle()); + this.tableLayoutPanel3.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); + this.tableLayoutPanel3.Size = new System.Drawing.Size(393, 376); + this.tableLayoutPanel3.TabIndex = 0; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(3, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(67, 13); + this.label1.TabIndex = 0; + this.label1.Text = "SVG Render"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(3, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(68, 13); + this.label2.TabIndex = 0; + this.label2.Text = "PNG Render"; + // + // picSvg + // + this.picSvg.BackColor = System.Drawing.Color.White; + this.picSvg.Dock = System.Windows.Forms.DockStyle.Fill; + this.picSvg.Location = new System.Drawing.Point(0, 13); + this.picSvg.Margin = new System.Windows.Forms.Padding(0); + this.picSvg.Name = "picSvg"; + this.picSvg.Size = new System.Drawing.Size(424, 363); + this.picSvg.TabIndex = 1; + this.picSvg.TabStop = false; + // + // picPng + // + this.picPng.BackColor = System.Drawing.Color.White; + this.picPng.Dock = System.Windows.Forms.DockStyle.Fill; + this.picPng.Location = new System.Drawing.Point(0, 13); + this.picPng.Margin = new System.Windows.Forms.Padding(0); + this.picPng.Name = "picPng"; + this.picPng.Size = new System.Drawing.Size(393, 363); + this.picPng.TabIndex = 2; + this.picPng.TabStop = false; + // + // frmView + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(977, 382); + this.Controls.Add(this.tableLayoutPanel1); + this.Name = "frmView"; + this.Text = "Form1"; + this.tableLayoutPanel1.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + this.splitContainer1.ResumeLayout(false); + this.tableLayoutPanel2.ResumeLayout(false); + this.tableLayoutPanel2.PerformLayout(); + this.tableLayoutPanel3.ResumeLayout(false); + this.tableLayoutPanel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.picSvg)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.picPng)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.ListBox lstFiles; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.PictureBox picSvg; + private System.Windows.Forms.TableLayoutPanel tableLayoutPanel3; + private System.Windows.Forms.PictureBox picPng; + private System.Windows.Forms.Label label2; + } +} + diff --git a/Tests/SvgW3CTestRunner/View.cs b/Tests/SvgW3CTestRunner/View.cs new file mode 100644 index 0000000000000000000000000000000000000000..786325f8a72e40026e5d41a8a922acba3f477d33 --- /dev/null +++ b/Tests/SvgW3CTestRunner/View.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Windows.Forms; +using System.Drawing; +using System.IO; +using Svg; + +namespace SvgW3CTestRunner +{ + public partial class View : Form + { + private const string _svgBasePath = @"..\..\..\W3CTestSuite\svg\"; + private const string _pngBasePath = @"..\..\..\W3CTestSuite\png\"; + + public View() + { + InitializeComponent(); + // ignore tests pertaining to javascript or xml reading + var files = (from f in (from g in Directory.GetFiles(_svgBasePath) + select Path.GetFileName(g)) + where !f.StartsWith("animate-") && !f.StartsWith("conform-viewer") && + !f.Contains("-dom-") && !f.StartsWith("linking-") && !f.StartsWith("interact-") + orderby f + select (object)f); + lstFiles.Items.AddRange(files.ToArray()); + } + + private void lstFiles_SelectedIndexChanged(object sender, EventArgs e) + { + var fileName = lstFiles.SelectedItem.ToString(); + var doc = SvgDocument.Open(_svgBasePath + fileName); + picSvg.Image = doc.Draw(); + var png = Image.FromFile(_pngBasePath + Path.GetFileNameWithoutExtension(fileName) + ".png"); + picPng.Image = png; + } + } +} diff --git a/Tests/SvgW3CTestRunner/View.resx b/Tests/SvgW3CTestRunner/View.resx new file mode 100644 index 0000000000000000000000000000000000000000..7080a7d118e8cd7ec668e9bb0d8e90767e0c7a3c --- /dev/null +++ b/Tests/SvgW3CTestRunner/View.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/20x20.png b/Tests/W3CTestSuite/images/20x20.png new file mode 100644 index 0000000000000000000000000000000000000000..32399c62188a818977bb488d430ce1b8231c8ce2 Binary files /dev/null and b/Tests/W3CTestSuite/images/20x20.png differ diff --git a/Tests/W3CTestSuite/images/50x50-viewbox-greencircle.svg b/Tests/W3CTestSuite/images/50x50-viewbox-greencircle.svg new file mode 100644 index 0000000000000000000000000000000000000000..306c52e4ea4da345a315888b414728aed29e7081 --- /dev/null +++ b/Tests/W3CTestSuite/images/50x50-viewbox-greencircle.svg @@ -0,0 +1,5 @@ + + + + diff --git a/Tests/W3CTestSuite/images/50x50greencircle.svg b/Tests/W3CTestSuite/images/50x50greencircle.svg new file mode 100644 index 0000000000000000000000000000000000000000..cc7aa04ddffeebd4aefcbd3ef407cd796c5af31b --- /dev/null +++ b/Tests/W3CTestSuite/images/50x50greencircle.svg @@ -0,0 +1,5 @@ + + + + diff --git a/Tests/W3CTestSuite/images/DisplaceChecker.png b/Tests/W3CTestSuite/images/DisplaceChecker.png new file mode 100644 index 0000000000000000000000000000000000000000..25c77d0a9d4f9b6cf50da1e8977319aa2b181f4c Binary files /dev/null and b/Tests/W3CTestSuite/images/DisplaceChecker.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g01.png b/Tests/W3CTestSuite/images/PngSuite/basi0g01.png new file mode 100644 index 0000000000000000000000000000000000000000..556fa72704084920c07066054bb57adc5a250b27 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g02.png b/Tests/W3CTestSuite/images/PngSuite/basi0g02.png new file mode 100644 index 0000000000000000000000000000000000000000..ce09821ef101b65b2aa653931416c72923ccab09 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g04.png b/Tests/W3CTestSuite/images/PngSuite/basi0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..3853273f93e5960e0642ca62f6d6ce7433654928 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g08.png b/Tests/W3CTestSuite/images/PngSuite/basi0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..faed8bec445f282d68534af38ceb4006a55c3e86 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi0g16.png b/Tests/W3CTestSuite/images/PngSuite/basi0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f28165efd4a6eaab890f3f46eaab0812614046 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi2c08.png b/Tests/W3CTestSuite/images/PngSuite/basi2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..2aab44d42b23d59d48601b109a795d9ba70d6ab8 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi2c16.png b/Tests/W3CTestSuite/images/PngSuite/basi2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7e50f91402240a419ba4792d52f6f481d46afa Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p01.png b/Tests/W3CTestSuite/images/PngSuite/basi3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..00a7cea6c2d3c36627718a502eb14c812b0b7c46 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p02.png b/Tests/W3CTestSuite/images/PngSuite/basi3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..bb16b44b30907b832b678a3b441278df340edb9f Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p04.png b/Tests/W3CTestSuite/images/PngSuite/basi3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..b4e888e2477d4fbaa3c8ed16a8007d40e58cd52c Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi3p08.png b/Tests/W3CTestSuite/images/PngSuite/basi3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..50a6d1cac7a111d53cd3aec0d35dc4d09311baab Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi4a08.png b/Tests/W3CTestSuite/images/PngSuite/basi4a08.png new file mode 100644 index 0000000000000000000000000000000000000000..398132be5faadf83e159ac59c212213bcd43a894 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi4a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi4a16.png b/Tests/W3CTestSuite/images/PngSuite/basi4a16.png new file mode 100644 index 0000000000000000000000000000000000000000..51192e731106e77cec52a3acda3d0c3cd54a16d5 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi4a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi6a08.png b/Tests/W3CTestSuite/images/PngSuite/basi6a08.png new file mode 100644 index 0000000000000000000000000000000000000000..aecb32e0d9e347ccdcab5d7fdad2dde7aef9da8a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi6a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basi6a16.png b/Tests/W3CTestSuite/images/PngSuite/basi6a16.png new file mode 100644 index 0000000000000000000000000000000000000000..4181533ad81b739fb7b4f3b024f632cd7baa85c5 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basi6a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g01.png b/Tests/W3CTestSuite/images/PngSuite/basn0g01.png new file mode 100644 index 0000000000000000000000000000000000000000..1d722423aa5157fe2b029af4e2bb07f478ebe8bb Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g02.png b/Tests/W3CTestSuite/images/PngSuite/basn0g02.png new file mode 100644 index 0000000000000000000000000000000000000000..508332418fa86637d39e95268ec1d3658d120cae Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g04.png b/Tests/W3CTestSuite/images/PngSuite/basn0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..0bf3687863d8a1f53bef0aa24b841b21b0e04d9e Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g08.png b/Tests/W3CTestSuite/images/PngSuite/basn0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..23c82379a29ff4b99806bbbd2e2342c8fd97ee67 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn0g16.png b/Tests/W3CTestSuite/images/PngSuite/basn0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..e7c82f78eb954be5be51c35bd287e00018c69d82 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn2c08.png b/Tests/W3CTestSuite/images/PngSuite/basn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..db5ad15865f56e48e4bae5b43661d2dbc4e847e3 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn2c16.png b/Tests/W3CTestSuite/images/PngSuite/basn2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..50c1cb91a0171e9f34991b079fe932f5f0bb16d6 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p01.png b/Tests/W3CTestSuite/images/PngSuite/basn3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..b145c2b8eff1f4298e540bfae5c1351d015a3592 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p02.png b/Tests/W3CTestSuite/images/PngSuite/basn3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..8985b3d818e391502c4d05b93db26b046bc57bd9 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p04.png b/Tests/W3CTestSuite/images/PngSuite/basn3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..0fbf9e827b467d65dc252db937d6590478bbf88e Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn3p08.png b/Tests/W3CTestSuite/images/PngSuite/basn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..0ddad07e5f5de86a61bf43d8b89e138d7f1ea8ad Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn4a08.png b/Tests/W3CTestSuite/images/PngSuite/basn4a08.png new file mode 100644 index 0000000000000000000000000000000000000000..3e13052201c9f8b90172ea2491b18d6d121c2786 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn4a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn4a16.png b/Tests/W3CTestSuite/images/PngSuite/basn4a16.png new file mode 100644 index 0000000000000000000000000000000000000000..8243644d0743ebd1fdacb7923069fefbb01dab0e Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn4a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn6a08.png b/Tests/W3CTestSuite/images/PngSuite/basn6a08.png new file mode 100644 index 0000000000000000000000000000000000000000..e6087387639b9cefaaafb696e29a8bd910ee0680 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn6a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/basn6a16.png b/Tests/W3CTestSuite/images/PngSuite/basn6a16.png new file mode 100644 index 0000000000000000000000000000000000000000..984a99525f5246cbc5d7083dd79006c7efa0ab0b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/basn6a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgai4a08.png b/Tests/W3CTestSuite/images/PngSuite/bgai4a08.png new file mode 100644 index 0000000000000000000000000000000000000000..398132be5faadf83e159ac59c212213bcd43a894 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgai4a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgai4a16.png b/Tests/W3CTestSuite/images/PngSuite/bgai4a16.png new file mode 100644 index 0000000000000000000000000000000000000000..51192e731106e77cec52a3acda3d0c3cd54a16d5 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgai4a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgan6a08.png b/Tests/W3CTestSuite/images/PngSuite/bgan6a08.png new file mode 100644 index 0000000000000000000000000000000000000000..e6087387639b9cefaaafb696e29a8bd910ee0680 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgan6a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgan6a16.png b/Tests/W3CTestSuite/images/PngSuite/bgan6a16.png new file mode 100644 index 0000000000000000000000000000000000000000..984a99525f5246cbc5d7083dd79006c7efa0ab0b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgan6a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgbn4a08.png b/Tests/W3CTestSuite/images/PngSuite/bgbn4a08.png new file mode 100644 index 0000000000000000000000000000000000000000..7cbefc3bff08a9d91666d6b0f8b5cb1c896b7987 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgbn4a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bggn4a16.png b/Tests/W3CTestSuite/images/PngSuite/bggn4a16.png new file mode 100644 index 0000000000000000000000000000000000000000..13fd85ba193369dbd84a0dc07f73d3340485fa6a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bggn4a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgwn6a08.png b/Tests/W3CTestSuite/images/PngSuite/bgwn6a08.png new file mode 100644 index 0000000000000000000000000000000000000000..a67ff205bba91cc8f391a0b59110ae6c038539ac Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgwn6a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/bgyn6a16.png b/Tests/W3CTestSuite/images/PngSuite/bgyn6a16.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3e9be58a823cf7c6535b1cadd96c45f15cca8b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/bgyn6a16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ccwn2c08.png b/Tests/W3CTestSuite/images/PngSuite/ccwn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..47c24817b79c1e2df8eb3f4fe43798f249a063d6 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ccwn2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ccwn3p08.png b/Tests/W3CTestSuite/images/PngSuite/ccwn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..8bb2c10981594a83b7a8981436225d0b2241d27b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ccwn3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cdfn2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdfn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..559e5261e705daf7a562a18eee445ccc35990e97 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdfn2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cdhn2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdhn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..3e07e8ecbd08b38031432052c4f8a4b02f866b8d Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdhn2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cdsn2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdsn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..076c32cc082066dc870e1282b97c15ec22192407 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdsn2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cdun2c08.png b/Tests/W3CTestSuite/images/PngSuite/cdun2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..846033be6b4fdec08cc010aa0abb35428b6659d0 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cdun2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ch1n3p04.png b/Tests/W3CTestSuite/images/PngSuite/ch1n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..17cd12dfc9169036898b84dfcd8d7c547c8dfde0 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ch1n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ch2n3p08.png b/Tests/W3CTestSuite/images/PngSuite/ch2n3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..25c17987a778ffd5317f9f0f3ce948a05b056239 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ch2n3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cm0n0g04.png b/Tests/W3CTestSuite/images/PngSuite/cm0n0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..9fba5db3b82ca7725816efca47adfb44d61292f0 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cm0n0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cm7n0g04.png b/Tests/W3CTestSuite/images/PngSuite/cm7n0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..f7dc46e6853b28f0cd61437a8fc7e208310b1afe Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cm7n0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cm9n0g04.png b/Tests/W3CTestSuite/images/PngSuite/cm9n0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..dd70911adce17b3432d178e69c2911618ef9e482 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cm9n0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cs3n2c16.png b/Tests/W3CTestSuite/images/PngSuite/cs3n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5fd20a20445fb7c9cf5d38a6ac4cd0fb28de29 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs3n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cs3n3p08.png b/Tests/W3CTestSuite/images/PngSuite/cs3n3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..f4a66237bfb3a113b7874d569367932762cd0ba8 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs3n3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cs5n2c08.png b/Tests/W3CTestSuite/images/PngSuite/cs5n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..40f947c33e477af3d4c13e3a56efcf32e6871be2 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs5n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cs5n3p08.png b/Tests/W3CTestSuite/images/PngSuite/cs5n3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd6e6e6ecfcf1d0be69730fb34292c8b6561376 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs5n3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cs8n2c08.png b/Tests/W3CTestSuite/images/PngSuite/cs8n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..8e01d3294ff71ea83918aa7f99589c7f88da81c4 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs8n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/cs8n3p08.png b/Tests/W3CTestSuite/images/PngSuite/cs8n3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..a44066eb6edf7e7c45720aed393b64efa2381847 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/cs8n3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ct0n0g04.png b/Tests/W3CTestSuite/images/PngSuite/ct0n0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..40d1e062f8cd792950cbc4307c8eebde62ab5ada Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ct0n0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ct1n0g04.png b/Tests/W3CTestSuite/images/PngSuite/ct1n0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba110aa764ff4e5ee642b7c0788229a4924d383 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ct1n0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ctzn0g04.png b/Tests/W3CTestSuite/images/PngSuite/ctzn0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..b4401c9cfca842537838cec131e416ce9d7b0c26 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ctzn0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f00n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f00n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..45a007596753f6627224931755c073a3362be88c Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f00n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f00n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f00n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a1ffff62eb0f1f1dcdb4ba2b1d30473d3adacd Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f00n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f01n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f01n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1107b4637642335b8ec7b8e1856dc0ba7dab70 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f01n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f01n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f01n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..26fee958ce7e62a59843205ad34f86a525718595 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f01n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f02n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f02n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..bfe410c5e7caaa19aa9f3294da29847720362d16 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f02n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f02n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f02n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..e590f1234816946731c677d0b353e2db5a08d71b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f02n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f03n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f03n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..ed01e2923c92fd8b8786524c6d6841365a44b9de Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f03n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f03n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f03n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..758115059d78260f7485521b83a864d4a930be84 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f03n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f04n0g08.png b/Tests/W3CTestSuite/images/PngSuite/f04n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..663fdae3e7d906df7379d92621a7a951313705cc Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f04n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/f04n2c08.png b/Tests/W3CTestSuite/images/PngSuite/f04n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8b5116e72a63a3de8e0c1892c147071d0269e7 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/f04n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g03n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g03n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..41083ca80f964707b6b89e1cc1266e381710175e Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g03n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g03n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g03n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..a9354dbee6f36cf88f7b6277d3fd43b6cabfd84a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g03n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g03n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g03n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..60396c95af19fc5f14aff9f83d391331a32b3dab Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g03n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g04n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g04n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..32395b76c9c0e1cb962743e8a9c8c41f319a26bd Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g04n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g04n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g04n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..a652b0ce87ed2824e2320154aeeb92915dab7be4 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g04n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g04n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g04n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..5661cc31318e161851f187195610f7b6e0e1df6e Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g04n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g05n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g05n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..70b37f01e2b9e13a30a6e9d3c51a114a2f0953ca Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g05n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g05n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g05n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..932c1365364fead1166e4772f29dcb7657f73f39 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g05n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g05n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g05n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..9619930585eb3798db54058d41c09f6cd195c723 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g05n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g07n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g07n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..d6a47c2d5746fc93d252900c0b2286878b14a71b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g07n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g07n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g07n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..597346460f1999fb225a46c941751a063ce744f4 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g07n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g07n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g07n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..c73fb613650d59c9f17a86e3a2b3888094d1586a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g07n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g10n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g10n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..85f2c958e9a29e0f478aed93975456ec4bfffd1b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g10n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g10n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g10n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..b3039970c10e786659f9752913c41b8a26b1179a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g10n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g10n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g10n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..1b6a6be2ca571956ce45bae5470c03cd2266fd89 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g10n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g25n0g16.png b/Tests/W3CTestSuite/images/PngSuite/g25n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..a9f6787c7ab50968e37514529f53a6249762ca17 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g25n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g25n2c08.png b/Tests/W3CTestSuite/images/PngSuite/g25n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..03f505a64b57293034b16cc1030c61e9f3a810fd Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g25n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/g25n3p04.png b/Tests/W3CTestSuite/images/PngSuite/g25n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..4f943c6175f31c3609bf4458fff9d3c591f112f7 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/g25n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi1n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi1n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..e7c82f78eb954be5be51c35bd287e00018c69d82 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi1n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi1n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi1n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..50c1cb91a0171e9f34991b079fe932f5f0bb16d6 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi1n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi2n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi2n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..14d64c583db347908d4e107b49bdaf88e3857b8d Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi2n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi2n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi2n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..4c2e3e3352babf7ab7b83c65bbd334a3e14f0632 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi2n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi4n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi4n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..69e73ede311c4a846a8f818330708658a1e0fe77 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi4n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi4n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi4n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..93691e373aa49fc22be1f4bb27b28475cdc23a38 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi4n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi9n0g16.png b/Tests/W3CTestSuite/images/PngSuite/oi9n0g16.png new file mode 100644 index 0000000000000000000000000000000000000000..9248413576d964953c7c15ee5f62c7ea5cfbb5e5 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi9n0g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/oi9n2c16.png b/Tests/W3CTestSuite/images/PngSuite/oi9n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..f0512e49f2306f1969bc9fcafedcb77f748b54f8 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/oi9n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/pngsuite.doc b/Tests/W3CTestSuite/images/PngSuite/pngsuite.doc new file mode 100644 index 0000000000000000000000000000000000000000..7da918b4e9645c0a4e5eda1ed30bd6fc0eaeab23 --- /dev/null +++ b/Tests/W3CTestSuite/images/PngSuite/pngsuite.doc @@ -0,0 +1,520 @@ + PNGSUITE +---------------- + + testset for PNG-(de)coders + created by Willem van Schaik +------------------------------------ + +This is a collection of graphics images created to test the png applications +like viewers, converters and editors. All (as far as that is possible) +formats supported by the PNG standard are represented. + + +1. INTRODUCTION +-------------------- + +1.1 PNG capabilities +------------------------ + +Supported color-types are: + + - grayscale + - grayscale + alpha-channel + - color palettes + - rgb + - rgb + alpha-channel + +Allowed bitdepths are depending on the color-type, but are in the range +of 1-bit (grayscale, which is b&w) upto 16-bits. + +Special features are: + + - interlacing (Adam-7) + - gamma-support + - transparency (a poor-man's alpha solution) + + +1.2 File naming +------------------- + +Where possible, the testfiles are 32x32 bits icons. This results in a still +reasonable size of the suite even with a large number of tests. The name +of each test-file reflects thetype in the following way: + + g04i2c08.png + || |||+---- bit-depth + || ||+----- color-type (descriptive) + || |+------ color-type (numerical) + || +------- interlaced or non-interlaced + |+--------- parameter of test (in this case gamma-value) + +---------- test feature (in this case gamma) + + +1.3 PNG formats +------------------- + +color-type: + 0g - grayscale + 2c - rgb color + 3p - paletted + 4a - grayscale + alpha channel + 6a - rgb color + alpha channel + +bit-depth: + 01 - with color-type 0, 3 + 02 - with color-type 0, 3 + 04 - with color-type 0, 3 + 08 - with color-type 0, 2, 3, 4, 6 + 16 - with color-type 0, 2, 4, 6 + +interlacing: + n - non-interlaced + i - interlaced + + +2. THE TESTS +----------------- + +2.1 Sizes +------------- + +These tests are there to check if your software handles pictures well, with +picture sizes that are not a multiple of 8. This is particularly important +with Adam-7 type interlacing. In the same way these tests check if pictures +size 1x1 and similar are ok. + + s01 - 1x1 pixel picture + s02 - 2x2 pixel picture + s03 - 3x3 pixel picture + s04 - 4x4 pixel picture + s05 - 5x5 pixel picture + s06 - 6x6 pixel picture + s07 - 7x7 pixel picture + s08 - 8x8 pixel picture + s09 - 9x9 pixel picture + s32 - 32x32 pixel picture + s33 - 33x33 pixel picture + s34 - 34x34 pixel picture + s35 - 35x35 pixel picture + s36 - 36x36 pixel picture + s37 - 37x37 pixel picture + s38 - 38x38 pixel picture + s39 - 39x39 pixel picture + s40 - 40x40 pixel picture + + +2.2 Background +------------------ + +When the PNG file contains a background chunck, this should be used for +pictures with alpha-channel or pictures with a transparency chunck. For +pictures without this background-chunk, but with alpha, this testset +assumes a black background. + +For the images in this test, the left-side should be 100% the background +color, where moving to the right the color should gradually become the +image pattern. + + bga - alpha + no background + bgw - alpha + white background + bgg - alpha + gray background + bgb - alpha + black background + bgy - alpha + yellow background + + +2.3 Transparency +-------------------- + +Transparency should be used together with a background chunk. To test the +combination of the two the latter 4 tests are there. How to handle pictures +with transparancy, but without a background, opinions can differ. Here we +use black, but especially in the case of paletted images, the normal color +would maybe even be better. + + tp0 - not transparent for reference + tp1 - transparent, but no background chunk + tbw - transparent + white background + tbg - transparent + gray background + tbb - transparent + black background + tby - transparent + yellow background + + +2.4 Gamma +------------- + +To test if your viewer handles gamma-correction, 6 testfiles are available. +They contain corrected color-ramps and a corresponding gamma-chunk with the +file-gamma value. These are created in such a way that when the viewer does +the gamma correction right, all 6 should be displayed identical. + +If they are different, probably the gamma correction is omitted. In that +case, have a look at the two right coloumns in the 6 pictures. The image +where those two look the same (when looked from far) reflects the gamma of +your system. However, because of the limited size of the image, you should +do more elaborate tests to determine your display gamma. + + g03 - file-gamma = 0.35, for display with gamma = 2.8 + g04 - file-gamma = 0.45, for display with gamma = 2.2 (PC) + g05 - file-gamma = 0.55, for display with gamma = 1.8 (Mac) + g07 - file-gamma = 0.70, for display with gamma = 1.4 + g10 - file-gamma = 1.00, for display with gamma = 1.0 (NeXT) + g25 - file-gamma = 2.50, for display with gamma = 0.4 + + +2.5 Filtering +----------------- + +PNG uses file-filtering, for optimal compression. Normally the type is of +filtering is adjusted to the contents of the picture, but here each file +has the same picture, with a different filtering. + + f0 - no filtering + f1 - sub filtering + f2 - up filtering + f3 - average filtering + f4 - paeth filtering + + +2.6 Additional palettes +--------------------------- + +Besides the normal use of paletted images, palette chunks can in combination +with true-color (and other) images also be used to select color lookup-tables +when the video system is of limited capabilities. The suggested palette chunk +is specially created for this purpose. + + pp - normal palette chunk + ps - suggested palette chunk + + +2.7 Ancillary chunks (under construction) +------------------------ + +To test the correct decoding of ancillary chunks, these test-files contain +one or more examples of these chunkcs. Depending on the type of chunk, a +number of typical values are selected to test. Unluckily, the testset can +not contain all combinations, because that would be an endless set. + +The significant bits are used in files with the next higher bit-depth. They +indicate howmany bits are valid. + + cs3 - 3 significant bits + cs5 - 5 significant bits + cs8 - 8 significant bits (reference) + cs3 - 13 significant bits + +For the physical pixel dimensions, the result of each decoding should be +a sqare picture. The first (cdf) image is an example of flat (horizontal) +pixels, where the pHYS chunk (x is 1 per unit, y = 4 per unit) must take +care of the correction. The second is just the other way round. The last +example uses the unit specifier, for 1000 pixels per meter. This should +result in a picture of 3.2 cm square. + + cdf - physical pixel dimensions, 8x32 flat pixels + cdh - physical pixel dimensions, 32x8 high pixels + cds - physical pixel dimensions, 8x8 square pixels + cdu - physical pixel dimensions, with unit-specifier + + ccw - primary chromaticities and white point + + ch1 - histogram 15 colors + ch2 - histogram 256 colors + + cm7 - modification time, 01-jan-1970 + cm9 - modification time, 31-dec-1999 + cm0 - modification time, 01-jan-2000 + +In the textual chunk, a number of the standard, and some non-standard +text items are included. + + ct0 - no textual data + ct1 - with textual data + ctz - with compressed textual data + + +2.8 Chunk ordering (still under construction) +---------------------- + +These testfiles will test the obligatory ordering relations between various +chunk types (not yet) as well as the number of data chunks used for the image. + + oi1 - mother image with 1 idat-chunk + oi2 - image with 2 idat-chunks + oi4 - image with 4 unequal sized idat-chunks + oi9 - all idat-chunks of length one + + +2.9 Compression level +------------------------- + +Here you will find a set of images compressed by zlib, ranging from level 0 +for no compression at maximum speed upto level 9 for maximum compression. + + z00 - zlib compression level 0 - none + z03 - zlib compression level 3 + z06 - zlib compression level 6 - default + z09 - zlib compression level 9 - maximum + + +2.10 Corrupted files (under construction) +----------------------- + +All these files are illegal. When decoding they should generate appropriate +error-messages. + + x00 - empty IDAT chunk + xcr - added cr bytes + xlf - added lf bytes + xc0 - color type 0 + xc9 - color type 9 + xd0 - bit-depth 0 + xd3 - bit-depth 3 + xd9 - bit-depth 99 + xcs - incorrect IDAT checksum + + +3. TEST FILES +------------------ + +For each of the tests listed above, one or more test-files are created. A +selection is made (for each test) for the color-type and bitdepth to be used +for the tests. Further for a number of tests, both a non-interlaced as well +as an interlaced version is available. + + +3.1 Basic format test files (non-interlaced) +------------------------------------------------ + + basn0g01 - black & white + basn0g02 - 2 bit (4 level) grayscale + basn0g04 - 4 bit (16 level) grayscale + basn0g08 - 8 bit (256 level) grayscale + basn0g16 - 16 bit (64k level) grayscale + basn2c08 - 3x8 bits rgb color + basn2c16 - 3x16 bits rgb color + basn3p01 - 1 bit (2 color) paletted + basn3p02 - 2 bit (4 color) paletted + basn3p04 - 4 bit (16 color) paletted + basn3p08 - 8 bit (256 color) paletted + basn4a08 - 8 bit grayscale + 8 bit alpha-channel + basn4a16 - 16 bit grayscale + 16 bit alpha-channel + basn6a08 - 3x8 bits rgb color + 8 bit alpha-channel + basn6a16 - 3x16 bits rgb color + 16 bit alpha-channel + + +3.2 Basic format test files (Adam-7 interlaced) +--------------------------------------------------- + + basi0g01 - black & white + basi0g02 - 2 bit (4 level) grayscale + basi0g04 - 4 bit (16 level) grayscale + basi0g08 - 8 bit (256 level) grayscale + basi0g16 - 16 bit (64k level) grayscale + basi2c08 - 3x8 bits rgb color + basi2c16 - 3x16 bits rgb color + basi3p01 - 1 bit (2 color) paletted + basi3p02 - 2 bit (4 color) paletted + basi3p04 - 4 bit (16 color) paletted + basi3p08 - 8 bit (256 color) paletted + basi4a08 - 8 bit grayscale + 8 bit alpha-channel + basi4a16 - 16 bit grayscale + 16 bit alpha-channel + basi6a08 - 3x8 bits rgb color + 8 bit alpha-channel + basi6a16 - 3x16 bits rgb color + 16 bit alpha-channel + + +3.3 Sizes test files +----------------------- + + s01n3p01 - 1x1 paletted file, no interlacing + s02n3p01 - 2x2 paletted file, no interlacing + s03n3p01 - 3x3 paletted file, no interlacing + s04n3p01 - 4x4 paletted file, no interlacing + s05n3p02 - 5x5 paletted file, no interlacing + s06n3p02 - 6x6 paletted file, no interlacing + s07n3p02 - 7x7 paletted file, no interlacing + s08n3p02 - 8x8 paletted file, no interlacing + s09n3p02 - 9x9 paletted file, no interlacing + s32n3p04 - 32x32 paletted file, no interlacing + s33n3p04 - 33x33 paletted file, no interlacing + s34n3p04 - 34x34 paletted file, no interlacing + s35n3p04 - 35x35 paletted file, no interlacing + s36n3p04 - 36x36 paletted file, no interlacing + s37n3p04 - 37x37 paletted file, no interlacing + s38n3p04 - 38x38 paletted file, no interlacing + s39n3p04 - 39x39 paletted file, no interlacing + s40n3p04 - 40x40 paletted file, no interlacing + + s01i3p01 - 1x1 paletted file, interlaced + s02i3p01 - 2x2 paletted file, interlaced + s03i3p01 - 3x3 paletted file, interlaced + s04i3p01 - 4x4 paletted file, interlaced + s05i3p02 - 5x5 paletted file, interlaced + s06i3p02 - 6x6 paletted file, interlaced + s07i3p02 - 7x7 paletted file, interlaced + s08i3p02 - 8x8 paletted file, interlaced + s09i3p02 - 9x9 paletted file, interlaced + s32i3p04 - 32x32 paletted file, interlaced + s33i3p04 - 33x33 paletted file, interlaced + s34i3p04 - 34x34 paletted file, interlaced + s35i3p04 - 35x35 paletted file, interlaced + s36i3p04 - 36x36 paletted file, interlaced + s37i3p04 - 37x37 paletted file, interlaced + s38i3p04 - 38x38 paletted file, interlaced + s39i3p04 - 39x39 paletted file, interlaced + s40i3p04 - 40x40 paletted file, interlaced + + +3.4 Background test files (with alpha) +------------------------------------------ + + bgai4a08 - 8 bit grayscale, alpha, no background chunk, interlaced + bgai4a16 - 16 bit grayscale, alpha, no background chunk, interlaced + bgan6a08 - 3x8 bits rgb color, alpha, no background chunk + bgan6a16 - 3x16 bits rgb color, alpha, no background chunk + + bgbn4a08 - 8 bit grayscale, alpha, black background chunk + bggn4a16 - 16 bit grayscale, alpha, gray background chunk + bgwn6a08 - 3x8 bits rgb color, alpha, white background chunk + bgyn6a16 - 3x16 bits rgb color, alpha, yellow background chunk + + +3.5 Transparency (and background) test files +------------------------------------------------ + + tp0n1g08 - not transparent for reference (logo on gray) + tbbn1g04 - transparent, black background chunk + tbwn1g16 - transparent, white background chunk + tp0n2c08 - not transparent for reference (logo on gray) + tbrn2c08 - transparent, red background chunk + tbgn2c16 - transparent, green background chunk + tbbn2c16 - transparent, blue background chunk + tp0n3p08 - not transparent for reference (logo on gray) + tp1n3p08 - transparent, but no background chunk + tbbn3p08 - transparent, black background chunk + tbgn3p08 - transparent, light-gray background chunk + tbwn3p08 - transparent, white background chunk + tbyn3p08 - transparent, yellow background chunk + + +3.6 Gamma test files +------------------------ + + g03n0g16 - grayscale, file-gamma = 0.35 + g04n0g16 - grayscale, file-gamma = 0.45 + g05n0g16 - grayscale, file-gamma = 0.55 + g07n0g16 - grayscale, file-gamma = 0.70 + g10n0g16 - grayscale, file-gamma = 1.00 + g25n0g16 - grayscale, file-gamma = 2.50 + g03n2c08 - color, file-gamma = 0.35 + g04n2c08 - color, file-gamma = 0.45 + g05n2c08 - color, file-gamma = 0.55 + g07n2c08 - color, file-gamma = 0.70 + g10n2c08 - color, file-gamma = 1.00 + g25n2c08 - color, file-gamma = 2.50 + g03n3p04 - paletted, file-gamma = 0.35 + g04n3p04 - paletted, file-gamma = 0.45 + g05n3p04 - paletted, file-gamma = 0.55 + g07n3p04 - paletted, file-gamma = 0.70 + g10n3p04 - paletted, file-gamma = 1.00 + g25n3p04 - paletted, file-gamma = 2.50 + + +3.7 Filtering test files +---------------------------- + + f00n0g08 - grayscale, no interlacing, filter-type 0 + f01n0g08 - grayscale, no interlacing, filter-type 1 + f02n0g08 - grayscale, no interlacing, filter-type 2 + f03n0g08 - grayscale, no interlacing, filter-type 3 + f04n0g08 - grayscale, no interlacing, filter-type 4 + f00n2c08 - color, no interlacing, filter-type 0 + f01n2c08 - color, no interlacing, filter-type 1 + f02n2c08 - color, no interlacing, filter-type 2 + f03n2c08 - color, no interlacing, filter-type 3 + f04n2c08 - color, no interlacing, filter-type 4 + + +3.8 Additional palette chunk test files +------------------------------------------- + + pp0n2c16 - six-cube palette-chunk in true-color image + pp0n6a08 - six-cube palette-chunk in true-color+alpha image + ps1n0g08 - six-cube suggested palette (1 byte) in grayscale image + ps1n2c16 - six-cube suggested palette (1 byte) in true-color image + ps2n0g08 - six-cube suggested palette (2 bytes) in grayscale image + ps2n2c16 - six-cube suggested palette (2 bytes) in true-color image + + +3.9 Ancillary chunks test files +----------------------------------- + + cs5n2c08 - color, 5 significant bits + cs8n2c08 - color, 8 significant bits (reference) + cs3n2c16 - color, 13 significant bits + cs3n3p08 - paletted, 3 significant bits + cs5n3p08 - paletted, 5 significant bits + cs8n3p08 - paletted, 8 significant bits (reference) + + cdfn2c08 - physical pixel dimensions, 8x32 flat pixels + cdhn2c08 - physical pixel dimensions, 32x8 high pixels + cdsn2c08 - physical pixel dimensions, 8x8 square pixels + cdun2c08 - physical pixel dimensions, 1000 pixels per 1 meter + + ccwn2c08 - chroma chunk w:0.3127,0.3290 r:0.64,0.33 g:0.30,0.60 b:0.15,0.06 + ccwn3p08 - chroma chunk w:0.3127,0.3290 r:0.64,0.33 g:0.30,0.60 b:0.15,0.06 + + ch1n3p04 - histogram 15 colors + ch2n3p08 - histogram 256 colors + + cm7n0g04 - modification time, 01-jan-1970 00:00:00 + cm9n0g04 - modification time, 31-dec-1999 23:59:59 + cm0n0g04 - modification time, 01-jan-2000 12:34:56 + + ct0n0g04 - no textual data + ct1n0g04 - with textual data + ctzn0g04 - with compressed textual data + + + +3.10 Chunk ordering +---------------------- + + oi1n0g16 - grayscale mother image with 1 idat-chunk + oi2n0g16 - grayscale image with 2 idat-chunks + oi4n0g16 - grayscale image with 4 unequal sized idat-chunks + oi9n0g16 - grayscale image with all idat-chunks length one + oi1n2c16 - color mother image with 1 idat-chunk + oi2n2c16 - color image with 2 idat-chunks + oi4n2c16 - color image with 4 unequal sized idat-chunks + oi9n2c16 - color image with all idat-chunks length one + + + +3.11 Compression level +------------------------- + + z00n2c08 - color, no interlacing, compression level 0 (none) + z03n2c08 - color, no interlacing, compression level 3 + z06n2c08 - color, no interlacing, compression level 6 (default) + z09n2c08 - color, no interlacing, compression level 9 (maximum) + + + +3.12 Currupted files +----------------------- + + x00n0g01 - empty 0x0 grayscale file + xcrn0g04 - added cr bytes + xlfn0g04 - added lf bytes + xc0n0c08 - color type 0 + xc9n0c08 - color type 9 + xd0n2c00 - bit-depth 0 + xd3n2c03 - bit-depth 3 + xd9n2c99 - bit-depth 99 + xcsn2c08 - incorrect IDAT checksum + + +-------- + (c) Willem van Schaik + willem@schaik.com + Singapore, October 1996 diff --git a/Tests/W3CTestSuite/images/PngSuite/pngsuite_logo.png b/Tests/W3CTestSuite/images/PngSuite/pngsuite_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..205460d8287a90ab9c9b7372354d8b7a8b5317da Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/pngsuite_logo.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/pp0n2c16.png b/Tests/W3CTestSuite/images/PngSuite/pp0n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..8f2aad7335206d0563ec5e8546bae83e16565080 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/pp0n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/pp0n6a08.png b/Tests/W3CTestSuite/images/PngSuite/pp0n6a08.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed7a30e4d16e0527c2695bf0493ec1ba156d8c4 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/pp0n6a08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ps1n0g08.png b/Tests/W3CTestSuite/images/PngSuite/ps1n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..2053df2ba3aef44cc8cb3d1405a97f1f0b916767 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps1n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ps1n2c16.png b/Tests/W3CTestSuite/images/PngSuite/ps1n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..b03ecfc669fde49f9db8b48f655665357675b121 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps1n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ps2n0g08.png b/Tests/W3CTestSuite/images/PngSuite/ps2n0g08.png new file mode 100644 index 0000000000000000000000000000000000000000..beeab8ff3d70e4570ae780c62404f0abb376abdc Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps2n0g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/ps2n2c16.png b/Tests/W3CTestSuite/images/PngSuite/ps2n2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..c256f9091b225bad679fa39cad703da386d45ee7 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/ps2n2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s01i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s01i3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0fad1fc982e54aea994e12efd3fe3584cabdbc Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s01i3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s01n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s01n3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..cb2c8c78261e509e7ef2c352306618963954a84a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s01n3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s02i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s02i3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..2defaed911a29507f745bd7183a9819b29cc53de Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s02i3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s02n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s02n3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..2b1b669643540f182c425fb67869b7f97fe75f10 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s02n3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s03i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s03i3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..c23fdc463170faf97e53fccb4799386700b21a15 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s03i3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s03n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s03n3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..6d96ee4f873baf1df3652a8d70994eeea799c30b Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s03n3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s04i3p01.png b/Tests/W3CTestSuite/images/PngSuite/s04i3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..0e710c2c397e371e4feab66add6a9f9763ce0c27 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s04i3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s04n3p01.png b/Tests/W3CTestSuite/images/PngSuite/s04n3p01.png new file mode 100644 index 0000000000000000000000000000000000000000..956396c45b5103d3c38dd8906be14002e5bee48f Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s04n3p01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s05i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s05i3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..d14cbd351ac11022eefcfa3bb2af528c3aadae41 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s05i3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s05n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s05n3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..bf940f057678363347961bbc920a0603b500d70d Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s05n3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s06i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s06i3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..456ada3200643ae917af3ea3f9fa0df7471c0660 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s06i3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s06n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s06n3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..501064dc25cffaa03049daa6a4295d31d2820e2c Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s06n3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s07i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s07i3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..44b66bab9e4ff6f2af2bd2f8c3c0a95c3b28e45c Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s07i3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s07n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s07n3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..6a582593d654c8d43aa8c8dfa8f6516e4f24c8c4 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s07n3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s08i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s08i3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..acf74f3fc4132609443b0555d56e5b314644bf23 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s08i3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s08n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s08n3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..b7094e1b4f19ab9c2022b303bc79e00e986f925d Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s08n3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s09i3p02.png b/Tests/W3CTestSuite/images/PngSuite/s09i3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..0bfae8e45678282b23bed2760c0dbbd736be9df8 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s09i3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s09n3p02.png b/Tests/W3CTestSuite/images/PngSuite/s09n3p02.png new file mode 100644 index 0000000000000000000000000000000000000000..711ab8245189b4d5118b4dcd49ef9771bf924fb8 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s09n3p02.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s32i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s32i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..0841910b72779aa7571cce45e56447eeb3de4520 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s32i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s32n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s32n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..fa58e3e3f69b3ad3cf92d96bc17b030d0fafbcb5 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s32n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s33i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s33i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..ab0dc14aba444d3f59f0bf77808ee7ee78ab5a48 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s33i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s33n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s33n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..764f1a3dc71f0aae5785c00d1563e309a7d3bc13 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s33n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s34i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s34i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..bd99039be4a6c3a7a2a6048541436892bc4fd5ae Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s34i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s34n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s34n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..9cbc68b3b9d5f263eb64bca9ad8bdfeae8205f63 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s34n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s35i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s35i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a5e0a6595f100edc1f79a3e0864ad6ea0d0121 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s35i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s35n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s35n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..90b892ebafc5b5318b2c4dd257eaca9377692ac5 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s35n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s36i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s36i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..eb61b6f9a325db7d967bd796d3a65494bf6b7754 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s36i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s36n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s36n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..b38d179774ce64d3da2a9c3ab1e8c0fc5ce54771 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s36n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s37i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s37i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2b1e9b79ba8ded32f713506b543f95c8720615 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s37i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s37n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s37n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3054da516a3fc671bf5d2c4a401abe6886414a Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s37n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s38i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s38i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a8a140ad7ec7f78f5b8cb398f54233e790fe7c Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s38i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s38n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s38n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..1233ed048e504292bef13d0a96d291914d12c858 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s38n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s39i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s39i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..04fee93eae400e745534756b48f5420cbe4a1d91 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s39i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s39n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s39n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..c750100d55fbd07d216bcc5af538a83b9f7772a3 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s39n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s40i3p04.png b/Tests/W3CTestSuite/images/PngSuite/s40i3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..68f358b822b92784fe065e4656061443a63795e1 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s40i3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/s40n3p04.png b/Tests/W3CTestSuite/images/PngSuite/s40n3p04.png new file mode 100644 index 0000000000000000000000000000000000000000..864b6b9673b3b331f2956ad2299b7854210cdb41 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/s40n3p04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbbn1g04.png b/Tests/W3CTestSuite/images/PngSuite/tbbn1g04.png new file mode 100644 index 0000000000000000000000000000000000000000..fc8002053a39d720cec152a82a97ab068e14a366 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbbn1g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbbn2c16.png b/Tests/W3CTestSuite/images/PngSuite/tbbn2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..5abfbbb3a22dd31dd032db371468d76418369334 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbbn2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbbn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbbn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..4210d168321f08f48858470c690aa433aeb88abc Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbbn3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbgn2c16.png b/Tests/W3CTestSuite/images/PngSuite/tbgn2c16.png new file mode 100644 index 0000000000000000000000000000000000000000..236c81dcf389f9e577494d8e4b82067e2087d6d6 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbgn2c16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbgn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbgn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..42db2325b1fd049de8ad529c45afd4c6a077c1d1 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbgn3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbrn2c08.png b/Tests/W3CTestSuite/images/PngSuite/tbrn2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..8c214746d5b9424137601faaeb2ab90d479a3e89 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbrn2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbwn1g16.png b/Tests/W3CTestSuite/images/PngSuite/tbwn1g16.png new file mode 100644 index 0000000000000000000000000000000000000000..dba2cbb6c300e3699eecf8410234e5394ed2161d Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbwn1g16.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbwn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbwn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..7922135aa7b7c09f32be946bfe711e72cbaf4a41 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbwn3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tbyn3p08.png b/Tests/W3CTestSuite/images/PngSuite/tbyn3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..5b2c6cbbaa6689fd89132fc7568acf8e791393d1 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tbyn3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tp0n1g08.png b/Tests/W3CTestSuite/images/PngSuite/tp0n1g08.png new file mode 100644 index 0000000000000000000000000000000000000000..caad31deae31759bbdb4a4e7091179a160d04a23 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp0n1g08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tp0n2c08.png b/Tests/W3CTestSuite/images/PngSuite/tp0n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..f26be44679c7613670ce3a895972db572be11cb9 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp0n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tp0n3p08.png b/Tests/W3CTestSuite/images/PngSuite/tp0n3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6cf9e44c2eab2ce78201d1ee1d1486a8cb5299 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp0n3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/tp1n3p08.png b/Tests/W3CTestSuite/images/PngSuite/tp1n3p08.png new file mode 100644 index 0000000000000000000000000000000000000000..6c5fd6ec32b3f74e1af000f88b18f1771174d2c0 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/tp1n3p08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/x00n0g01.png b/Tests/W3CTestSuite/images/PngSuite/x00n0g01.png new file mode 100644 index 0000000000000000000000000000000000000000..db3a5fda7ed52e31e18821afa803ff8d46c78966 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/x00n0g01.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/xcrn0g04.png b/Tests/W3CTestSuite/images/PngSuite/xcrn0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..5bce9f3ada0dd29a907356dec8710f02924a4241 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/xcrn0g04.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/xlfn0g04.png b/Tests/W3CTestSuite/images/PngSuite/xlfn0g04.png new file mode 100644 index 0000000000000000000000000000000000000000..1fd104ba61226d05ec1001d9711d565ea97cef32 --- /dev/null +++ b/Tests/W3CTestSuite/images/PngSuite/xlfn0g04.png @@ -0,0 +1,13 @@ +‰PNG + + + + + +IHDR “áÈ)ÈIDATxœ]ÑÁ +Â0 P*@ð¡#° + +#TâÈ10lPF`Ø F=•ŸÄIQâ*çÅuí”`%qk +Hžñšˆ©ñ´€m÷Íüµàߟ Ñ=,¸fìOK + +ç ÐtŽÀ(Èïä’צíF ;èPº€¯¾{xpç]9‡/p*$(ì*éyìÕƒ ×þÚéçè@÷C¼  cÔqž‹NÛU#„)11·.räðfä0°ägh(¥týÙÂEøÿ‰kIEND®B`‚ \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/PngSuite/z00n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z00n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..7669eb8385172325c399f3229cfe834f886fecb2 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z00n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/z03n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z03n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb10de8de4f842b03efb9ea45798a67bc72d4c6 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z03n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/z06n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z06n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..b90ebc10f5b01829fe5e322c5b585b8c27090641 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z06n2c08.png differ diff --git a/Tests/W3CTestSuite/images/PngSuite/z09n2c08.png b/Tests/W3CTestSuite/images/PngSuite/z09n2c08.png new file mode 100644 index 0000000000000000000000000000000000000000..5f191a78ee5601a45f1add2a3ad7a77b7b1ae0f1 Binary files /dev/null and b/Tests/W3CTestSuite/images/PngSuite/z09n2c08.png differ diff --git a/Tests/W3CTestSuite/images/SVG-1.1-monolithic-fixed.dtd b/Tests/W3CTestSuite/images/SVG-1.1-monolithic-fixed.dtd new file mode 100644 index 0000000000000000000000000000000000000000..7ddd73b9b1f2b0850670e91b45af814c34a995ff --- /dev/null +++ b/Tests/W3CTestSuite/images/SVG-1.1-monolithic-fixed.dtd @@ -0,0 +1,1622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/SVGImageTest.svg b/Tests/W3CTestSuite/images/SVGImageTest.svg new file mode 100644 index 0000000000000000000000000000000000000000..f20c9d80469e9ebac66edf14c1bef115b0d47491 --- /dev/null +++ b/Tests/W3CTestSuite/images/SVGImageTest.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGImageTest.svg + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/images/animation-add-BE-09.svg b/Tests/W3CTestSuite/images/animation-add-BE-09.svg new file mode 100644 index 0000000000000000000000000000000000000000..70234568e266b8574eb0198309a35d4bf571b251 --- /dev/null +++ b/Tests/W3CTestSuite/images/animation-add-BE-09.svg @@ -0,0 +1,201 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Test 'additive' and 'accumulate' attributes. + + +Eight animations have been defined. +For each animation, ruler lines and text are provided to help show +what the correct behavior is. +The red text shows the values for attributes 'additive' and 'accumulate'. +The black text and ruler lines help show the change in height of +the rectangles over time. + + +In the first row, a single animation which changes the height of the rectangle +is defined for each picture. +The height changes from 10 to 25, and the animation repeats (total of two loops). +The four pictures show the effect with the four possible combinations of +'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum'). + + +In the second row, two identical animations change the height of the rectangle, +with each animation exactly the same as the corresponding animation in the first row. +Again, the four pictures show the effect with the four possible combinations of +'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum'). +Because two animations are animating the height, the effects of 'additive' and +'accumulate' are sometimes different than when there is only a single animation. + + + + + + animation-add-BE-09 + Test 'additive' and 'accumulate' attributes. + + + + + Test 'additive' and 'accumulate' attributes. + + + 0,4 sec. + + 4,8+ sec. + + + + + additive='replace' + accumulate='none' + + + 0,4 sec. + + 4,8+ sec. + + + + + additive='sum' + accumulate='none' + + + 0 sec. + + 4 sec. + + 4 sec. + + 8+ sec. + + + + + additive='replace' + accumulate='sum' + + + 0 sec. + + 4 sec. + + 4 sec. + + 8+ sec. + + + + + additive='sum' + accumulate='sum' + + + 0,4 sec. + + 4,8+ sec. + + + + + + additive='replace' + accumulate='none' + + + 0,4 sec. + + 4,8+ sec. + + + + + + additive='sum' + accumulate='none' + + + 0 sec. + + 4 sec. + + 4 sec. + + 8+ sec. + + + + + + additive='replace' + accumulate='sum' + + + 0 sec. + + 4 sec. + + 4 sec. + + 8+ sec. + + + + + + additive='sum' + accumulate='sum' + + + + + + + + + + Scalable Vector Graphics (SVG) Conformance Suite + + Copyright 2000 W3C. All Rights Reserved. + + animation-add-BE-09 + $Revision: 1.1 $ + Release 3.0 + + + diff --git a/Tests/W3CTestSuite/images/animation-extRef-image1.svg b/Tests/W3CTestSuite/images/animation-extRef-image1.svg new file mode 100644 index 0000000000000000000000000000000000000000..0651f69dbff955a0b575ed226214e5aee2d65390 --- /dev/null +++ b/Tests/W3CTestSuite/images/animation-extRef-image1.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + Image 1 + + diff --git a/Tests/W3CTestSuite/images/animation-extRef-image2.svg b/Tests/W3CTestSuite/images/animation-extRef-image2.svg new file mode 100644 index 0000000000000000000000000000000000000000..d10ee806a15f85ca1f30b63a1e34d0646ad57349 --- /dev/null +++ b/Tests/W3CTestSuite/images/animation-extRef-image2.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + Image 2 + + diff --git a/Tests/W3CTestSuite/images/animation-extRef-image3.svg b/Tests/W3CTestSuite/images/animation-extRef-image3.svg new file mode 100644 index 0000000000000000000000000000000000000000..408a4793d2d7268d9c7692f880823652018f0ca0 --- /dev/null +++ b/Tests/W3CTestSuite/images/animation-extRef-image3.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + Image 3 + + diff --git a/Tests/W3CTestSuite/images/black10x10.png b/Tests/W3CTestSuite/images/black10x10.png new file mode 100644 index 0000000000000000000000000000000000000000..2e95303a9d7667c15349a92a786d3afd142a509e Binary files /dev/null and b/Tests/W3CTestSuite/images/black10x10.png differ diff --git a/Tests/W3CTestSuite/images/blue1x1.png b/Tests/W3CTestSuite/images/blue1x1.png new file mode 100644 index 0000000000000000000000000000000000000000..648583295a7af9a8290b844532e4f92175de9859 Binary files /dev/null and b/Tests/W3CTestSuite/images/blue1x1.png differ diff --git a/Tests/W3CTestSuite/images/blue_10x10.png b/Tests/W3CTestSuite/images/blue_10x10.png new file mode 100644 index 0000000000000000000000000000000000000000..21955dab6791b94910122bfec1e487fae1f25aef Binary files /dev/null and b/Tests/W3CTestSuite/images/blue_10x10.png differ diff --git a/Tests/W3CTestSuite/images/blue_10x10.ppm b/Tests/W3CTestSuite/images/blue_10x10.ppm new file mode 100644 index 0000000000000000000000000000000000000000..1cb38746c44571bc2994167578ef47af0671749d --- /dev/null +++ b/Tests/W3CTestSuite/images/blue_10x10.ppm @@ -0,0 +1,23 @@ +P3 +10 10 +255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 +0 0 255 0 0 255 0 0 255 0 0 255 0 0 255 diff --git a/Tests/W3CTestSuite/images/bluesquidj.png b/Tests/W3CTestSuite/images/bluesquidj.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5c55878b02259bb15863aa1e305bec985cde49 Binary files /dev/null and b/Tests/W3CTestSuite/images/bluesquidj.png differ diff --git a/Tests/W3CTestSuite/images/bullet-small.png b/Tests/W3CTestSuite/images/bullet-small.png new file mode 100644 index 0000000000000000000000000000000000000000..2f92cc61507b0a57243e556e0a889bf8183e320e Binary files /dev/null and b/Tests/W3CTestSuite/images/bullet-small.png differ diff --git a/Tests/W3CTestSuite/images/bullet-white.png b/Tests/W3CTestSuite/images/bullet-white.png new file mode 100644 index 0000000000000000000000000000000000000000..d4c4abfd8215b4d479f6b813aa7f4cf50a02f3d4 Binary files /dev/null and b/Tests/W3CTestSuite/images/bullet-white.png differ diff --git a/Tests/W3CTestSuite/images/bullet.png b/Tests/W3CTestSuite/images/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..e1495d984a975bdf2e4a148adf60e7a3282b7203 Binary files /dev/null and b/Tests/W3CTestSuite/images/bullet.png differ diff --git a/Tests/W3CTestSuite/images/bumpMap.png b/Tests/W3CTestSuite/images/bumpMap.png new file mode 100644 index 0000000000000000000000000000000000000000..1ac02a8da4f24b694fc9d92c854b6f9315f15e14 Binary files /dev/null and b/Tests/W3CTestSuite/images/bumpMap.png differ diff --git a/Tests/W3CTestSuite/images/bumpMap2.png b/Tests/W3CTestSuite/images/bumpMap2.png new file mode 100644 index 0000000000000000000000000000000000000000..1609323d461c897e95d34a54e1f4efb520b385db Binary files /dev/null and b/Tests/W3CTestSuite/images/bumpMap2.png differ diff --git a/Tests/W3CTestSuite/images/bumpMap3.png b/Tests/W3CTestSuite/images/bumpMap3.png new file mode 100644 index 0000000000000000000000000000000000000000..646f5de57be198b4c6aecb64af0f5a2c2ff5fe7d Binary files /dev/null and b/Tests/W3CTestSuite/images/bumpMap3.png differ diff --git a/Tests/W3CTestSuite/images/case-insensitivity.css b/Tests/W3CTestSuite/images/case-insensitivity.css new file mode 100644 index 0000000000000000000000000000000000000000..ce508ff8de1dd6950d306dfde9c90cb30bdd5dac --- /dev/null +++ b/Tests/W3CTestSuite/images/case-insensitivity.css @@ -0,0 +1,2 @@ +#d {fill: red } +#d {FiLl: oRaNgE } diff --git a/Tests/W3CTestSuite/images/changeColor.ICM b/Tests/W3CTestSuite/images/changeColor.ICM new file mode 100644 index 0000000000000000000000000000000000000000..dc99698e4a14112094326e4f362ea227c07555ac Binary files /dev/null and b/Tests/W3CTestSuite/images/changeColor.ICM differ diff --git a/Tests/W3CTestSuite/images/colorprof.png b/Tests/W3CTestSuite/images/colorprof.png new file mode 100644 index 0000000000000000000000000000000000000000..c03ab9cf393bfda53bf5d9498fa8d1d2579164e6 Binary files /dev/null and b/Tests/W3CTestSuite/images/colorprof.png differ diff --git a/Tests/W3CTestSuite/images/convolveImage.png b/Tests/W3CTestSuite/images/convolveImage.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fb85230a34c5a48fc30a3cf8264ab23925d0fb Binary files /dev/null and b/Tests/W3CTestSuite/images/convolveImage.png differ diff --git a/Tests/W3CTestSuite/images/coords-units-01-f.png b/Tests/W3CTestSuite/images/coords-units-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..4a075c71727246c17fbbf91577398a0ee0dffe0d Binary files /dev/null and b/Tests/W3CTestSuite/images/coords-units-01-f.png differ diff --git a/Tests/W3CTestSuite/images/coords-units-01-f.svg b/Tests/W3CTestSuite/images/coords-units-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..fbb57ce3ddb1183cdb60c9697e70d1ee4883cb75 --- /dev/null +++ b/Tests/W3CTestSuite/images/coords-units-01-f.svg @@ -0,0 +1,193 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Verify the conversion processing of percentage and fraction values relative to +object bounding boxes. This is used when defining linear and radial gradients +as well as patterns. + + +The test validates conversion for coordinates, width, height and length. The first +test defines three corresponding linear gradients, which specify coordinates +using percentages for one, fractions for the second and user coordinates for the +third. The second test defines three corresponding radial gradients, which specify +a length (radius) using percentages for the first, fractions for the second and +user space for the third. Finally, the third test defines three corresponding patterns, +which specify their width and height using percentages for the first, fractions for the +second and user space coordinates for the last one. + + +The rendered image should match the reference image. Also, the text may +show minor differences, per CSS2 rules for font selection and matching. + + +The test also assumes that linear and radial gradients, +as well as patterns are implemented. + + + + coords-units-01-f + This test validates the processing rules for converting coordinates and length defined in fractions of the current object's bounding box to user space coordinates and length. Note that this test assumes that linear and radial gradients, as well as patterns are implemented. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bounding box relative coordinates (percentage and fraction) + + + + + + + Percentage + Fraction + User Space + + + + + + + + + + + + + + + + + + + + + + + + + + Bounding box relative length (percentage and fraction) + + + + + Percent. + Fraction + User Space + + + + + + + + + + + + + + + + + + + + + + + + + + Bounding box relative width/height (percentage and fraction) + + + + + Percentage + Fraction + User Space + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + coords-units-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/copyright-documents-19990405.html b/Tests/W3CTestSuite/images/copyright-documents-19990405.html new file mode 100644 index 0000000000000000000000000000000000000000..e65f61f9c44d59a43c96b06de7341cdbb6944f2a --- /dev/null +++ b/Tests/W3CTestSuite/images/copyright-documents-19990405.html @@ -0,0 +1,89 @@ + + + + + +DOCUMENT NOTICE + + + + + +

W3C® DOCUMENT NOTICE AND LICENSE

+ +

Copyright © 1994-2000 World Wide Web Consortium, (Massachusetts Institute of Technology, Institut National de Recherche en Informatique et en +Automatique, Keio University). All Rights +Reserved.
+http://www.w3.org/Consortium/Legal/

+ +

Public documents on the W3C site are provided by the copyright holders under the +following license. The software or Document Type Definitions (DTDs) associated with W3C +specifications are governed by the Software Notice. By +using and/or copying this document, or the W3C document from which this statement is +linked, you (the licensee) agree that you have read, understood, and will comply with the +following terms and conditions:

+ +

Permission to use, copy, and distribute the contents of this document, or the W3C +document from which this statement is linked, in any medium for any purpose and without +fee or royalty is hereby granted, provided that you include the following on ALL +copies of the document, or portions thereof, that you use: + +

    +
  1. A link or URL to the original W3C document.
  2. +
  3. The pre-existing copyright notice of the original author, or if it doesn't exist, a + notice of the form: "Copyright © [$date-of-document] World + Wide Web Consortium, (Massachusetts Institute of + Technology, Institut National de Recherche en + Informatique et en Automatique, Keio University). + All Rights Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is preferred, + but a textual representation is permitted.)
  4. +
  5. If it exists, the STATUS of the W3C document.
  6. +
+ +

When space permits, inclusion of the full text of this NOTICE should be +provided. We request that authorship attribution be provided in any software, documents, +or other items or products that you create pursuant to the implementation of the contents +of this document, or any portion thereof.

+ +

No right to create modifications or derivatives of W3C documents is granted pursuant to +this license. However, if additional requirements (documented in the Copyright FAQ) are satisfied, the right to create modifications or +derivatives is sometimes granted by the W3C to individuals complying with those +requirements.

+ +

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR +TITLE; THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, +TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL +DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE +CONTENTS THEREOF.

+ +

The name and trademarks of copyright holders may NOT be used in advertising or +publicity pertaining to this document or its contents without specific, written prior +permission. Title to copyright in this document will at all times remain with copyright +holders.

+ +

----------------------------------------------------------------------------

+ +

This formulation of W3C's notice and license became active on April 05 1999 so as to +account for the treatment of DTDs, schema's and bindings. See the older formulation for the policy prior to +this date. Please see our Copyright FAQ for common questions +about using materials from our site, including specific terms and conditions for packages +like libwww, Amaya, and Jigsaw. Other questions about this notice can be directed to site-policy@w3.org.

+ +
+ webmaster
+ (last updated by reagle on 1999/04/99.) +
+ + diff --git a/Tests/W3CTestSuite/images/diagarrow.png b/Tests/W3CTestSuite/images/diagarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..4cd284e810545d7a2dce6419157dbb59a6863b27 Binary files /dev/null and b/Tests/W3CTestSuite/images/diagarrow.png differ diff --git a/Tests/W3CTestSuite/images/empty.js b/Tests/W3CTestSuite/images/empty.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/Tests/W3CTestSuite/images/ext-TestComic.svg b/Tests/W3CTestSuite/images/ext-TestComic.svg new file mode 100644 index 0000000000000000000000000000000000000000..84e207350b222762e0ce5c13e528a99f4a1b4f15 --- /dev/null +++ b/Tests/W3CTestSuite/images/ext-TestComic.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/f.js b/Tests/W3CTestSuite/images/f.js new file mode 100644 index 0000000000000000000000000000000000000000..a19096b572ed8dab6bb8b565294b78f5da9d24b9 --- /dev/null +++ b/Tests/W3CTestSuite/images/f.js @@ -0,0 +1 @@ +f() diff --git a/Tests/W3CTestSuite/images/fillChangeColor.ICM b/Tests/W3CTestSuite/images/fillChangeColor.ICM new file mode 100644 index 0000000000000000000000000000000000000000..dc99698e4a14112094326e4f362ea227c07555ac Binary files /dev/null and b/Tests/W3CTestSuite/images/fillChangeColor.ICM differ diff --git a/Tests/W3CTestSuite/images/filters-blend-01-f.svg b/Tests/W3CTestSuite/images/filters-blend-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..bd56639d3ca8657caacbf49b6d5314e2781378da --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-blend-01-f.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Verify correct operation of the five compositing modes + of the feBlend filter primitive. Five text strings + blended into a gradient, with one text string for each of + the five feBlend modes. The string indicates the blend + mode. + + + The rendered picture should match the reference image + exactly, except for possible variations in the + labelling text (per CSS2 rules). + + + The test uses a nested 'svg' element, 'text' element, + the 'enable-background' property, and linear gradients.as + well as basic fill (solid primary colors), stroke (solid + primary colors with stroke-width lines), font-family + (Helvetica) and font-size properties. + + + + filters-blend-01-f + Overall filter effects test case. Extracted from example filters00 in the March 3, 2000 spec. + + + + + + + Examples of the five + feBlend modes. + Five text strings blended + into a gradient, with one + text string for each of the + five feBlend modes. The + string indicates the blend + mode. + + + + Example feBlend - Examples of feBlend modes + Five text strings blended into a gradient, with one text string for each of the five feBlend modes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Normal + Multiply + Screen + Darken + Lighten + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-blend-01 + $Revision: 1.1 $ + Release 1.0 + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/filters-color-01-f.svg b/Tests/W3CTestSuite/images/filters-color-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b70ca61c4601251459891fb8b786a61103114c9e --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-color-01-f.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test which verifies the basic facilities of + feColorMatrix. + + + This test uses the following elements : a nested + <svg> with a viewBox attribute, <linearGradient>, + <filter>, <feColorMatrix>, <feComposite> + + + The test case shows five rectangles filled with a + gradient showing the effects of feColorMatrix: an + unfiltered rectangle acting as a reference, use of the + feColorMatrix matrix option to convert to grayscale, + use of the feColorMatrix saturate option, use of the + feColorMatrix hueRotate option, and use of the + feColorMatrix luminanceToAlpha option. + + + The test is somewhat self-explanatory as the strings + document the type of feColorMatrix operation that is + being used. + + + + filters-color-01-f + Test which verifies the basic facilities of feColorMatrix. + + + + + + Example feColorMatrix - Examples of feColorMatrix operations + Five rectangles filled with a gradient showing the effects of feColorMatrix: an unfiltered rectangle acting as a reference, use of the feColorMatrix matrix option to convert to grayscale, use of the feColorMatrix saturate option, use of the feColorMatrix hueRotate option, and use of the feColorMatrix luminanceToAlpha option. + + + + + + + + + + + + + + + + + + + + + + + + + Unfiltered + + type="matrix" (grayscale matrix) + + type="saturate" values=".4" + + type="hueRotate" values="90" + + type="luminanceToAlpha" + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-color-01 + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/filters-composite-01-f.svg b/Tests/W3CTestSuite/images/filters-composite-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ca1433bf842f93d0d8b3e76e4b4b12fd76ebb3bb --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-composite-01-f.svg @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test which verifies the basic facilities of feComposite. + + + This test uses the following elements: <path>, <use>, + <linearGradient>, <filter> with, an enable-background + attribute, <feFlood>, <feComposite>, <feMerge> + + + The test case shows six pairs of overlapping triangles + depicting the six different feComposite operators. The + first row shows compositing when both triangles have + opacity=1. The second row shows compositing when both + triangles have opacity=.5. The six columns illustrate the + six types of compositing operations. + + + + filters-composite-01-f + Test which verifies the basic facilities of feComposite. + + + + + Example feComposite - Examples of feComposite operations + Six pairs of overlapping triangles depicting the six different feComposite operators. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + opacity 1.0 + opacity 0.5 + + + + + + + + over + + + + + + + + + in + + + + + + + + + out + + + + + + + + + atop + + + + + + + + + xor + + + + + + + + + arithmetic + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-composite-01 + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/filters-comptran-01-f.svg b/Tests/W3CTestSuite/images/filters-comptran-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3fbbf73715b926330f93fac2098afef085addf62 --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-comptran-01-f.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test which verifies the basic facilities of + feComponentTransfer. + + + This test uses the following elements : a nested <svg> + with a viewBox attribute, <linearGradient>, <filter>, + <feComponentTransfer> + + + The test case shows four rectangles filled with a + gradient showing the effects of feComponentTransfer: an + identity function acting as a reference, use of the + feComponentTransfer table option, use of the + feComponentTransfer linear option, and use of the + feComponentTransfer gamma option. + + + The test is somewhat self-explanatory as the strings + document the type of feComponentTransfer operation that + is being used. + + + + filters-comptran-01-f + Test which verifies the basic facilities of feComponentTransfer. + + + + + + Example feComponentTransfer - Examples of feComponentTransfer operations + Four rectangles filled with a gradient showing the effects of feComponentTransfer: an identity function acting as a reference, use of the feComponentTransfer table option, use of the feComponentTransfer linear option, and use of the feComponentTransfer gamma option. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type="identity" + + type="table" + + type="linear" slope=".5" intercepts:.25/0/.5 + + type="gamma" amplitude="2" exponents:5/3/1 + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-comptran-01 + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/filters-conv-01-f.includeimage.png b/Tests/W3CTestSuite/images/filters-conv-01-f.includeimage.png new file mode 100644 index 0000000000000000000000000000000000000000..f8fb85230a34c5a48fc30a3cf8264ab23925d0fb Binary files /dev/null and b/Tests/W3CTestSuite/images/filters-conv-01-f.includeimage.png differ diff --git a/Tests/W3CTestSuite/images/filters-conv-01-f.svg b/Tests/W3CTestSuite/images/filters-conv-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..927e9927f218ffebd9c8e8dd7e796770b412d389 --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-conv-01-f.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test which verifies the basic facilities of + feConvolveMatrix. + + + This test defines six filters that exercise traditional + convolutions: uniform blur, vertical and horizontal + blurs, edge detection, embossing and sharpening. Note + that the edge detection filter produces a fully + transparent image because the alpha chanel is convolved + and produces 0 values. + + + + filters-conv-01-f + Test which verifies the basic facilities of feConvolveMatrix. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blur (3x3) + + + + Edge Detection (3x3) + + + + Sharpening (3x3) + + + + Embossing (3x3) + + + + Horizontal blur (3x1) + + + + Vertical blur (1x3) + + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-conv-01 + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/filters-diffuse-01-f.svg b/Tests/W3CTestSuite/images/filters-diffuse-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c08fbccc1ba181c24e93fdc444ae54a8f59b0d31 --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-diffuse-01-f.svg @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Verify the basic operation of the feDiffuseLighting + element. The test shows three rows of 3 images. Each + rows tests a different aspect of the filter and shows + the result of the filtering operation. + + + The first row shows the result of varying the + surfaceScale attribute. The second row shows the result + of varying the diffuse constant (kd) attribute. The last + row shows the result of varying the lighting-color + property. + + + The rendered picture should match the reference image. + + + + filters-diffuse-01-f + Validates operation of the feDiffuseLighting filter + + + + + + Filters: feDiffuseLighting + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Various values for surfaceScale: 1, 10 and -10 + + + + + + + Various values for diffuseConstants: 0, 1 and 2 + + + + + + + Various values for lighting color: red, yellow and blue + + + + + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-diffuse-01 + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/filters-example-01-f.svg b/Tests/W3CTestSuite/images/filters-example-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..49437325fb08b2a227322052edebd930039c64fb --- /dev/null +++ b/Tests/W3CTestSuite/images/filters-example-01-f.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Verify that a typical usage of filtering is operation. + This test case creates a 3D lightiing effect and requires + that several filters are working: feGaussianBlur, feOffset, + feSpecularLighting, feComposite and feMerge. The graphic + consisting of the string "SVG" sitting on top of oval + filled in red and surrounded by an oval outlined in red. + + + The rendered picture should match the reference image + exactly, except for possible variations in the labelling + text (per CSS2 rules). + + + The test uses a nested 'svg' element, 'rect' element, + 'path' element, as well as basic fill (solid primary + colors), stroke (solid primary colors with stroke-width + lines), font-family (Helvetica) and font-size properties. + + + + filters-example-01-f + Overall filter effects test case. Extracted from example filters00 in the March 3, 2000 spec. + + + + + + A single filter that uses a combination of filter primitives. You should see + a gray rectangle. Inside, there is an outer ring and an inner button with + "SVG" on it, both in red with a 3D appearance and a lighting effect. + + + + + Example filters01.svg - introducing filter effects + An example which combines multiple filter primitives to produce a 3D lighting effect on a graphic consisting of the string "SVG" sitting on top of oval filled in red and surrounded by an oval outlined in red. + + + + + + + + + + + + + + + + + + + + + + SVG + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + filters-example-01 + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/footprints.jpg b/Tests/W3CTestSuite/images/footprints.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3ae7a69d3434cf273cef34a241db54fee0030a6a Binary files /dev/null and b/Tests/W3CTestSuite/images/footprints.jpg differ diff --git a/Tests/W3CTestSuite/images/footprints2.jpg b/Tests/W3CTestSuite/images/footprints2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56083481254e095aa0152179af9940da45e74791 Binary files /dev/null and b/Tests/W3CTestSuite/images/footprints2.jpg differ diff --git a/Tests/W3CTestSuite/images/galpha.png b/Tests/W3CTestSuite/images/galpha.png new file mode 100644 index 0000000000000000000000000000000000000000..0698cdf8313e02c89191ca089026a78120d84e9b Binary files /dev/null and b/Tests/W3CTestSuite/images/galpha.png differ diff --git a/Tests/W3CTestSuite/images/gam030.png b/Tests/W3CTestSuite/images/gam030.png new file mode 100644 index 0000000000000000000000000000000000000000..904c9721bd743bc54bc76b3ce7c482b2edffdb1e Binary files /dev/null and b/Tests/W3CTestSuite/images/gam030.png differ diff --git a/Tests/W3CTestSuite/images/gam030b.png b/Tests/W3CTestSuite/images/gam030b.png new file mode 100644 index 0000000000000000000000000000000000000000..90e7184793575b1c6f6582c149436211a0619254 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam030b.png differ diff --git a/Tests/W3CTestSuite/images/gam045.png b/Tests/W3CTestSuite/images/gam045.png new file mode 100644 index 0000000000000000000000000000000000000000..b649a8a54f21d52ab0e1b156b15f2bc667575e68 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam045.png differ diff --git a/Tests/W3CTestSuite/images/gam045b.png b/Tests/W3CTestSuite/images/gam045b.png new file mode 100644 index 0000000000000000000000000000000000000000..9885e3392a5170e220a2e76c4834496d9c28ff16 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam045b.png differ diff --git a/Tests/W3CTestSuite/images/gam056.png b/Tests/W3CTestSuite/images/gam056.png new file mode 100644 index 0000000000000000000000000000000000000000..e5f959dc96c851522b1421d8b9509433bddb0c24 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam056.png differ diff --git a/Tests/W3CTestSuite/images/gam056b.png b/Tests/W3CTestSuite/images/gam056b.png new file mode 100644 index 0000000000000000000000000000000000000000..32af5b3a93af7393d42e25ca1df0264fa66b3521 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam056b.png differ diff --git a/Tests/W3CTestSuite/images/gam100.png b/Tests/W3CTestSuite/images/gam100.png new file mode 100644 index 0000000000000000000000000000000000000000..6c7ba5f1ed62d5a7666406ff3b7ff65397bff354 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam100.png differ diff --git a/Tests/W3CTestSuite/images/gam100b.png b/Tests/W3CTestSuite/images/gam100b.png new file mode 100644 index 0000000000000000000000000000000000000000..a3e91e0ec2af87f59d0758cc70ff9e2920cba6da Binary files /dev/null and b/Tests/W3CTestSuite/images/gam100b.png differ diff --git a/Tests/W3CTestSuite/images/gam200.png b/Tests/W3CTestSuite/images/gam200.png new file mode 100644 index 0000000000000000000000000000000000000000..daa20fcbc4f2699517bb6b99a59cdcf1a55f70a0 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam200.png differ diff --git a/Tests/W3CTestSuite/images/gam200b.png b/Tests/W3CTestSuite/images/gam200b.png new file mode 100644 index 0000000000000000000000000000000000000000..2c337d8ff4250c1c0a978b8fb73c2bcf23603e58 Binary files /dev/null and b/Tests/W3CTestSuite/images/gam200b.png differ diff --git a/Tests/W3CTestSuite/images/green1x1.png b/Tests/W3CTestSuite/images/green1x1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba709872380f8a4e0bf4d6a5fe7a754b9b4d8f11 Binary files /dev/null and b/Tests/W3CTestSuite/images/green1x1.png differ diff --git a/Tests/W3CTestSuite/images/greentopbutton.jpg b/Tests/W3CTestSuite/images/greentopbutton.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be33a3ce9a3f06b49c9b77ebcb5ced59dea4dd44 Binary files /dev/null and b/Tests/W3CTestSuite/images/greentopbutton.jpg differ diff --git a/Tests/W3CTestSuite/images/happysmiley.svg b/Tests/W3CTestSuite/images/happysmiley.svg new file mode 100644 index 0000000000000000000000000000000000000000..ea4f73da7e47fdb6055b9cead1e63365a2c6bdc8 --- /dev/null +++ b/Tests/W3CTestSuite/images/happysmiley.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/image.png b/Tests/W3CTestSuite/images/image.png new file mode 100644 index 0000000000000000000000000000000000000000..01b5792472784e8aebe097b2442b06eeb0a99506 Binary files /dev/null and b/Tests/W3CTestSuite/images/image.png differ diff --git a/Tests/W3CTestSuite/images/image1.jpg b/Tests/W3CTestSuite/images/image1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40c1b2587ca80722704ad71e8f7b2559607530e5 Binary files /dev/null and b/Tests/W3CTestSuite/images/image1.jpg differ diff --git a/Tests/W3CTestSuite/images/image1.png b/Tests/W3CTestSuite/images/image1.png new file mode 100644 index 0000000000000000000000000000000000000000..fa37f6d68745139fd8608edeb1e3620b53686d6f Binary files /dev/null and b/Tests/W3CTestSuite/images/image1.png differ diff --git a/Tests/W3CTestSuite/images/image1_b.png b/Tests/W3CTestSuite/images/image1_b.png new file mode 100644 index 0000000000000000000000000000000000000000..0197022623e2faf76dd3a286576bce5bed5b26f1 Binary files /dev/null and b/Tests/W3CTestSuite/images/image1_b.png differ diff --git a/Tests/W3CTestSuite/images/image2_b.jpg b/Tests/W3CTestSuite/images/image2_b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b9cf86297c23d0fa7de6c05cf0351a01ec916f3e Binary files /dev/null and b/Tests/W3CTestSuite/images/image2_b.jpg differ diff --git a/Tests/W3CTestSuite/images/image2_b.png b/Tests/W3CTestSuite/images/image2_b.png new file mode 100644 index 0000000000000000000000000000000000000000..0b8464927e6e91dd571b57809e8e1a24c3b9eeca Binary files /dev/null and b/Tests/W3CTestSuite/images/image2_b.png differ diff --git a/Tests/W3CTestSuite/images/inline2.png b/Tests/W3CTestSuite/images/inline2.png new file mode 100644 index 0000000000000000000000000000000000000000..0abec528f468da7ef51c3030dd39147e9f4baec2 Binary files /dev/null and b/Tests/W3CTestSuite/images/inline2.png differ diff --git a/Tests/W3CTestSuite/images/interact-dom-01-f.svg b/Tests/W3CTestSuite/images/interact-dom-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..90d6ee5acf4d11710212812bbdaf5ff0b17146f9 --- /dev/null +++ b/Tests/W3CTestSuite/images/interact-dom-01-f.svg @@ -0,0 +1,148 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Verify basic support for DOM event listener registration. The root svg element + has an onload handler where a click event listener is registered on group element 'Start Button'. + + + If UI events listener registration is supported (and UI events), + when the user clicks on the button a text node is inserted reading "UI Event Listeners supported". + + + At the end of the test, the start test button in changed to pink, + and the click event listener is removed from the the start button. + + + Subsequent clicks on the start button should cause no effect if + the event listener has been removed successfully. + If additional lines of text appear in the document that say "UI Event Listeners supported", + then the implementation has not successfully removed the event listener. + + + After clicking at least once on the button, + the rendered image should be exactly as the reference image, except for + differences in text display. + + + + + + interact-dom-01-f + Checks if DOM/ECMA Script binding is supported. Checks that the DOM API +supports event listener registration/unregistration. + + + + + + + + + + + + + Start Test + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + interact-dom-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/interact-order-02-b-targ.svg b/Tests/W3CTestSuite/images/interact-order-02-b-targ.svg new file mode 100644 index 0000000000000000000000000000000000000000..d5e7c0658278d91060375a1bebb4dbb75792becf --- /dev/null +++ b/Tests/W3CTestSuite/images/interact-order-02-b-targ.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + interact-order-02-b + + File that just serves as hyperlink target for test case + interact-order-02-b.svg. + + + + + + Hyperlink target for + + + interact-order-02-b.svg + + + + + + + + + + Click to hyperlink back to + + + interact-order-02-b.svg + + + + + diff --git a/Tests/W3CTestSuite/images/interact-order-03-b-targ.svg b/Tests/W3CTestSuite/images/interact-order-03-b-targ.svg new file mode 100644 index 0000000000000000000000000000000000000000..e3974148a8388d83e96033cb2dfec079e181241c --- /dev/null +++ b/Tests/W3CTestSuite/images/interact-order-03-b-targ.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + interact-order-03-b + + File that just serves as hyperlink target for test case + interact-order-03-b.svg. + + + + + + Hyperlink target for + + + interact-order-03-b.svg + + + + + + + + + + Click to hyperlink back to + + + interact-order-03-b.svg + + + + + diff --git a/Tests/W3CTestSuite/images/leftarrow.png b/Tests/W3CTestSuite/images/leftarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..07fb487bef386e7bf7e55aa148cd1d4f3f7b5760 Binary files /dev/null and b/Tests/W3CTestSuite/images/leftarrow.png differ diff --git a/Tests/W3CTestSuite/images/level1.svg b/Tests/W3CTestSuite/images/level1.svg new file mode 100644 index 0000000000000000000000000000000000000000..4157b9ecd59d4d36ace160d0c1b2bd9c8cfdd063 --- /dev/null +++ b/Tests/W3CTestSuite/images/level1.svg @@ -0,0 +1,3 @@ + + + diff --git a/Tests/W3CTestSuite/images/level2.svg b/Tests/W3CTestSuite/images/level2.svg new file mode 100644 index 0000000000000000000000000000000000000000..f8f7a799329c071d195a7e7acea7acaceb446ef4 --- /dev/null +++ b/Tests/W3CTestSuite/images/level2.svg @@ -0,0 +1,3 @@ + + + diff --git a/Tests/W3CTestSuite/images/linking-uri-01-b.svg b/Tests/W3CTestSuite/images/linking-uri-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..3356732150bfc747dfd56c751751d04bf14da7bf --- /dev/null +++ b/Tests/W3CTestSuite/images/linking-uri-01-b.svg @@ -0,0 +1,149 @@ + + + + + + + + + + + + +

+ Verify the capability to handle links to 'view' elements, and the + permissible attributes on those elements. All of the links in this + test case are internal, i.e., to 'view' elements in the same SVG file. +

+

+ This test is identical to linking-uri-02-b except that the links there are external. +

+

+ In the four quadrants of the initial picture are four graphical objects. + Clockwise from upper right, they are + a purple rectangle, blue ellipse, green polygon (pentagon), and yellow + circle. Each is labelled and tightly boxes with a rectangular frame. + These are identical to their counterparts in linking-uri-01-b.svg, in which + file each has an associated 'view' element, with attributes + per the labels in the initial picture. +

+

+ In the center is a gray box with four lines of text, each of which says + "Go to" followed by Rectangle, Ellipse, Polygon, and Circle, respectively. + Each of these is contained within an 'a' element, whose xlink:href names + the respective 'view' element of the respective graphical object. +

+

+ There are several reference images associated with this test case. The first + illustrates the correct initial state of the rendered SVG file, which should + also be the correct picture after the Rectangle link is executed. + The second, third, and fourth illustrate the correct images as described + above after respectively the Ellipse, Polygon, and Circle links are activated. + (Note. This harness does not yet provide access to multiple PNGs; the PNG for the + initial view is shown.) +

+

+ The test uses the 'rect', 'circle', 'ellipse', and 'polygon' elements, + as well as basic fill (solid simple colors), + stroke (black and colored 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ In turn, activate each of the "Rectangle", "Ellipse", "Polygon" and "Circle" links + in the gray box in the middle of the document, navigating back (for example with + the Back button if in a browser) after activating each one. +

+
+ +

+ The test is passed if all of the sub-tests have the correct behavior: +

+
    +
  • After activating the "Rectangle" link, the whole of the linking-uri-01-b.svg + document must be displayed; that is, there will be no visual change. (The + 'view' element has no attributes (other than id), so the correct view in + the frame is of the parent 'svg' element, which is the whole picture.)
  • +
  • After navigating back and activating the "Ellipse" link, the view must change so that it is + zoomed (uniformly scaled) and centered on the ellipse. The black rectangle + surrounding the ellipse must be just within the frame.
  • +
  • After navigating back and activating the "Circle" link, the view must change so that it is + zoomed and centered on the yellow circle. The view is scaled non-uniformly, however, + so that the circle is stretched horizontally ito an ellipse. The black rectangle + surrounding it must be just within the frame.
  • +
  • After navigating back and activating the "Polygon" link, the view must not change.
  • +
+
+ + $RCSfile: linking-uri-01-b.svg,v $ + + + + + + + + + Link test of the 'view' element and its attributes, 1 of 2, internal. + + + + + Go to Rectangle + + + Go to Ellipse + + + Go to Circle + + + Go to Polygon + + Click element's line + to link to its view + + + + + + Rectangle + + No view attributes except id. + + + + Ellipse + + viewBox, should fill frame. + + + + Circle + + viewBox & non-uniform + preserveAspectRatio + + + + Polygon + + viewTarget, no + changes to viewport + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-1st.png b/Tests/W3CTestSuite/images/linking-uri-01-f-1st.png new file mode 100644 index 0000000000000000000000000000000000000000..60a63b4170d3269bc2fd3eeebd575f4b0f16bf34 Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-1st.png differ diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-2nd.png b/Tests/W3CTestSuite/images/linking-uri-01-f-2nd.png new file mode 100644 index 0000000000000000000000000000000000000000..b67b09161c7d3de42d0fbc001a4c729edbbae7cf Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-2nd.png differ diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-3rd.png b/Tests/W3CTestSuite/images/linking-uri-01-f-3rd.png new file mode 100644 index 0000000000000000000000000000000000000000..b67b09161c7d3de42d0fbc001a4c729edbbae7cf Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-3rd.png differ diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-4th.png b/Tests/W3CTestSuite/images/linking-uri-01-f-4th.png new file mode 100644 index 0000000000000000000000000000000000000000..f6083419f7137e790c072c0d291e7716b43b28fe Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-4th.png differ diff --git a/Tests/W3CTestSuite/images/linking-uri-01-f-start.png b/Tests/W3CTestSuite/images/linking-uri-01-f-start.png new file mode 100644 index 0000000000000000000000000000000000000000..b67b09161c7d3de42d0fbc001a4c729edbbae7cf Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-01-f-start.png differ diff --git a/Tests/W3CTestSuite/images/linking-uri-03-f-1st.png b/Tests/W3CTestSuite/images/linking-uri-03-f-1st.png new file mode 100644 index 0000000000000000000000000000000000000000..84bff57923b488ae07b623f82e7403619faab3b2 Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-03-f-1st.png differ diff --git a/Tests/W3CTestSuite/images/linking-uri-03-f-start.png b/Tests/W3CTestSuite/images/linking-uri-03-f-start.png new file mode 100644 index 0000000000000000000000000000000000000000..9e3599f89319a4cd655f208dbdc8720db59c06c6 Binary files /dev/null and b/Tests/W3CTestSuite/images/linking-uri-03-f-start.png differ diff --git a/Tests/W3CTestSuite/images/linkingCircle-f.svg b/Tests/W3CTestSuite/images/linkingCircle-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..42ae8543e84489a65687ab62bcbd867245b5c1c7 --- /dev/null +++ b/Tests/W3CTestSuite/images/linkingCircle-f.svg @@ -0,0 +1,34 @@ + + + + + + + + linkingCircle-f.svg + Some circles with ids, for linking tests. + + + + + + + + + Some circles with ids, for linking tests. + + circle-1 + + circle-2 + + + + circle-3 + + + + + + diff --git a/Tests/W3CTestSuite/images/linkingToc-t.svg b/Tests/W3CTestSuite/images/linkingToc-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ff00d54a0a00268ebbb8357ccad0cce933e84bc8 --- /dev/null +++ b/Tests/W3CTestSuite/images/linkingToc-t.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + TOC & index of linking tests. + + + + + 1.) linking-a-04-t: Verify basic links out of SVG content ('a'). + + + + + + 2.) linking-uri-03-t: Verify handling of xlink attributes on 'a'. + + + + + + 3.) linking-a-02-b: Verify links into SVG content and fragment syntax. + + + + + + 4.) linking-uri-01-b: Verify 'view' element handling. + + + + + + 5.) linking-uri-02-b: Verify 'view' element handling (companion to linking-uri-01-f). + + + + + [Note. This is not a linking test, but a supplemental file and link + + + target for other linking tests.] + + + + + diff --git a/Tests/W3CTestSuite/images/magnify.png b/Tests/W3CTestSuite/images/magnify.png new file mode 100644 index 0000000000000000000000000000000000000000..5713577446be74ce8e9746af4da5c05d4c48fd86 Binary files /dev/null and b/Tests/W3CTestSuite/images/magnify.png differ diff --git a/Tests/W3CTestSuite/images/makealpha.svg b/Tests/W3CTestSuite/images/makealpha.svg new file mode 100644 index 0000000000000000000000000000000000000000..c284b29bc83a5f6c8a39b4f22a82504375ea68b5 --- /dev/null +++ b/Tests/W3CTestSuite/images/makealpha.svg @@ -0,0 +1,34 @@ + + + + + Makes a simple graphic for testing alpha transparency + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/myimage.jpg b/Tests/W3CTestSuite/images/myimage.jpg new file mode 100644 index 0000000000000000000000000000000000000000..16009ed17fcf58783f984b22c61b3dff154b4b58 Binary files /dev/null and b/Tests/W3CTestSuite/images/myimage.jpg differ diff --git a/Tests/W3CTestSuite/images/nav_bullet.png b/Tests/W3CTestSuite/images/nav_bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f7c1f9d2a7df31117a2181a8afee2fa2c1e0c0 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_bullet.png differ diff --git a/Tests/W3CTestSuite/images/nav_down.png b/Tests/W3CTestSuite/images/nav_down.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8fb8e1541566c26795b8c493089346afae1636 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_down.png differ diff --git a/Tests/W3CTestSuite/images/nav_downleft.png b/Tests/W3CTestSuite/images/nav_downleft.png new file mode 100644 index 0000000000000000000000000000000000000000..8405698b0513779242199cd7d3d706694b109071 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_downleft.png differ diff --git a/Tests/W3CTestSuite/images/nav_downright.png b/Tests/W3CTestSuite/images/nav_downright.png new file mode 100644 index 0000000000000000000000000000000000000000..83973937c1d7b0ddeab13f49ab3fbd353c7d379e Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_downright.png differ diff --git a/Tests/W3CTestSuite/images/nav_frame.png b/Tests/W3CTestSuite/images/nav_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb974abd5ed62ff5cf4ce36c2db08c70e1575c5 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_frame.png differ diff --git a/Tests/W3CTestSuite/images/nav_left.png b/Tests/W3CTestSuite/images/nav_left.png new file mode 100644 index 0000000000000000000000000000000000000000..818c5118ffe0c69c2ea7d6f0cc498260c0cc6333 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_left.png differ diff --git a/Tests/W3CTestSuite/images/nav_noframe.png b/Tests/W3CTestSuite/images/nav_noframe.png new file mode 100644 index 0000000000000000000000000000000000000000..9c5c8724d31e8b5320f3f8235a05dd430a5a12c9 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_noframe.png differ diff --git a/Tests/W3CTestSuite/images/nav_right.png b/Tests/W3CTestSuite/images/nav_right.png new file mode 100644 index 0000000000000000000000000000000000000000..bcc3eeab3c3b1d8baa1fcf1387e927d9bc22775d Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_right.png differ diff --git a/Tests/W3CTestSuite/images/nav_svg.png b/Tests/W3CTestSuite/images/nav_svg.png new file mode 100644 index 0000000000000000000000000000000000000000..98bb21cbbf8d7195438f673d219cec4223b661cd Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_svg.png differ diff --git a/Tests/W3CTestSuite/images/nav_up.png b/Tests/W3CTestSuite/images/nav_up.png new file mode 100644 index 0000000000000000000000000000000000000000..bab586ca6e9b7c675747f153462994a4678f57cc Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_up.png differ diff --git a/Tests/W3CTestSuite/images/nav_upleft.png b/Tests/W3CTestSuite/images/nav_upleft.png new file mode 100644 index 0000000000000000000000000000000000000000..44e568b8483923c0fbe70c55cd374c08fe1d419b Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_upleft.png differ diff --git a/Tests/W3CTestSuite/images/nav_upright.png b/Tests/W3CTestSuite/images/nav_upright.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc2d925ba6af1f34b8aec19a545b22901887d43 Binary files /dev/null and b/Tests/W3CTestSuite/images/nav_upright.png differ diff --git a/Tests/W3CTestSuite/images/old-name-2-new-name1.html b/Tests/W3CTestSuite/images/old-name-2-new-name1.html new file mode 100644 index 0000000000000000000000000000000000000000..2c24600e66544ee95078d552df39e842b47146d8 --- /dev/null +++ b/Tests/W3CTestSuite/images/old-name-2-new-name1.html @@ -0,0 +1,1178 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CompanyPersonEmailOld FilenameNew Filename
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-add-BE-09animate-elem-01-F
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-inherit-BE-10animate-elem-02-F
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-motion-BE-11animate-elem-03-F
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-motion-BE-12animate-elem-04-F
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-values-BE-06animate-elem-05-F
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-values-BE-07animate-elem-06-F
EricssonMathias Larsson CarlanderMathias.Carlander@era.ericsson.seanimation-values-BE-08animate-elem-07-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpanimation-overall-BE-01animate-elem-09-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpanimation-targAtt-BE-04animate-elem-10-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpanimation-targElt-BE-03animate-elem-11-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpanimation-timing-BE-05animate-elem-12-F
W3CChris Lilleychris@w3.organimation-extRef-BE-13animate-elem-13-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.aucolor-colorProf-BE-03color-prof-01-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.aucolor-property-BE-02color-prop-01-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.comcolor-datatypes-BE-01color-prop-02-F
ZoomON ABOla Anderssonola.andersson@zoomon.comcoords-transforms-BE-02coords-trans-01-F
ILOGChristophe Jolifcjolif@ilog.frcoords-unitsProc-BE-05coords-units-01-F
ZoomON ABOla Anderssonola.andersson@zoomon.comcoords-units-BE-01coords-units-03-F
ZoomON ABOla Anderssonola.andersson@zoomon.comcoords-unitsProc-BE-04coords-units-02-F
ZoomON ABOla Anderssonola.andersson@zoomon.comcoords-viewBox-BE-03coords-viewattr-01-F
W3CChris Lilleychris@w3.orgextend-multiNS-BE-01extend-namespace-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-blend-BE-02filters-blend-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-colorMtrx-BE-03filters-color-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-composite-BE-05filters-composite-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-transfer-BE-04filters-comptran-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-convolve-BE-06filters-conv-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-diffuseLt-BE-07filters-diffuse-01-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.comfilters-dispMap-BE-16filters-displace-01-F
Savage SoftwareMike Bultrowiczmbultrowicz@savagesoftware.comfilters-many-BE-01filters-example-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-feImage-BE-13filters-image-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-lights-BE-09filters-light-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-morph-BE-10filters-morph-01-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.comfilters-fldMrgOff-BE-15filters-offset-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-specularLt-BE-08filters-specular-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-feTile-BE-14filters-tile-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-turb-BE-11filters-turb-01-F
W3CChris Lilleychris@w3.orgfonts-fontElement-BE-01fonts-elem-01-F
AGFAChris Tuijnchris.tuijn.ct@belgium.agfa.comfilters-blur-BE-12filters-gauss-01-F
Hewlett PackardLee Klostermanlee_klosterman@hp.cominteract-cursor-BE-08interact-cursor-01-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comdom-eventListener-BE-04interact-dom-01-F
Hewlett PackardLee Klostermanlee_klosterman@hp.cominteract-onload-BE-07interact-events-01-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.cominteract-bubble-BE-04interact-order-01-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.cominteract-pEvents-BE-05interact-pointer-01-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.cominteract-pEvents-BE-06interact-pointer-02-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.cominteract-zoomPan-BE-01interact-zoom-01-F
Eastman KodakThomas DeWeesethomas.deweese@kodak.cominteract-zoomPan-BE-02interact-zoom-02-F
Hewlett PackardLee Klostermanlee_klosterman@hp.comlinking-inBound-BE-03linking-a-01-F
Hewlett PackardLee Klostermanlee_klosterman@hp.comlinking-outBound-BE-01linking-a-02-F
Hewlett PackardLee Klostermanlee_klosterman@hp.comlinking-view-BE-04linking-uri-01-F
Hewlett PackardLee Klostermanlee_klosterman@hp.comlinking-view-BE-05linking-uri-02-F
Hewlett PackardLee Klostermanlee_klosterman@hp.comlinking-xlinkAttr-BE-02linking-uri-03-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-groupOpac-BE-04masking-alpha-01-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-mask-BE-05masking-mask-01-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-mask-BE-06masking-mask-02-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-property-BE-07masking-opacity-01-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-clipPath-BE-08masking-path-01-F
CanonJun Fujisawafujisawa.jun@canon.co.jpmasking-clipPath-BE-01masking-path-01-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-clipRule-BE-03masking-path-02-F
CanonJun Fujisawafujisawa.jun@canon.co.jpmasking-clipPath-BE-02masking-path-02-F
OpenwaveCharles Yingcharles.ying@openwave.commasking-vportClip-BE-09masking-path-03-F
W3CChris Lilleychris@w3.orgmetadata-sample-BE-01metadata-example-01-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpanimation-href-BE-02naimate-elem-08-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.compaint-fill-BE-01painting-fill-01-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.compaint-inherit-BE-06painting-fill-02-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.compaint-markers-BE-03painting-markers-01-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.compaint-markers-BE-04painting-markers-02-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.compaint-colIntProp-BE-05painting-render-01-F
Schema Software Inc.Philip Mansfieldphilipm@schemasoft.compaint-stroke-BE-02painting-stroke-01-F
ILOGChristophe Jolifcjolif@ilog.frpath-curves-BE-02paths-data-01-F
ILOGChristophe Jolifcjolif@ilog.frpath-curves-BE-03paths-data-02-F
ILOGChristophe Jolifcjolif@ilog.frpath-curves-BE-04paths-data-03-F
ILOGChristophe Jolifcjolif@ilog.frpath-lines-BE-01paths-data-04-F
CanonJun Fujisawafujisawa.jun@canon.co.jpgradPatt-referenc-BE-08pservers-grad-01-F
CanonJun Fujisawafujisawa.jun@canon.co.jpgradPatt-stop-BE-06pservers-grad-02-F
CanonJun Fujisawafujisawa.jun@canon.co.jpgradPatt-stop-BE-10pservers-grad-03-F
CanonJun Fujisawafujisawa.jun@canon.co.jpgradPatt-transfrm-BE-09pservers-grad-04-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.augradPatt-linearGr-BE-01pservers-grad-05-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.augradPatt-linearGr-BE-02pservers-grad-06-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.augradPatt-linearGr-BE-03pservers-grad-07-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.augradPatt-radialGr-BE-04pservers-grad-08-F
CSIRO AustraliaDean Jacksondean.jackson@cmis.csiro.augradPatt-radialGr-BE-05pservers-grad-09-F
CanonJun Fujisawafujisawa.jun@canon.co.jpgradPatt-pattern-BE-07pservers-pattern-01-F
CorelPhil Armstrongphila@corel.comrendering-shape-BE-03render-elems-01-F
CorelPhil Armstrongphila@corel.comrendering-text-BE-02render-elems-02-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpscript-eventDom-BE-01script-handle-01-F
KDDIArei Kobayashiarei_kobayasi@jmserv.kbip.kddlabs.co.jpscript-uiEvents-BE-02script-handle-02-F
NokiaTolga Capintolga.capin@nokia.comshapes-circle-BE-03shapes-circle-01-F
ILOGChristophe Jolifcjolif@ilog.frshapes-ellipse-BE-02shapes-ellipse-01-F
NokiaTolga Capintolga.capin@nokia.comshapes-line-BE-04shapes-line-01-F
NokiaTolga Capintolga.capin@nokia.comshapes-polygon-BE-05shapes-polygon-01-F
NokiaTolga Capintolga.capin@nokia.comshapes-polyline-BE-06shapes-polyline-01-F
ILOGChristophe Jolifcjolif@ilog.frshapes-rect-BE-01shapes-rect-01-F
BitflashRick Grahamrick@bitflash.comstructure-switch-BE-07struct-cond-01-F
BitflashRick Grahamrick@bitflash.comstructure-lang-BE-08struct-cond-02-F
CorelPhil Armstrongphila@corel.comstructure-defs-BE-04struct-defs-01-F
BitflashRick Grahamrick@bitflash.comstructure-extRef-BE-10struct-defs-02-F
W3CChris Lilleychris@w3.orgdom-svg-BE-02struct-dom-01-F
W3CChris Lilleychris@w3.orgdom-featureString-BE-03struct-dom-02-F
W3CChris Lilleychris@w3.orgdom-core-BE-01struct-dom-03-F
CorelPhil Armstrongphila@corel.comstructure-empty-BE-01struct-frag-01-F
CorelPhil Armstrongphila@corel.comstructure-basicG-BE-03struct-group-01-F
CorelPhil Armstrongphila@corel.comstructure-nested-BE-02struct-group-02-F
BitflashRick Grahamrick@bitflash.comstructure-image-BE-06struct-image-01-F
BitflashRick Grahamrick@bitflash.comstructure-allElem-BE-09struct-image-02-F
BitflashRick Grahamrick@bitflash.comstructure-imggamma-BE-11struct-image-03-F
BitflashRick Grahamrick@bitflash.comstructure-symbol-BE-05struct-symbol-01-F
ZoomON ABOla Anderssonola.andersson@zoomon.comstyle-selector-BE-01styline-css-01-F
ZoomON ABOla Anderssonola.andersson@zoomon.comstyle-selector-BE-02styline-css-02-F
ZoomON ABOla Anderssonola.andersson@zoomon.comstyle-selector-BE-03styline-css-03-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-alignment-BE-10text-align-01-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-textAnchor-BE-05text-align-02-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-alignment-BE-11text-align-03-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-altGlyph-BE-07text-altglyph-01-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-decoration-BE-12text-deco-01-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-font-BE-15text-fonts-01-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-font-BE-16text-fonts-02-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-i18n-BE-09text-intro-01-F
NokiaTolga Capintolga.capin@nokia.comtext-textOnPath-BE-03text-path-01-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-spacing-BE-14text-spacing-01-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-textLength-BE-17text-text-01-F
NokiaTolga Capintolga.capin@nokia.comtext-text-BE-01text-text-02-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-extTref-BE-18text-tref-01-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-tref-BE-04text-tref-01-F
Adobe Systems Inc.Jon Ferraiolojferraio@adobe.comtext-selection-BE-13text-tselect-01-F
NokiaTolga Capintolga.capin@nokia.comtext-tspan-BE-02text-tspan-01-F
Sun MicrosystemsVincent Hardyvincent.hardy@sun.comtext-whiteSpace-BE-06text-ws-01-F
+ + + + diff --git a/Tests/W3CTestSuite/images/paths-data-01-f.png b/Tests/W3CTestSuite/images/paths-data-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..3886e79315a61f413acf2715e90db50fa6f7de8f Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-01-f.png differ diff --git a/Tests/W3CTestSuite/images/paths-data-01-f.svg b/Tests/W3CTestSuite/images/paths-data-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..43d9041b78671ab81a001e8cf5f914b6e6239a76 --- /dev/null +++ b/Tests/W3CTestSuite/images/paths-data-01-f.svg @@ -0,0 +1,169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Test that the viewer has the basic capability to handle the 'path' +element and its data (d) attribute in combination with the cubic +Bezier curveto commands, C, c, S, s (plus Mm and Zz). + + +There are 8 subtests, each composed from the cubic Bezier path commands per +the label by the subtest. On-curve control points (i.e., the curve position) +are marked by small blue squares. Subtests are filled, or stroked, or +both, using simple style properties and colors. + + +The rendered picture should match the reference image exactly, except for possible +variations in the labelling text (per CSS2 rules). + + +The test uses the 'rect' element, as well as basic fill (solid primary colors), +stroke (primary color 1-pixel lines), font-family (Helvetica) and font-size properties. + + + + paths-data-01-f + Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the cubic Bezier curveto, both regular and shorthand/smooth forms - C, c, S, s (along with Mm and Zz). + + + + + + + + Cubic bezier curves drawn with commands: + + + + + + + + + + + M, C, S, m, c, s + + + + + + + + + + + + M, c, c, c, C, z + + + + + + + + + + M, C, Z + + + + + + + + + + + M, C, c, Z + + + + + + + + + + + m, c, s + + + + + + + + + + M, C + + + + + + + + + + + + M, c, s, s, s, z + + + + + + + + + + m, c, z + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + paths-data-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/paths-data-02-f.png b/Tests/W3CTestSuite/images/paths-data-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..968ed60d8324e5ea8fa0617e29352ac7f3e9c1da Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-02-f.png differ diff --git a/Tests/W3CTestSuite/images/paths-data-02-f.svg b/Tests/W3CTestSuite/images/paths-data-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0436ee6ee003572b107b637b02ea9055a85d5344 --- /dev/null +++ b/Tests/W3CTestSuite/images/paths-data-02-f.svg @@ -0,0 +1,143 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Test that the viewer has the basic capability to handle the 'path' +element and its data (d) attribute in combination with the quadratic +Bezier curveto commands, Q, q, T, t (plus Mm and Zz). + + +There are 7 subtests, each composed from the quadric Bezier path commands per +the label by the subtest. On-curve control points (i.e., the curve position) +are marked by small colored squares. Subtests are filled, or stroked, or +both, using simple style properties and colors. + + +The rendered picture should match the reference image exactly, except for possible +variations in the labelling text (per CSS2 rules). + + +The test uses the 'rect' element, as well as basic fill (solid primary colors), +stroke (primary color wide and 1-pixel lines), font-family (Helvetica) and font-size properties. + + + + paths-data-02-f + Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the quadratic Bezier curveto commands, both regular and shorthand/smooth forms - Q, q, T, t (along with Mm and Zz). + + + + + Quadric bezier curves drawn with commands: + + + + + M, Q, M, q, z + + + + + + + + + m, q, z, m, q, z + + + + + + + + + M, Q, Z + + + + + + + M, Q, T, Q, z + + + + + + + + + M, Q, Q, z + + + + + + + + M, q, t, t, t, t, z + + + + + + + + + + + M, q, Q, q, Q, z + + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + paths-data-02-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/paths-data-03-f.png b/Tests/W3CTestSuite/images/paths-data-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f466bcd47379ea7be259bc5aad19f08896b8d9 Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-03-f.png differ diff --git a/Tests/W3CTestSuite/images/paths-data-03-f.svg b/Tests/W3CTestSuite/images/paths-data-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c671a058b158ec26a00423fa9d950887991194ce --- /dev/null +++ b/Tests/W3CTestSuite/images/paths-data-03-f.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Test that the viewer has the basic capability to handle the 'path' +element and its data (d) attribute in combination with the elliptical +arc curveto commands, A, a (plus Mm and Zz). + + +There are 6 subtests, each composed from the elliptical arc path commands per +the label by the subtest. The curve positions +are marked by small colored squares. Subtests are filled, or stroked, or +both, using simple style properties and colors. + + +The rendered picture should match the reference image exactly, except for possible +variations in the labelling text (per CSS2 rules). + + +The test uses the 'rect' element, as well as basic fill (solid primary colors), +stroke (primary color wide and 1-pixel lines), font-family (Helvetica) and font-size properties. + + + + + paths-data-03-f.svg + Test that the viewer has the basic capability to handle the 'path' element and data (d) attribute in combination with the elliptical Arc curveto commands - A, a (along with Mm and Zz). + + + + + Elliptical arc curves drawn with commands: + + + + + M, A, Z + + + + + + + m, a, z + + + + + + + M, a + + + + + + + M, A, a, a, z + + + + + + + + + M, a, Z, m, A, Z, m, a, z + + + + + + + + + + + M, A, A, A, A + + + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + paths-data-03-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/paths-data-04-f.png b/Tests/W3CTestSuite/images/paths-data-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..ed52be58b4eef4b4373a5dcbd7fca4fa82466404 Binary files /dev/null and b/Tests/W3CTestSuite/images/paths-data-04-f.png differ diff --git a/Tests/W3CTestSuite/images/paths-data-04-f.svg b/Tests/W3CTestSuite/images/paths-data-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..18d5ad4d5ae80c0e3ea172b2c01944b4e3c64cc7 --- /dev/null +++ b/Tests/W3CTestSuite/images/paths-data-04-f.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Verify the basic capability to handle the 'path' element, and its data attribute (d) +in combination with the straight-line path commands. +Four pairs of figures should be displayed in the +four quadrants. The shapes in each pair are identical, with one stroked and +one filled. Two pairs of concentric equilateral triangles are drawn using respectively +M,L,Z and m,l,z. The fill-mode default of "even-odd" means that +the inner triangle is hollow. Two pairs of staircase figures are drawn using +respectively M,H,V,Z and m,h,v,z. + + +The rendered picture should match the reference image exactly, except for possible +variations in the labelling text (per CSS2 rules). + + +The test uses the 'rect' element, as well as basic fill (solid primary colors), +stroke (black 1-pixel lines), font-family (Helvetica) and font-size properties. + + + + + paths-data-04-f + Test that viewer has the basic capability to handle the <path> element and data (d) attribute in combination with the moveto, lineto, and closepath commands - M, L, Z, m, l, and z. + + + + + + + + Lines drawn with commands: + M, L, L, L, Z, + subpath + M, L, L, L, Z + + + + + + + + stroked + + + + + + + + filled + + + + m, l, l, l, z, + subpath + m, l, l, l, z + + + + + + + + + + + + + + + + + + M, H, V, H, + V. H, V, H, + V, Z + + + + + + + + + + + + + + + + + + + + + + m, h, v, h + v, h, v, h + v, z + + + + + + + + + + + + + + + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + paths-data-04-f + $Revision: 1.1 $ + Release 3.0 + + + diff --git a/Tests/W3CTestSuite/images/pinksquidj.png b/Tests/W3CTestSuite/images/pinksquidj.png new file mode 100644 index 0000000000000000000000000000000000000000..e88ae4eb43d2c8c2670f6077d749787549bfb4aa Binary files /dev/null and b/Tests/W3CTestSuite/images/pinksquidj.png differ diff --git a/Tests/W3CTestSuite/images/plant.jpg b/Tests/W3CTestSuite/images/plant.jpg new file mode 100644 index 0000000000000000000000000000000000000000..855412102dd137411345c1a77960d9e2c038feed Binary files /dev/null and b/Tests/W3CTestSuite/images/plant.jpg differ diff --git a/Tests/W3CTestSuite/images/purplesquidj.png b/Tests/W3CTestSuite/images/purplesquidj.png new file mode 100644 index 0000000000000000000000000000000000000000..90000a8bc254ea3dfec0bdc31351d62e861ad577 Binary files /dev/null and b/Tests/W3CTestSuite/images/purplesquidj.png differ diff --git a/Tests/W3CTestSuite/images/rects.svg b/Tests/W3CTestSuite/images/rects.svg new file mode 100644 index 0000000000000000000000000000000000000000..d940ed4487e5be26416c9a2187bb446ab5218401 --- /dev/null +++ b/Tests/W3CTestSuite/images/rects.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/rects_b.svg b/Tests/W3CTestSuite/images/rects_b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5952ae2d20ec33594911a6f8bb5615da58200035 --- /dev/null +++ b/Tests/W3CTestSuite/images/rects_b.svg @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/red1x1.png b/Tests/W3CTestSuite/images/red1x1.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c0d77194e1d463cd454ae5da94a81c83a6edae Binary files /dev/null and b/Tests/W3CTestSuite/images/red1x1.png differ diff --git a/Tests/W3CTestSuite/images/rgbalpha.png b/Tests/W3CTestSuite/images/rgbalpha.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e3baa90a758a8107e689f4355220f60c76191c Binary files /dev/null and b/Tests/W3CTestSuite/images/rgbalpha.png differ diff --git a/Tests/W3CTestSuite/images/rightarrow.png b/Tests/W3CTestSuite/images/rightarrow.png new file mode 100644 index 0000000000000000000000000000000000000000..c29fb8ae2d91038f60da5bab4334034fdba56334 Binary files /dev/null and b/Tests/W3CTestSuite/images/rightarrow.png differ diff --git a/Tests/W3CTestSuite/images/rotate20.png b/Tests/W3CTestSuite/images/rotate20.png new file mode 100644 index 0000000000000000000000000000000000000000..e566bfadfd5b875961db82e600a0d27030243acb Binary files /dev/null and b/Tests/W3CTestSuite/images/rotate20.png differ diff --git a/Tests/W3CTestSuite/images/selector-types-fill-green.css b/Tests/W3CTestSuite/images/selector-types-fill-green.css new file mode 100644 index 0000000000000000000000000000000000000000..f7cdb44a9b419145e90f241e3a0fb14229a1946e --- /dev/null +++ b/Tests/W3CTestSuite/images/selector-types-fill-green.css @@ -0,0 +1,28 @@ +path +{ + fill: green; +} +g svg circle +{ + fill: green; +} +g > ellipse +{ + fill: green; +} +ellipse + circle +{ + fill: green; +} +[id=testAttributeSelector] +{ + fill: green; +} +#testIdSelector +{ + fill: green; +} +#testPseudoClassSelector:first-child +{ + fill: green; +} diff --git a/Tests/W3CTestSuite/images/selector-types-visibility-hidden.css b/Tests/W3CTestSuite/images/selector-types-visibility-hidden.css new file mode 100644 index 0000000000000000000000000000000000000000..9d5e525d6a929ff62ca0eec97e377c0594ce9a74 --- /dev/null +++ b/Tests/W3CTestSuite/images/selector-types-visibility-hidden.css @@ -0,0 +1,32 @@ +path +{ + visibility: hidden; +} +g svg circle +{ + visibility: hidden; +} +g > ellipse +{ + visibility: hidden; +} +ellipse + circle +{ + visibility: hidden; +} +[id=testAttributeSelector] +{ + visibility: hidden; +} +#testIdSelector +{ + visibility: hidden; +} +#testPseudoClassSelector:first-child +{ + visibility: hidden; +} +.reference +{ + visibility: visible !important; +} diff --git a/Tests/W3CTestSuite/images/shapes-ellipse-01-b.svg b/Tests/W3CTestSuite/images/shapes-ellipse-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..119dc2caae30550f1d0ac9573251b6a34ec5c181 --- /dev/null +++ b/Tests/W3CTestSuite/images/shapes-ellipse-01-b.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + shapes-rect-01-b + Test that viewer has the basic capability to render the 'ellipse'element + + + + + + + default + + + + filled + + + + 'rx'='ry' + + + all attributes + + + + + + + + + + + SVG v1.1 Conformance Suite + + shapes-ellipse-01-b + + $Revision: 1.1 $ + + ©2002 W3C + + Release 1.0 + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/shapes-ellipse-01-f.png b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..73e78ad8fcee4adf40008dc6f5661006a9223d1c Binary files /dev/null and b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.png differ diff --git a/Tests/W3CTestSuite/images/shapes-ellipse-01-f.svg b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..70899a16ef36ca5cdaed8dbf6bae312a51d07e29 --- /dev/null +++ b/Tests/W3CTestSuite/images/shapes-ellipse-01-f.svg @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Verify the basic capability to handle the 'ellipse' +shape element. Four pairs of ellipses should be displayed in the +four quadrants, with the shapes in each pair being identical. Filling, stroking, +and filling-plus-stroking are applied, and the cx,cy (center position) and +rx,ry (ellipse radii) attributes are varied. + + +The rendered picture should match the reference image, except for possible +variations in the labelling text (per CSS2 rules). + + +This test uses 'text', 'rect' and 'path' elements, as well as +fill (solid primary colors), stroke (primary colors and wide lines), +font-family ("Helvetica"), and font-size properties within the 'style' attribute. + + + + + shapes-ellipse-01-f + Test that viewer has the basic capability to handle the <ellipse> element. + + + + + + + + Basic ellipses + rx=30 + ry=50 + + + stroked + filled + + + + rx=35 + ry=35 + + + stroked + filled + + + + rx=30 + ry=50 + + + stroked + filled & stroked + + + + rx=70 + ry=40 + + filled & stroked + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + shapes-ellipse-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/shapes-rect-01-b.svg b/Tests/W3CTestSuite/images/shapes-rect-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f91157918f403a664fe3c00a482ac0351211556 --- /dev/null +++ b/Tests/W3CTestSuite/images/shapes-rect-01-b.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + shapes-rect-01-b + Test that viewer has the basic capability to render the 'rect'element + + + + + + + default + + + + filled + + + + rounded 'x' + + + + rounded 'x', 'y' + + + + + + + + + + + SVG v1.1 Conformance Suite + + shapes-rect-01-b + + $Revision: 1.1 $ + + ©2002 W3C + + Release 1.0 + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/shapes-rect-01-f.png b/Tests/W3CTestSuite/images/shapes-rect-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..bf25fdfed918b9fe629b7f56a908fd2dc53ec088 Binary files /dev/null and b/Tests/W3CTestSuite/images/shapes-rect-01-f.png differ diff --git a/Tests/W3CTestSuite/images/shapes-rect-01-f.svg b/Tests/W3CTestSuite/images/shapes-rect-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..2caf30e570b21aa3df86c7ed476b8e811febf1d6 --- /dev/null +++ b/Tests/W3CTestSuite/images/shapes-rect-01-f.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Verify that interpreter/viewer has basic capability to handle the 'rect' +shape element. Four pairs of rectangles should be displayed in the +four quadrants, with the shapes in each pair being identical to each other. +Filling, stroking, and filling-plus-stroking are tested, as are the round-rect +attributes. + + +The rendered picture should match the reference image, except for possible +variations in the labelling text (per CSS2 rules). + + +This test uses 'text' and 'path' elements, as well as +fill (solid primary colors), stroke (primary colors and wide lines), +font-family ("Helvetica"), and font-size properties within the 'style' attribute. + + + + + shapes-rect-01-f + Test that viewer has the basic capability to handle the <rect> element. + + + + + + + + Basic rectangles + width=50 + height=80 + + + stroked + filled + + + + width=50 + height=80 + rx=30 + + + stroked + filled + + + + width=50 + height=80 + + + stroked + filled & stroked + + + + width=50, height=80 + rx=30 ry=50 + + + stroked + filled + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + shapes-rect-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/sign.png b/Tests/W3CTestSuite/images/sign.png new file mode 100644 index 0000000000000000000000000000000000000000..6aac7e150a7abcf12c523faf5df07f410ff4ee11 Binary files /dev/null and b/Tests/W3CTestSuite/images/sign.png differ diff --git a/Tests/W3CTestSuite/images/smiley.png b/Tests/W3CTestSuite/images/smiley.png new file mode 100644 index 0000000000000000000000000000000000000000..5bcc67a2d0d1a3258628825a0adedf2667ac275e Binary files /dev/null and b/Tests/W3CTestSuite/images/smiley.png differ diff --git a/Tests/W3CTestSuite/images/sphere.png b/Tests/W3CTestSuite/images/sphere.png new file mode 100644 index 0000000000000000000000000000000000000000..9e22388e7a22bdc4a7abd29311b7e3f838b320a1 Binary files /dev/null and b/Tests/W3CTestSuite/images/sphere.png differ diff --git a/Tests/W3CTestSuite/images/star.svg b/Tests/W3CTestSuite/images/star.svg new file mode 100644 index 0000000000000000000000000000000000000000..b6fdffb084dd297ecb381dd77dacaa89048c0187 --- /dev/null +++ b/Tests/W3CTestSuite/images/star.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/stefan_252_tRNS_opti.png b/Tests/W3CTestSuite/images/stefan_252_tRNS_opti.png new file mode 100644 index 0000000000000000000000000000000000000000..1937a31541b078ba30d51c953cb3636147b0c1fa Binary files /dev/null and b/Tests/W3CTestSuite/images/stefan_252_tRNS_opti.png differ diff --git a/Tests/W3CTestSuite/images/struct-frag-01-B.svg b/Tests/W3CTestSuite/images/struct-frag-01-B.svg new file mode 100644 index 0000000000000000000000000000000000000000..41e99c0de44e90113b931369c51a49b103cb1519 --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-frag-01-B.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + struct-frag-01 + Test that 'svg' elements nested inside of each other will render correctly + + + + + + + + + + + + + + + + + + + + + + + + + + SVG v1.1 Conformance Suite + struct-frag-01-B + + ©2002 W3C + + $Rev:1.0$ + Rel 1.1 + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/struct-image-01.jpg b/Tests/W3CTestSuite/images/struct-image-01.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a74e07223bd96dce886a0ef9f1643173f99a24ef Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-01.jpg differ diff --git a/Tests/W3CTestSuite/images/struct-image-01.png b/Tests/W3CTestSuite/images/struct-image-01.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed08406dcf7b02daa56a0c93c28df5f4270f452 Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-01.png differ diff --git a/Tests/W3CTestSuite/images/struct-image-02.jpg b/Tests/W3CTestSuite/images/struct-image-02.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e44fec63b82bd9f26df380fb6759168ed87a633 Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-02.jpg differ diff --git a/Tests/W3CTestSuite/images/struct-image-02.png b/Tests/W3CTestSuite/images/struct-image-02.png new file mode 100644 index 0000000000000000000000000000000000000000..c609c46719e934087b1ca4befc08a32d10b5076b Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-image-02.png differ diff --git a/Tests/W3CTestSuite/images/struct-image-11-b-1.svg b/Tests/W3CTestSuite/images/struct-image-11-b-1.svg new file mode 100644 index 0000000000000000000000000000000000000000..9ab4b1edeea9b3d56666a3d569d7d82f8db4691f --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-image-11-b-1.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Tests/W3CTestSuite/images/struct-image-11-b-2.svg b/Tests/W3CTestSuite/images/struct-image-11-b-2.svg new file mode 100644 index 0000000000000000000000000000000000000000..01f5d4c27e9b56f2bf48d1a95b5e7a837cc6f676 --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-image-11-b-2.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Tests/W3CTestSuite/images/struct-image-12-b-cycle.svg b/Tests/W3CTestSuite/images/struct-image-12-b-cycle.svg new file mode 100644 index 0000000000000000000000000000000000000000..ce5fe148c3a85437723913dd39061fe8e695d44b --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-image-12-b-cycle.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/struct-image-12-b-nocycle.svg b/Tests/W3CTestSuite/images/struct-image-12-b-nocycle.svg new file mode 100644 index 0000000000000000000000000000000000000000..3d6440bb53c429ef503a27d390604dd8938a2108 --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-image-12-b-nocycle.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/struct-image-17-b-1.svg b/Tests/W3CTestSuite/images/struct-image-17-b-1.svg new file mode 100644 index 0000000000000000000000000000000000000000..ff34bdea0f54918be8258b510da917c9aa9ee8d7 --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-image-17-b-1.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/Tests/W3CTestSuite/images/struct-symbol-01.png b/Tests/W3CTestSuite/images/struct-symbol-01.png new file mode 100644 index 0000000000000000000000000000000000000000..323a51fa7322a9cfe25c5367b8a8bf8d95f747c2 Binary files /dev/null and b/Tests/W3CTestSuite/images/struct-symbol-01.png differ diff --git a/Tests/W3CTestSuite/images/struct-use-06-b-1.svg b/Tests/W3CTestSuite/images/struct-use-06-b-1.svg new file mode 100644 index 0000000000000000000000000000000000000000..18af39ed54660d12fe18dc638b59f814ccb4e8d8 --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-use-06-b-1.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/struct-use-08-b-cycles.svg b/Tests/W3CTestSuite/images/struct-use-08-b-cycles.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f3c1a4ab92aa8735039ff5f3ef2a5cb1a13a67f --- /dev/null +++ b/Tests/W3CTestSuite/images/struct-use-08-b-cycles.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Tests/W3CTestSuite/images/svgRef1.svg b/Tests/W3CTestSuite/images/svgRef1.svg new file mode 100644 index 0000000000000000000000000000000000000000..1df0237c90fe879b10e9524e429f0ec76beef336 --- /dev/null +++ b/Tests/W3CTestSuite/images/svgRef1.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + svgRef1.svg + $Revision: 1.3 $ + + diff --git a/Tests/W3CTestSuite/images/svgRef4.css b/Tests/W3CTestSuite/images/svgRef4.css new file mode 100644 index 0000000000000000000000000000000000000000..0e4157b7a7ad48f1f02d620630017c3606cdc8b0 --- /dev/null +++ b/Tests/W3CTestSuite/images/svgRef4.css @@ -0,0 +1,4 @@ +rect {fill:fuchsia;} +circle {fill:blue;} +polygon {fill:green;} +ellipse {fill:gold;} diff --git a/Tests/W3CTestSuite/images/svgRef4.svg b/Tests/W3CTestSuite/images/svgRef4.svg new file mode 100644 index 0000000000000000000000000000000000000000..2f170fbd8e0caf4fdcb5c5a1a050bce0791a6147 --- /dev/null +++ b/Tests/W3CTestSuite/images/svgRef4.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + svgRef4.svg + $Revision: 1.2 $ + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/images/text-align-01-f.svg b/Tests/W3CTestSuite/images/text-align-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b46aad9eecc558fa78f1d7db311840de045952ab --- /dev/null +++ b/Tests/W3CTestSuite/images/text-align-01-f.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test 'text-anchor' and the 'baseline-shift' properties (horizonatal). + + + The topmost three lines test the three values for property 'text-anchor': start, middle and end. + + + The next three lines test property 'baseline-shift'. + The fourth line tests 'baseline-shift:7' (i.e., a length for 'baseline-shift'). + The red text should shift upward by 7 pixels. + The fifth line tests 'baseline-shift:-70%' (i.e., a percentage for 'baseline-shift'). + The red text should shift downward by 70% of the 'font-size'. + The sixth line tests the three keywords 'sub', 'super' and 'normal'. + You should see a subscript, superscript and return to normal. + + + + + text-align-01-f + Test 'text-anchor' and the 'baseline-shift' properties (horizontal). + + + + + Test 'text-anchor' and the 'baseline-shift' properties (horizontal). + + + + + Text-anchor:start + + + + + Text-anchor:middle + + + + + Text-anchor:end + + + + Normal textbaseline-shift:7normal text + Normal textbaseline-shift:-70%normal text + Normal textsubsupernormaltext + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-align-01-f + $Revision: 1.1 $ + Release 1.0 + + + + diff --git a/Tests/W3CTestSuite/images/text-align-02-f.svg b/Tests/W3CTestSuite/images/text-align-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b3b289710dcafa36d633071c5941ea067da1d188 --- /dev/null +++ b/Tests/W3CTestSuite/images/text-align-02-f.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test for viewer capibility to handle the basics of the 'textAnchor' + alignment property for 'text' and related elements. + + + There are several groups of sub-tests. The first group at the top has an + initial sub-test with no text-anchor property ("none"), then + tests the three values of the text-anchor property -- start, middle, end -- + for simple 'text' elements. In each case, the x-coordinate attribute of + the 'text' element corresponds to the position of the vertical red line. + + + The second group from the top contains sub-tests to verify that the + interpreter handles text-anchor when the text is comprised of other + text related elements, 'tspan', 'tref', and 'textPath'. + The text-anchor property is present on the containing 'text' element + in these cases, not on the contained child elements. + + + The third group from the top contains sub-tests to verify that + the interpreter correctly handles and applies the text-anchor + properties when present on "chunks", which are comprised of tspan elements + with absolute positioning, within the containing 'text' element. + + + The rendered picture should match the reference image, except for + possible variations in the text fonts and layout (per CSS2 rules). + + + The test also uses the 'rect' element, + as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Helvetica) + and font-size properties. + + + + + text-align-03-f + Test viewer basic capability to handle 'text-anchor' property. + + + + + + end. text w/ tref + + + Basic test of 'text-anchor' alignment property. + (The red line corresponds to the "initial current text position".) + Simple text. + + + + none + start + middle + end + + + + none... + start... + middle... + end... + + Tspan, tref, toap + + + + start. text w/ red tspan + middle. text w/ bold tspan + + + + + Text-anchor: end. Text on path + + + + + tspan... + tspan... + tref... + textPath... + + Changes in chunks. + + + + Begin with "end" align, and switch to middle in a tspan, and finish with start in another tspan. + + + + end... + middle... + start... + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-align-02-f + $Revision: 1.1 $ + Release 1.0 + + + + diff --git a/Tests/W3CTestSuite/images/text-align-03-f.svg b/Tests/W3CTestSuite/images/text-align-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..732e9d443223fe24fa7ffa4dc270d07579bae72b --- /dev/null +++ b/Tests/W3CTestSuite/images/text-align-03-f.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test 'text-anchor' and the 'baseline-shift' properties (vertical). + + + The leftmost three lines test the three values for property 'text-anchor': start, middle and end. + + + The next three lines test property 'baseline-shift'. + The fourth line tests 'baseline-shift:7' (i.e., a length for 'baseline-shift'). + The red text should shift right by 7 pixels. + The fifth line tests 'baseline-shift:-70%' (i.e., a percentage for 'baseline-shift'). + The red text should shift left by 70% of the 'font-size'. + The sixth line tests the three keywords 'sub', 'super' and 'normal'. + You should see a subscript, superscript and return to normal. + + + + + text-align-03-f + Test 'text-anchor' and the 'baseline-shift' properties (vertical). + + + + + Test 'text-anchor' and the 'baseline-shift' properties (vertical). + text-anchor + baseline-shift + + + + + start + + + + middle + + + + end + + + + noneshift by 7none + noneshift by -70%none + nonesubsuperno shift + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-align-03-f + $Revision: 1.1 $ + Release 1.0 + + + + diff --git a/Tests/W3CTestSuite/images/text-altglyph-01-f.svg b/Tests/W3CTestSuite/images/text-altglyph-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..bf10d740ee1bbd5f6959f7f677f97cc43197c011 --- /dev/null +++ b/Tests/W3CTestSuite/images/text-altglyph-01-f.svg @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test 'altGlyph' facilities and many-to-many chars to glyphs. + + + Three text strings show: the word "HAPPY" in red, the word "SAD" in green + and the word "SASSY" in blue. + + + The "HAPPY" and "SAD" strings test the 'altGlyph' facility and + the ability to map multiple glyphs to a single character. + All characters except the "D" are bracketed by 'altGlyph' elements + to use two different glyphs to render each character. + For "HAPPY", the horizontal stroke through the center of the characters + is a smile stroke. + For "SAD", the horizontal stroke through the center of the characters + is a frown stroke. + + + The "SASSY" string tests a single glyph representing multiple characters + (a ligature). The SVG font in the test case contains an "SS" ligature + so that the "SS" in "SASSY" is rendered with a single glyph, where + the two parts of the "SS" are connected. + + + This test requires some support for SVG fonts. + + + + + text-altglyph-01-f + Test 'altGlyph' facilities and many-to-many chars to glyphs. + + + + + Test 'altGlyph' facilities and many-to-many chars to glyphs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +H +A +P +P +Y + + SAD + SASSY + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-altglyph-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/text-extTref-BE-18-targ.svg b/Tests/W3CTestSuite/images/text-extTref-BE-18-targ.svg new file mode 100644 index 0000000000000000000000000000000000000000..31c7943b82b61c927ca66e383e79559bb6cab20d --- /dev/null +++ b/Tests/W3CTestSuite/images/text-extTref-BE-18-targ.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + +text-extTref-BE-18-targ + + +Auxiliary ('tref' target) file for test case text-extTref-BE-18. + + + + + + + + + Simple external referenced text. + + + + + + + + + + + + + + + Scalable Vector Graphics (SVG) Conformance Suite + text-extTref-BE-18-targ + Release 1.0 + $Revision: 1.1 $ + + + + + + + + + diff --git a/Tests/W3CTestSuite/images/text-intro-01-f.svg b/Tests/W3CTestSuite/images/text-intro-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f28b9acabc78b2eb4e9e8078add897106d8cd11a --- /dev/null +++ b/Tests/W3CTestSuite/images/text-intro-01-f.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test various aspects of internationalized text, including + left-to-right, right-to-left, top-to-bottom, and the + following properties: 'writing-mode', + 'glyph-orientation-vertical', 'glyph-orientation-horizontal', + 'direction' and 'unicode-bidi'. + + + Various text strings in various languages appear. The main + purpose of the test is to verify that the correct characters + appear and that they appear in the correct order and orientation. + In particular, ensure that the three lines with Hebrew are ordered + correctly (test of bidi algorithms and support of 'unicode-bidi' and + 'direction' properties). Also, ensure that the two lines of + vertical Japanese text have the proper orientation + (test of 'glyph-orientation-vertical' property). + + + This test requires installation of a system font that supports + the various international characters used in this test case. + Due to differences across systems regarding system fonts and + font handling, for some implementations editing of the test case + may be necessary to specify the correct system font. To + minimize system dependencies, a future version of this test + might include all necessary glyphs as an SVG font. + + + + + text-intro-01-f + Test various aspects of internationalized text, including left-to-right, right-to-left, top-to-bottom, and the following properties: 'writing-mode', 'glyph-orientation-vertical', 'glyph-orientation-horizontal', 'direction' and 'unicode-bidi'. + + + + + Test combinations of left-to-right, right-to-left, top-to-bottom text. + + Polish: MogÄ™ jeść szkÅ‚o, i mi nie szkodzi. + Russian: Я могу еÑть Ñтекло, Ñто мне не вредит. + Greek: ΜποÏÏŽ να φάω σπασμένα γυαλιά χωÏίς να πάθω τίποτα. + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + Yiddish: ×יך קען עסן גל×ָז ×ון עס טוט מיר נישט װײ. + + + Chinese:我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。 + Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãれã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。 + + unicode-bidi:bidi-override. First, direction:ltr, then direction:rtl. + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + This text "我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。" is in ChineseJapanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãれã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãれã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。 + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-intro-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/text-tref-01-f.svg b/Tests/W3CTestSuite/images/text-tref-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..a4acdd73efae8fd1f7ecf3ac02fb6c048bbb54d3 --- /dev/null +++ b/Tests/W3CTestSuite/images/text-tref-01-f.svg @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test for viewer capability to handle the basics of the 'tref' element + and its attributes. Basic referencing is tested, as well as + the equivalence of 'tref' to 'tspan' in attributes handling. + There are five sub-tests. + + + The first box down from the top should contain green "Simple internal referenced text.", + which is obtained by a 'tref' element reference to a 'text' element in a 'defs' + section of this test file. + + + The second box from the top tests changing of visual properties + of 'tref' substrings. It should contain + the string "Change color within string.", blue except for the single + word "color" in red. Three 'tref' elements within the + 'text' element each point to a substring in the 'defs' section of + this test file -- the second 'tref' sets fill color to red and the + others set fill color to blue. + + + The third box from the top tests an x-coordinate list in a 'tref', + which individually places each character of the string "Char-by-char." + The string is in a single 'text' element in the 'defs' section. + + + The fourth box from the top tests that the x,y attributes of 'tref' behave + like those of 'tspan'. The string + "Bouncing up and down." is formed by four 'tref' elements pointing to 'text' + elements in the 'defs' section, and each 'tref' is individually + positioned by the x,y attributes. + + + The final sub-test actually involves the single-line test description at the very + top. It is written initially in blue, and then at the end is over-written in + black by a 'tref' pointing to the 'desc' element of the test. + + + The rendered picture should match the reference image, except that some color + "fuzziness" in the top line may result from anti-aliasing. + Also, variations are possible in the text fonts and layout (per CSS2 rules). + + + The test also uses the 'rect' element, + as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Helvetica) + and font-size properties. + + + + + text-tref-01-f + Basic test of 'tref' element and its attributes. + + + + + + Simple internal referenced text. + Change + color + within string. + Bouncing + up + and + down. + Char-by-char. + + + Basic test of 'tref' element and its attributes. + + + + + + 'tref', within file + + + + + + + + multiple 'tref' and property changes + + + + + + 'tref' with x-coordinate list + + + + + + + + + 'tref's with x/y attribute changes + + + + + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-tref-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/text-ws-01-f.svg b/Tests/W3CTestSuite/images/text-ws-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..277a3aa65dd49aae2f7b30dbf8e22d72fa5f743d --- /dev/null +++ b/Tests/W3CTestSuite/images/text-ws-01-f.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test for viewer correct handling of whitespace and the 'xml:space' attribute. + There are four sub-tests, two for xml:space value "default" and two for + value "preserve". In each test, the content of the 'text' element is written on + multiple lines. The first test of each pair has indented text with leading + space characters, tabs, etc. The second has no indentation, but a line break + before the content and after it. There are no space (or other whitespace) + characters at the ends of the lines. + + + The four test cases are self-descriptive. From the top; first, "default" value applied to + 3 lines of content with indents, space characters, tabs, etc; second, "default" applied to two lines content with no indent; third, "preserve" applied to essentially the same content as first; fourth, "preserve" applied to essentially the same content as second. + + + In each test, the test string is in blue and the reference + image is in black. + The rendered picture should approximately match the reference image, + however there is some question in the reference image concerning the + exact amount of space in the long-space areas. The third test uses the nbsp unicode character + to force the reference white spaces display, which provides an accurate match if the font in use + has the same metrics for that character and the default white space. + Also, variations are possible in the text fonts and layout (per CSS2 rules). + + + The test also uses the 'rect' element, + as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Helvetica) + and font-size properties. + + + + + text-ws-01-f + Test that viewer correctly handle whitespace and the "space" attribute. + + + + + Basic test of xml:space attribute & whitespace handling. + + + + WS example with indented lines. + WS example with indented lines. + + xml:space='default' + + + + +WS example +non-indented lines. + + WS examplenon-indented lines. + + xml:space='default' + + + + + WS example + with + indented lines. + + +                   WS example    with                   indented lines. + + + xml:space='preserve' + + + + WS example +non-indented lines. + + WS example non-indented lines. + + xml:space='preserve' + + + + + + + + + Scalable Vector Graphics (SVG) v1.1 Conformance Suite + + Copyright 2002 W3C. All Rights Reserved. + + text-ws-01-f + $Revision: 1.1 $ + Release 1.0 + + + diff --git a/Tests/W3CTestSuite/images/toc-sv.svg b/Tests/W3CTestSuite/images/toc-sv.svg new file mode 100644 index 0000000000000000000000000000000000000000..ae97d525feb56422033d4a77f8cf12e2c819e88a --- /dev/null +++ b/Tests/W3CTestSuite/images/toc-sv.svg @@ -0,0 +1,114 @@ + + + + + + +SVG Conformance Tests -- TOC-SV + + + + + +26 December 2000 + +SVG Conformance Tests -- TOC (-SV) + + +Table of Contents + + +3. Rendering Model + + + +5. Structure + + + +6. Styling + + + +7. Coordinate Systems, Transformations, and Units + + + +8. Paths + + + +9. Basic Shapes + + + +10. Text + + + +11. Painting: Filling, Stroking, and Markers + + + +12. Color + + + +13. Gradients and Patterns + + + +14. Clipping, Masking, Compositing + + + +15. Filter Effects + + + +16. Interactivity + + + +17. Linking + + + +18. Scripting + + + +19. Animation + + + +20. Fonts + + + +21. Metadata + + + +23. Extensibility + + + +B. DOM + + + +F. Implementation requirements +G. Conformance requirements + + + diff --git a/Tests/W3CTestSuite/images/toc-svcmp.svg b/Tests/W3CTestSuite/images/toc-svcmp.svg new file mode 100644 index 0000000000000000000000000000000000000000..69f89e4f1f6496677938723453a58c5102b5a80a --- /dev/null +++ b/Tests/W3CTestSuite/images/toc-svcmp.svg @@ -0,0 +1,114 @@ + + + + + + +SVG Conformance Tests -- TOC-SV + + + + + +26 December 2000 + +SVG Conformance Tests -- TOC (-SV) + + +Table of Contents + + +3. Rendering Model + + + +5. Structure + + + +6. Styling + + + +7. Coordinate Systems, Transformations, and Units + + + +8. Paths + + + +9. Basic Shapes + + + +10. Text + + + +11. Painting: Filling, Stroking, and Markers + + + +12. Color + + + +13. Gradients and Patterns + + + +14. Clipping, Masking, Compositing + + + +15. Filter Effects + + + +16. Interactivity + + + +17. Linking + + + +18. Scripting + + + +19. Animation + + + +20. Fonts + + + +21. Metadata + + + +23. Extensibility + + + +B. DOM + + + +F. Implementation requirements +G. Conformance requirements + + + diff --git a/Tests/W3CTestSuite/images/townsville.jpg b/Tests/W3CTestSuite/images/townsville.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a4a19944d719e2d54218d4ecb505a0b9e07b06b Binary files /dev/null and b/Tests/W3CTestSuite/images/townsville.jpg differ diff --git a/Tests/W3CTestSuite/images/tree.jpg b/Tests/W3CTestSuite/images/tree.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d7da4ae1b00f09dd39dc5188800694c1e8305b1 Binary files /dev/null and b/Tests/W3CTestSuite/images/tree.jpg differ diff --git a/Tests/W3CTestSuite/images/uparrow.png b/Tests/W3CTestSuite/images/uparrow.png new file mode 100644 index 0000000000000000000000000000000000000000..6fe9f09660eb0b11abdce50d81daf3216487cac8 Binary files /dev/null and b/Tests/W3CTestSuite/images/uparrow.png differ diff --git a/Tests/W3CTestSuite/png/__AJ_Digital_Camera.png b/Tests/W3CTestSuite/png/__AJ_Digital_Camera.png new file mode 100644 index 0000000000000000000000000000000000000000..9f0855357ae74e7e2018db90c5425b1e3307e51e Binary files /dev/null and b/Tests/W3CTestSuite/png/__AJ_Digital_Camera.png differ diff --git a/Tests/W3CTestSuite/png/__issue-34-02.png b/Tests/W3CTestSuite/png/__issue-34-02.png new file mode 100644 index 0000000000000000000000000000000000000000..ef6d7a433904f662b04ac7058b8766717fc16914 Binary files /dev/null and b/Tests/W3CTestSuite/png/__issue-34-02.png differ diff --git a/Tests/W3CTestSuite/png/__issue-83-01.png b/Tests/W3CTestSuite/png/__issue-83-01.png new file mode 100644 index 0000000000000000000000000000000000000000..62dabc8498de2aaf6f78a31aacbf34c0f1384f1f Binary files /dev/null and b/Tests/W3CTestSuite/png/__issue-83-01.png differ diff --git a/Tests/W3CTestSuite/png/__tiger.png b/Tests/W3CTestSuite/png/__tiger.png new file mode 100644 index 0000000000000000000000000000000000000000..4113744d5af0d0f8825892ac9c221be6c8e1680d Binary files /dev/null and b/Tests/W3CTestSuite/png/__tiger.png differ diff --git a/Tests/W3CTestSuite/png/animate-dom-01-f.png b/Tests/W3CTestSuite/png/animate-dom-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..06a21476aa2dd9d10f08f0562ad8b29b8d68e2a1 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-dom-01-f.png differ diff --git a/Tests/W3CTestSuite/png/animate-dom-02-f.png b/Tests/W3CTestSuite/png/animate-dom-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7a165de20b52edd933c23fce6da9f155c2d34307 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-dom-02-f.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-02-t.png b/Tests/W3CTestSuite/png/animate-elem-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..8a89351c55259705eb3291a8f562ee0255d3714d Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-02-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-03-t.png b/Tests/W3CTestSuite/png/animate-elem-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5c75d3243f2d751950033e700b41644dc0c6a26f Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-03-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-04-t.png b/Tests/W3CTestSuite/png/animate-elem-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c56eeb6d3adf6427f168c365a1f526cd528747ce Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-04-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-05-t.png b/Tests/W3CTestSuite/png/animate-elem-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8c5013356dc087368541e4c0b512b3342b5280 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-05-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-06-t.png b/Tests/W3CTestSuite/png/animate-elem-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..dbba56a676faebd6f02849cb82d8cea626da0dce Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-06-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-07-t.png b/Tests/W3CTestSuite/png/animate-elem-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..53cc00aa76cd31e2e9c07a9f8b36809e03412810 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-07-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-08-t.png b/Tests/W3CTestSuite/png/animate-elem-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..55d4e90225f5d1c040b2e2eedf43c51bb06c7cc9 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-08-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-09-t.png b/Tests/W3CTestSuite/png/animate-elem-09-t.png new file mode 100644 index 0000000000000000000000000000000000000000..48e3bdc0326e729ea9aed1a84ee48082466e6a62 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-09-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-10-t.png b/Tests/W3CTestSuite/png/animate-elem-10-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd463f87359f46efedd5cf005819a9dbe40aa77 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-10-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-11-t.png b/Tests/W3CTestSuite/png/animate-elem-11-t.png new file mode 100644 index 0000000000000000000000000000000000000000..eb27d6e2c6d970ec13effb3dd5d67648ace531ba Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-11-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-12-t.png b/Tests/W3CTestSuite/png/animate-elem-12-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7fd463f87359f46efedd5cf005819a9dbe40aa77 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-12-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-13-t.png b/Tests/W3CTestSuite/png/animate-elem-13-t.png new file mode 100644 index 0000000000000000000000000000000000000000..69c44932512dd6b3b7e36acb5ededde1ec2dd460 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-13-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-14-t.png b/Tests/W3CTestSuite/png/animate-elem-14-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7797ee6cac060e87df0066cb8f5084d7dee0ebcf Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-14-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-15-t.png b/Tests/W3CTestSuite/png/animate-elem-15-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7ecb6e6ce2f9cd28fb240faaf6ceb34b205b7306 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-15-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-17-t.png b/Tests/W3CTestSuite/png/animate-elem-17-t.png new file mode 100644 index 0000000000000000000000000000000000000000..84b4699e449577044a63839f73c1dc1805009b99 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-17-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-19-t.png b/Tests/W3CTestSuite/png/animate-elem-19-t.png new file mode 100644 index 0000000000000000000000000000000000000000..bfb0ebb14abb585173c381e8e5cd83fe1fb06527 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-19-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-20-t.png b/Tests/W3CTestSuite/png/animate-elem-20-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e2290932a96960598b350740d64c06b17d4d2b0f Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-20-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-21-t.png b/Tests/W3CTestSuite/png/animate-elem-21-t.png new file mode 100644 index 0000000000000000000000000000000000000000..37aa901b2cdca13603a733f10c747df1988de3da Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-21-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-22-b.png b/Tests/W3CTestSuite/png/animate-elem-22-b.png new file mode 100644 index 0000000000000000000000000000000000000000..5c89c368ca3221d215dc32ea50fcea9666501973 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-22-b.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-23-t.png b/Tests/W3CTestSuite/png/animate-elem-23-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0b006e2a553e8d7904e39cf1285813f3144c3dc1 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-23-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-24-t.png b/Tests/W3CTestSuite/png/animate-elem-24-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ed75981b81735f647d5fe82916f930364a65fbe7 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-24-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-25-t.png b/Tests/W3CTestSuite/png/animate-elem-25-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e2822f29be208c68bb7376ad73357da9f1d2ad91 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-25-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-26-t.png b/Tests/W3CTestSuite/png/animate-elem-26-t.png new file mode 100644 index 0000000000000000000000000000000000000000..79d530a6d9274f59da8858ec60aa5afa415cebef Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-26-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-27-t.png b/Tests/W3CTestSuite/png/animate-elem-27-t.png new file mode 100644 index 0000000000000000000000000000000000000000..878a31de40bcdda488b433e6ab56907b24869f0d Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-27-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-28-t.png b/Tests/W3CTestSuite/png/animate-elem-28-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d553960bc6e43b04c09a0cb8d4b41b4b53f2467a Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-28-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-29-b.png b/Tests/W3CTestSuite/png/animate-elem-29-b.png new file mode 100644 index 0000000000000000000000000000000000000000..c895ad5cb1d0c495edf8fb586a0d78043b16fc10 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-29-b.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-30-t.png b/Tests/W3CTestSuite/png/animate-elem-30-t.png new file mode 100644 index 0000000000000000000000000000000000000000..228a7ea8b62c5cff6e79fdcc65864df2b191b9ec Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-30-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-31-t.png b/Tests/W3CTestSuite/png/animate-elem-31-t.png new file mode 100644 index 0000000000000000000000000000000000000000..20dad72f033a165ccc8b2712353a826536b8eee0 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-31-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-32-t.png b/Tests/W3CTestSuite/png/animate-elem-32-t.png new file mode 100644 index 0000000000000000000000000000000000000000..81618515feb029d029a04b3ec53790d257cdff90 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-32-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-33-t.png b/Tests/W3CTestSuite/png/animate-elem-33-t.png new file mode 100644 index 0000000000000000000000000000000000000000..42501533fa8c99ed21db9c591b59fba14490ae07 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-33-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-34-t.png b/Tests/W3CTestSuite/png/animate-elem-34-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bde89b63e46f5544e29651ea92540234a5529e Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-34-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-35-t.png b/Tests/W3CTestSuite/png/animate-elem-35-t.png new file mode 100644 index 0000000000000000000000000000000000000000..fea2db350800f74a3f9dfd8edca9bd82432278e7 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-35-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-36-t.png b/Tests/W3CTestSuite/png/animate-elem-36-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff4b613742db0deb4d37efa3a215287d5ba3ddf Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-36-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-37-t.png b/Tests/W3CTestSuite/png/animate-elem-37-t.png new file mode 100644 index 0000000000000000000000000000000000000000..dbab0095c3d3f0f945fded4300b8a7faef55a39e Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-37-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-38-t.png b/Tests/W3CTestSuite/png/animate-elem-38-t.png new file mode 100644 index 0000000000000000000000000000000000000000..29c1b2ddec5ffb2bcfef09b6f33950d7194d76ef Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-38-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-39-t.png b/Tests/W3CTestSuite/png/animate-elem-39-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0438d6857e242f44d89019f8dadbf8295fc4d637 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-39-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-40-t.png b/Tests/W3CTestSuite/png/animate-elem-40-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d7e12aefda66f7d81c2dc502d7ac043c637d46ec Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-40-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-41-t.png b/Tests/W3CTestSuite/png/animate-elem-41-t.png new file mode 100644 index 0000000000000000000000000000000000000000..20bbb6e98e3f1fe9c78e75ae86bdc8220698c42a Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-41-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-42-t.png b/Tests/W3CTestSuite/png/animate-elem-42-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-42-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-43-t.png b/Tests/W3CTestSuite/png/animate-elem-43-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-43-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-44-t.png b/Tests/W3CTestSuite/png/animate-elem-44-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7a8b41718628ed110de435fbce6a02e6aaac8696 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-44-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-45-t.png b/Tests/W3CTestSuite/png/animate-elem-45-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-45-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-46-t.png b/Tests/W3CTestSuite/png/animate-elem-46-t.png new file mode 100644 index 0000000000000000000000000000000000000000..330c176df410f1d339a8d0fd3bbbabb45b32e501 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-46-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-47-t.png b/Tests/W3CTestSuite/png/animate-elem-47-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-47-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-48-t.png b/Tests/W3CTestSuite/png/animate-elem-48-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-48-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-49-t.png b/Tests/W3CTestSuite/png/animate-elem-49-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-49-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-50-t.png b/Tests/W3CTestSuite/png/animate-elem-50-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-50-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-51-t.png b/Tests/W3CTestSuite/png/animate-elem-51-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4816a1bec6fdbce8f8c22a88b84d20b68798c4bc Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-51-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-52-t.png b/Tests/W3CTestSuite/png/animate-elem-52-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5801ac240515b191bd89fe38508c59ebf04b16da Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-52-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-53-t.png b/Tests/W3CTestSuite/png/animate-elem-53-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4de7915a29748b45421f70933aa4fd216137884e Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-53-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-60-t.png b/Tests/W3CTestSuite/png/animate-elem-60-t.png new file mode 100644 index 0000000000000000000000000000000000000000..331701406250a467c2e03e87e2ab2ec0078b0248 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-60-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-61-t.png b/Tests/W3CTestSuite/png/animate-elem-61-t.png new file mode 100644 index 0000000000000000000000000000000000000000..24e2110cdfda97ffb17bd6a85ef9ebd22e3792d1 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-61-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-62-t.png b/Tests/W3CTestSuite/png/animate-elem-62-t.png new file mode 100644 index 0000000000000000000000000000000000000000..dd9d8dc9211ea9a58093959dab97fbeb3bf42c2d Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-62-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-63-t.png b/Tests/W3CTestSuite/png/animate-elem-63-t.png new file mode 100644 index 0000000000000000000000000000000000000000..097b6bc3a250ba7c81689cc9523c6f1016cd8c5f Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-63-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-64-t.png b/Tests/W3CTestSuite/png/animate-elem-64-t.png new file mode 100644 index 0000000000000000000000000000000000000000..dfdd63bfc8d28028871fc4d5362a63b5179d213f Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-64-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-65-t.png b/Tests/W3CTestSuite/png/animate-elem-65-t.png new file mode 100644 index 0000000000000000000000000000000000000000..73f15cd05a39ed040433ed4499b0e62f46f03beb Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-65-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-66-t.png b/Tests/W3CTestSuite/png/animate-elem-66-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0982da1e158e58dde72e7031cd2689082ed1fe1d Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-66-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-67-t.png b/Tests/W3CTestSuite/png/animate-elem-67-t.png new file mode 100644 index 0000000000000000000000000000000000000000..aa756aed2c3059a1b750616bcca3f62c5086ac67 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-67-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-68-t.png b/Tests/W3CTestSuite/png/animate-elem-68-t.png new file mode 100644 index 0000000000000000000000000000000000000000..fcea521f34ca8a8188d1a832613f85e7c4804954 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-68-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-69-t.png b/Tests/W3CTestSuite/png/animate-elem-69-t.png new file mode 100644 index 0000000000000000000000000000000000000000..9a220801e7b8fdf4d59082c407b19e6ced9f5f2b Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-69-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-70-t.png b/Tests/W3CTestSuite/png/animate-elem-70-t.png new file mode 100644 index 0000000000000000000000000000000000000000..301cd48cad3cc722e7a63f08a18a335487b02a12 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-70-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-77-t.png b/Tests/W3CTestSuite/png/animate-elem-77-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d5a1cea1e56a6ce8054ba93aa328c2ec44758aa5 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-77-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-78-t.png b/Tests/W3CTestSuite/png/animate-elem-78-t.png new file mode 100644 index 0000000000000000000000000000000000000000..99adc7724afcb870f294d186db67ff66b3f195e2 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-78-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-80-t.png b/Tests/W3CTestSuite/png/animate-elem-80-t.png new file mode 100644 index 0000000000000000000000000000000000000000..abdd081878e6f1d631e50271f66ab79c342f5c05 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-80-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-81-t.png b/Tests/W3CTestSuite/png/animate-elem-81-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c1ae2aa8038d1f15c468930b7233049c0fa83ed7 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-81-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-82-t.png b/Tests/W3CTestSuite/png/animate-elem-82-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a7160b2e8d5e6ca27ac9b4234b108ca51e6a98d6 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-82-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-83-t.png b/Tests/W3CTestSuite/png/animate-elem-83-t.png new file mode 100644 index 0000000000000000000000000000000000000000..500cf470507010c9152f6494d6fa46a0436e98b7 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-83-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-84-t.png b/Tests/W3CTestSuite/png/animate-elem-84-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f42ae902c08ac3ee8dc632156d8dc48fb8d926c3 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-84-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-85-t.png b/Tests/W3CTestSuite/png/animate-elem-85-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f2228ecb54a99e4471cc51b41b420b3e94a7545a Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-85-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-86-t.png b/Tests/W3CTestSuite/png/animate-elem-86-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0d466247bbccdd729cc2c92c9b102f21c606556a Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-86-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-87-t.png b/Tests/W3CTestSuite/png/animate-elem-87-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d9da6726236a442e7ff17eb4e65d81c8df17799d Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-87-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-88-t.png b/Tests/W3CTestSuite/png/animate-elem-88-t.png new file mode 100644 index 0000000000000000000000000000000000000000..29db5e639491e7f57af3674eb4e91fb6f4df8e5b Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-88-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-89-t.png b/Tests/W3CTestSuite/png/animate-elem-89-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5fd198c0031e1a443944a74bb668a1f3a3377034 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-89-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-90-b.png b/Tests/W3CTestSuite/png/animate-elem-90-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a9563a29ba32d04047beeabe5dc9f93b63ae74c3 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-90-b.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-91-t.png b/Tests/W3CTestSuite/png/animate-elem-91-t.png new file mode 100644 index 0000000000000000000000000000000000000000..95f1e5f887683c82ca05dc16b710711d4ae677d0 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-91-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-elem-92-t.png b/Tests/W3CTestSuite/png/animate-elem-92-t.png new file mode 100644 index 0000000000000000000000000000000000000000..482fcb2ce751f3ecd72dd7b5d2cf18f72318eb06 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-elem-92-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-interact-events-01-t.png b/Tests/W3CTestSuite/png/animate-interact-events-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f68d821e5235cf03adf8bc6fab2963462e1cee0c Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-events-01-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-01-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..fce3827e5e0513fea471650f92b6713766e53bb4 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-01-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-02-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..aebf107d0a0b29527de91ccc238762ed9afc453b Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-02-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-03-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..cc13f0d7f659b470b10cd99e7ee0bfc0c2cc993b Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-03-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-interact-pevents-04-t.png b/Tests/W3CTestSuite/png/animate-interact-pevents-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..34923f2db203d9ca555ba837a5355812a47d7706 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-interact-pevents-04-t.png differ diff --git a/Tests/W3CTestSuite/png/animate-pservers-grad-01-b.png b/Tests/W3CTestSuite/png/animate-pservers-grad-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..21af9e3a07b6237e9c9ec321f29f1b619512f400 Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-pservers-grad-01-b.png differ diff --git a/Tests/W3CTestSuite/png/animate-script-elem-01-b.png b/Tests/W3CTestSuite/png/animate-script-elem-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a313957d97c02683be0bc4bab79099ac9d0ea5cb Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-script-elem-01-b.png differ diff --git a/Tests/W3CTestSuite/png/animate-struct-dom-01-b.png b/Tests/W3CTestSuite/png/animate-struct-dom-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0e5b0d15bfcdb79bd0fba3e97ca7981bf8671e Binary files /dev/null and b/Tests/W3CTestSuite/png/animate-struct-dom-01-b.png differ diff --git a/Tests/W3CTestSuite/png/color-prof-01-f.png b/Tests/W3CTestSuite/png/color-prof-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..94187c494e215f39a378512b574496d041c07dcd Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prof-01-f.png differ diff --git a/Tests/W3CTestSuite/png/color-prop-01-b.png b/Tests/W3CTestSuite/png/color-prop-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..cc6be8f8117de75af12e46a96aaac66a328cc02d Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-01-b.png differ diff --git a/Tests/W3CTestSuite/png/color-prop-02-f.png b/Tests/W3CTestSuite/png/color-prop-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e4675f9acb4fb64e8a7634a7e1c69fddb1226775 Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-02-f.png differ diff --git a/Tests/W3CTestSuite/png/color-prop-03-t.png b/Tests/W3CTestSuite/png/color-prop-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e8d9be527ae4cbc1803b2fbc5decf55f3366b857 Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-03-t.png differ diff --git a/Tests/W3CTestSuite/png/color-prop-04-t.png b/Tests/W3CTestSuite/png/color-prop-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..96b454a0ed524abacf2b6b110196549fee1c2754 Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-04-t.png differ diff --git a/Tests/W3CTestSuite/png/color-prop-05-t.png b/Tests/W3CTestSuite/png/color-prop-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..82da712f9bb71e9724dc68649f95bcb09262cae8 Binary files /dev/null and b/Tests/W3CTestSuite/png/color-prop-05-t.png differ diff --git a/Tests/W3CTestSuite/png/conform-viewers-01-t.png b/Tests/W3CTestSuite/png/conform-viewers-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5335cb893a5dc0a9eaf53f0538fbbfd8c0bc8ba2 Binary files /dev/null and b/Tests/W3CTestSuite/png/conform-viewers-01-t.png differ diff --git a/Tests/W3CTestSuite/png/conform-viewers-02-f.png b/Tests/W3CTestSuite/png/conform-viewers-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1a73f1cf8a5c130342f0d0012bed6487c1539f Binary files /dev/null and b/Tests/W3CTestSuite/png/conform-viewers-02-f.png differ diff --git a/Tests/W3CTestSuite/png/conform-viewers-03-f.png b/Tests/W3CTestSuite/png/conform-viewers-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..2cf88d32cc9bced52afca3d3a2bbd0611a088308 Binary files /dev/null and b/Tests/W3CTestSuite/png/conform-viewers-03-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-coord-01-t.png b/Tests/W3CTestSuite/png/coords-coord-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..358da402953f463546cbc1eef1e6ba12f407097b Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-coord-01-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-coord-02-t.png b/Tests/W3CTestSuite/png/coords-coord-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c01f5d1bfa20a56ed3f470eb1c89bf2dc710561e Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-coord-02-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-dom-01-f.png b/Tests/W3CTestSuite/png/coords-dom-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9507029f7dbef085363d0f6b2f27284553e653cb Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-01-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-dom-02-f.png b/Tests/W3CTestSuite/png/coords-dom-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f43a3754456ad3ecbf2907bfaa2507c68037fb23 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-02-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-dom-03-f.png b/Tests/W3CTestSuite/png/coords-dom-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..93eea682db1bd4abb51d20daef4892eea3bf3a76 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-03-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-dom-04-f.png b/Tests/W3CTestSuite/png/coords-dom-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..d7cfbde735ffe3be638e58008e697129f5e564bd Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-dom-04-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-01-b.png b/Tests/W3CTestSuite/png/coords-trans-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5df9fbbe7e230fbf6258fc37300a04e9e92031 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-01-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-02-t.png b/Tests/W3CTestSuite/png/coords-trans-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5177150ef69a5dd51815c048a150ade2111f07be Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-02-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-03-t.png b/Tests/W3CTestSuite/png/coords-trans-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..2342067fd01382946da0b44e2d3e5d775e28cb7b Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-03-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-04-t.png b/Tests/W3CTestSuite/png/coords-trans-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..1f4ebbf39bce0433f5bbf951339c9d38e98c518b Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-04-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-05-t.png b/Tests/W3CTestSuite/png/coords-trans-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b3eecace00ea65c59cd42c9fb323cca17e4890fa Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-05-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-06-t.png b/Tests/W3CTestSuite/png/coords-trans-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f16a70c009abf98384d8b228d2053683e7578f6a Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-06-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-07-t.png b/Tests/W3CTestSuite/png/coords-trans-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..839d9319dfa3698d88953f77e12cc569de2f572f Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-07-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-08-t.png b/Tests/W3CTestSuite/png/coords-trans-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..bc6776f21a5eb5b88023c090ae21a0ed1a9a906b Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-08-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-09-t.png b/Tests/W3CTestSuite/png/coords-trans-09-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c7d22a1c566e35a21d44c89cfc11ac1688cd3070 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-09-t.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-10-f.png b/Tests/W3CTestSuite/png/coords-trans-10-f.png new file mode 100644 index 0000000000000000000000000000000000000000..21d6111934e761a8d964d4b02a0ce176adfa4619 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-10-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-11-f.png b/Tests/W3CTestSuite/png/coords-trans-11-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f53ba6996e64013edde617313a5f6d4833754c17 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-11-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-12-f.png b/Tests/W3CTestSuite/png/coords-trans-12-f.png new file mode 100644 index 0000000000000000000000000000000000000000..d5f2cd3050d206d8023cbb9f7985352cbc87a079 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-12-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-13-f.png b/Tests/W3CTestSuite/png/coords-trans-13-f.png new file mode 100644 index 0000000000000000000000000000000000000000..44a238f574556a36eccc0dcdd6ad32f207464930 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-13-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-trans-14-f.png b/Tests/W3CTestSuite/png/coords-trans-14-f.png new file mode 100644 index 0000000000000000000000000000000000000000..1173e69147d5c50a99d7c154d62d3de86e108d91 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-trans-14-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-transformattr-01-f.png b/Tests/W3CTestSuite/png/coords-transformattr-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..897068d6db8c7bd0acbab76c1dfb283ce66e9de1 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-01-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-transformattr-02-f.png b/Tests/W3CTestSuite/png/coords-transformattr-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..c920e98767e3b7d9403a3b0c17bce11a8e35ec8c Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-02-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-transformattr-03-f.png b/Tests/W3CTestSuite/png/coords-transformattr-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f11595cb0ce0c2fb421fe7f2eb6593b7563753a2 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-03-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-transformattr-04-f.png b/Tests/W3CTestSuite/png/coords-transformattr-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed6dae3238d6a755d72c5e439dc9edaf2e7eb75 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-04-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-transformattr-05-f.png b/Tests/W3CTestSuite/png/coords-transformattr-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..07154a8bb185975832388d71a32996d6948425ae Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-transformattr-05-f.png differ diff --git a/Tests/W3CTestSuite/png/coords-units-01-b.png b/Tests/W3CTestSuite/png/coords-units-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..864e77330af4ee973ef6fae3cbfcbf4440bceead Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-units-01-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-units-02-b.png b/Tests/W3CTestSuite/png/coords-units-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..f4f9bce812be260a2efb860d678d8b62afc6c307 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-units-02-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-units-03-b.png b/Tests/W3CTestSuite/png/coords-units-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8b39b6e126d395f5442d0e85065c0fc10f1d7d36 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-units-03-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-viewattr-01-b.png b/Tests/W3CTestSuite/png/coords-viewattr-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8edeee25d7028ac6a34a8bda854337eb8e17c1e3 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-01-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-viewattr-02-b.png b/Tests/W3CTestSuite/png/coords-viewattr-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..24e99dcbee049ed1225ff94d0d39a1cbf4404541 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-02-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-viewattr-03-b.png b/Tests/W3CTestSuite/png/coords-viewattr-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..de77fb664ee64c10663d118aaecf2c323f5ec05d Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-03-b.png differ diff --git a/Tests/W3CTestSuite/png/coords-viewattr-04-f.png b/Tests/W3CTestSuite/png/coords-viewattr-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..b017ce2838d3924506ce814e3520e4ef5cf7b8c3 Binary files /dev/null and b/Tests/W3CTestSuite/png/coords-viewattr-04-f.png differ diff --git a/Tests/W3CTestSuite/png/extend-namespace-01-f.png b/Tests/W3CTestSuite/png/extend-namespace-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f9f2ccde1ef796cb13286110b5b179082879388a Binary files /dev/null and b/Tests/W3CTestSuite/png/extend-namespace-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-background-01-f.png b/Tests/W3CTestSuite/png/filters-background-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..05fc0b396980a3ee16f457eedced7efc58002007 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-background-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-blend-01-b.png b/Tests/W3CTestSuite/png/filters-blend-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..27f311ebe63e72156e755bde522920529af1de2e Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-blend-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-color-01-b.png b/Tests/W3CTestSuite/png/filters-color-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a079097443b2076b98aa554ad8c2e671af957de6 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-color-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-color-02-b.png b/Tests/W3CTestSuite/png/filters-color-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..4d6bd39ea6a5e43ad4cb57a9ecbff96bb6268fc7 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-color-02-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-composite-02-b.png b/Tests/W3CTestSuite/png/filters-composite-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d81d630223141d481686cfff68efe4bf8455c1cc Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-02-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-composite-03-f.png b/Tests/W3CTestSuite/png/filters-composite-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a7d49fca0e593360f18eeb24b74bcf685bad08a7 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-03-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-composite-04-f.png b/Tests/W3CTestSuite/png/filters-composite-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..af5cf2d62e8d97fa173f2133d5e3f9d3fb34862d Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-04-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-composite-05-f.png b/Tests/W3CTestSuite/png/filters-composite-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e58a17f5b40d4b69f34000cebe070ea9f96cefab Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-composite-05-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-comptran-01-b.png b/Tests/W3CTestSuite/png/filters-comptran-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..07ed2eb2d024c5e9d299d3211e7b9ba36fdab50e Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-comptran-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-conv-01-f.png b/Tests/W3CTestSuite/png/filters-conv-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5c86d9d6805dbd7c083f9294983ecde5209c8124 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-conv-02-f.png b/Tests/W3CTestSuite/png/filters-conv-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a0013985f98f4d184b68d588cdef62219dacc433 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-02-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-conv-03-f.png b/Tests/W3CTestSuite/png/filters-conv-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..142324114d237dca4010833ff4e3892c57d0e93e Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-03-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-conv-04-f.png b/Tests/W3CTestSuite/png/filters-conv-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8ac54ef7ea90db55de1de0ef5021ef142a9e3491 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-04-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-conv-05-f.png b/Tests/W3CTestSuite/png/filters-conv-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..1d0207e29d4f0cec5574a6f4ab6c8459adcb1363 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-conv-05-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-diffuse-01-f.png b/Tests/W3CTestSuite/png/filters-diffuse-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9ce7499d5ad6f33a487c8adbb3c0baf330f8e15f Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-diffuse-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-displace-01-f.png b/Tests/W3CTestSuite/png/filters-displace-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..b385b305969b8ae8255a499dbdd1a4f018a88fd5 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-displace-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-displace-02-f.png b/Tests/W3CTestSuite/png/filters-displace-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbd900b8c9efb14a088c84478ca127980041f40 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-displace-02-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-example-01-b.png b/Tests/W3CTestSuite/png/filters-example-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..19b76da41af512d224099d983ed205dd5065b5a9 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-example-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-felem-01-b.png b/Tests/W3CTestSuite/png/filters-felem-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..aef8c22cede1310ae141b20ca89d58b002bdb7ea Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-felem-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-felem-02-f.png b/Tests/W3CTestSuite/png/filters-felem-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e10c021b1f1968db952f8e380dacb36a4b124c3e Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-felem-02-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-gauss-01-b.png b/Tests/W3CTestSuite/png/filters-gauss-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..526dacb299cd3af4f6e248292fe02e14a5f5d2fd Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-gauss-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-gauss-02-f.png b/Tests/W3CTestSuite/png/filters-gauss-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..74bf87f2bfda55a1baf5c8c040c3d704baec0e35 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-gauss-02-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-gauss-03-f.png b/Tests/W3CTestSuite/png/filters-gauss-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..431364b5efd08e295cfc338ad41dcd643e3dba9f Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-gauss-03-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-image-01-b.png b/Tests/W3CTestSuite/png/filters-image-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a5697ff15eec69f6d431fc381f1eda0b5784a17c Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-image-02-b.png b/Tests/W3CTestSuite/png/filters-image-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..6daa9ab2780e812fb86bb06612606bd7eab40e7b Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-02-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-image-03-f.png b/Tests/W3CTestSuite/png/filters-image-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e45180f74322c5667c61e8eea838af8417682397 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-03-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-image-04-f.png b/Tests/W3CTestSuite/png/filters-image-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..3c454938b4f5bcf17c19aee644f9fdaa8fb28750 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-04-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-image-05-f.png b/Tests/W3CTestSuite/png/filters-image-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7552ff008feec4e7ee6a3b7bbb7658fa9237e2ad Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-image-05-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-light-01-f.png b/Tests/W3CTestSuite/png/filters-light-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0b7e41c65638b2be3b45eb9258048167c9afd291 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-light-02-f.png b/Tests/W3CTestSuite/png/filters-light-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..57313839206e851f90aca654939e13df8f9f9bea Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-02-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-light-03-f.png b/Tests/W3CTestSuite/png/filters-light-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..2b0fee07b35781fbdea25e0cf662f6e4612c3637 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-03-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-light-04-f.png b/Tests/W3CTestSuite/png/filters-light-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..815abf30c8d77ca7f5af4427267988b16875f902 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-04-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-light-05-f.png b/Tests/W3CTestSuite/png/filters-light-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7789d3768f0356110a670132ea1c1af913b684f9 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-light-05-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-morph-01-f.png b/Tests/W3CTestSuite/png/filters-morph-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..05adc916206bd63a105df71f3efffb4749b2de93 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-morph-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-offset-01-b.png b/Tests/W3CTestSuite/png/filters-offset-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..4b7e949f420671f109ddc023fa89803120ce7d09 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-offset-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-offset-02-b.png b/Tests/W3CTestSuite/png/filters-offset-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd6f500b4a0fc130326c11fbc8138c0e4846ad3 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-offset-02-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-overview-01-b.png b/Tests/W3CTestSuite/png/filters-overview-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a2456d42cdaf46e3b6624a508bd852acca0a506c Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-overview-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-overview-02-b.png b/Tests/W3CTestSuite/png/filters-overview-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..149531d2287523d09bad92b10e5409a6a538b0e1 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-overview-02-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-overview-03-b.png b/Tests/W3CTestSuite/png/filters-overview-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..149531d2287523d09bad92b10e5409a6a538b0e1 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-overview-03-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-specular-01-f.png b/Tests/W3CTestSuite/png/filters-specular-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0359624f222abb6eba5db7f8c5a44ac654b529d7 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-specular-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-tile-01-b.png b/Tests/W3CTestSuite/png/filters-tile-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..70353fc42fc98957f724a6db835914c115a6f27d Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-tile-01-b.png differ diff --git a/Tests/W3CTestSuite/png/filters-turb-01-f.png b/Tests/W3CTestSuite/png/filters-turb-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8fcef3433fe6712a1a724df445e8eea0b938f8a1 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-turb-01-f.png differ diff --git a/Tests/W3CTestSuite/png/filters-turb-02-f.png b/Tests/W3CTestSuite/png/filters-turb-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8c0778ff96dfa41359774a9f9184e43ebc11e398 Binary files /dev/null and b/Tests/W3CTestSuite/png/filters-turb-02-f.png differ diff --git a/Tests/W3CTestSuite/png/fonts-desc-01-t.png b/Tests/W3CTestSuite/png/fonts-desc-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a0dc1d370b64773c9b2d34c5687d127664f9cbe5 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-01-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-desc-02-t.png b/Tests/W3CTestSuite/png/fonts-desc-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b89326955796d3010a642635435090fc7facaf19 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-02-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-desc-03-t.png b/Tests/W3CTestSuite/png/fonts-desc-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2cbd0b24015ec493893c495bc3cdddcf900c5c Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-03-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-desc-04-t.png b/Tests/W3CTestSuite/png/fonts-desc-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..211c33c090d9af1e04319a06e643b51101413d61 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-04-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-desc-05-t.png b/Tests/W3CTestSuite/png/fonts-desc-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..192518fdb7aee1260cf5c09f54ec7551fce1d8b6 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-desc-05-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-01-t.png b/Tests/W3CTestSuite/png/fonts-elem-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..bd9c12ec1b14f4592e42b2fab1d9bd84a09104ad Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-01-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-02-t.png b/Tests/W3CTestSuite/png/fonts-elem-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e232c4ccc5eb4129e02fab829149c90236131aa1 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-02-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-03-b.png b/Tests/W3CTestSuite/png/fonts-elem-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c58ace4cc0e75eeffa769cfcd46856c968cacc Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-03-b.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-04-b.png b/Tests/W3CTestSuite/png/fonts-elem-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..6bc6acba302e92947943457e4f6144afbf6ebdfa Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-04-b.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-05-t.png b/Tests/W3CTestSuite/png/fonts-elem-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..114c2b26d178d32a93509eefb57f91460c083531 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-05-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-06-t.png b/Tests/W3CTestSuite/png/fonts-elem-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4cdeb2ee957b1d986681d4e662de8d392c2bef81 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-06-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-elem-07-b.png b/Tests/W3CTestSuite/png/fonts-elem-07-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d0b1ad590a04edae17b1a8a80292add47f8e795c Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-elem-07-b.png differ diff --git a/Tests/W3CTestSuite/png/fonts-glyph-02-t.png b/Tests/W3CTestSuite/png/fonts-glyph-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..cc18e4b7951136b22e4e26885ffd4b6dc7fd0225 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-glyph-02-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-glyph-03-t.png b/Tests/W3CTestSuite/png/fonts-glyph-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..2633fbd534744cf9969454618a24e13e42b89572 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-glyph-03-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-glyph-04-t.png b/Tests/W3CTestSuite/png/fonts-glyph-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..25498e3cd5fc5d3b6009eb9bd50ef143840fbedc Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-glyph-04-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-kern-01-t.png b/Tests/W3CTestSuite/png/fonts-kern-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e8d5fc3213a8dbbcda9535d42f0cf6434573ca Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-kern-01-t.png differ diff --git a/Tests/W3CTestSuite/png/fonts-overview-201-t.png b/Tests/W3CTestSuite/png/fonts-overview-201-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4c3200b6b7383157ba4332dc4086025b219b9a90 Binary files /dev/null and b/Tests/W3CTestSuite/png/fonts-overview-201-t.png differ diff --git a/Tests/W3CTestSuite/png/imp-path-01-f.png b/Tests/W3CTestSuite/png/imp-path-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..809dd05f00964c91618cbf4e33ac2f8cf2e68dad Binary files /dev/null and b/Tests/W3CTestSuite/png/imp-path-01-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-cursor-01-f.png b/Tests/W3CTestSuite/png/interact-cursor-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..58f16b76c935f2fc1283fceb7aa15acb740bc537 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-cursor-01-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-dom-01-b.png b/Tests/W3CTestSuite/png/interact-dom-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f459d8787b3e8ca5c9c4184e46fcbf1f2976a2 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-dom-01-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-events-01-b.png b/Tests/W3CTestSuite/png/interact-events-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..3c2b883106342bbd524591fe6defc40910140322 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-01-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-events-02-b.png b/Tests/W3CTestSuite/png/interact-events-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..eace54b15e36c94e73d8b9ec26e3f102e5942775 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-02-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-events-202-f.png b/Tests/W3CTestSuite/png/interact-events-202-f.png new file mode 100644 index 0000000000000000000000000000000000000000..bc5cd0e11ca003534ae287dcb23a1731a67e1924 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-202-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-events-203-t.png b/Tests/W3CTestSuite/png/interact-events-203-t.png new file mode 100644 index 0000000000000000000000000000000000000000..156c9f194329b0cc1004db9308c3213d5ca32769 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-events-203-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-order-01-b.png b/Tests/W3CTestSuite/png/interact-order-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d3cfae0a97f932335bce7064e276b9e95e9861b5 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-order-01-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-order-02-b.png b/Tests/W3CTestSuite/png/interact-order-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..1b1e93019b49129422ad430027b847de4590e1e6 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-order-02-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-order-03-b.png b/Tests/W3CTestSuite/png/interact-order-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..117077f31d145ce1d3bd20647647fc7d4526722e Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-order-03-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-01-b.png b/Tests/W3CTestSuite/png/interact-pevents-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d798171f2ca44a7fe01ee7b9f0f3fe96285f9494 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-01-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-02-t.png b/Tests/W3CTestSuite/png/interact-pevents-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..6e86c5e61613a9af2f1f8527ca0b7e1715ab18e5 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-02-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-03-b.png b/Tests/W3CTestSuite/png/interact-pevents-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..27dd9710d58cf902c7a82e367278650df15e3ee1 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-03-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-04-t.png b/Tests/W3CTestSuite/png/interact-pevents-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..1242ef261f3001b36da7ef3f271bc21ec811ca55 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-04-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-05-b.png b/Tests/W3CTestSuite/png/interact-pevents-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..4e4a7b2d686054e09eed43ce020744abebe0966f Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-05-b.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-07-t.png b/Tests/W3CTestSuite/png/interact-pevents-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..aebf107d0a0b29527de91ccc238762ed9afc453b Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-07-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-08-f.png b/Tests/W3CTestSuite/png/interact-pevents-08-f.png new file mode 100644 index 0000000000000000000000000000000000000000..d0d44bfa45aea01512077840a1b84836b44cc952 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-08-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-09-f.png b/Tests/W3CTestSuite/png/interact-pevents-09-f.png new file mode 100644 index 0000000000000000000000000000000000000000..65d6d1957c8efbc10b7c38377048d9aa3ae4a2cf Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-09-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-10-f.png b/Tests/W3CTestSuite/png/interact-pevents-10-f.png new file mode 100644 index 0000000000000000000000000000000000000000..167f1967dfc7c3057f48a72f4cc7cb0ed0b88df6 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-10-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-201-t.png b/Tests/W3CTestSuite/png/interact-pevents-201-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4a6e3aa803d64f69db455e122073471f02c5d67e Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-201-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pevents-202-t.png b/Tests/W3CTestSuite/png/interact-pevents-202-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ea2b21b1c5585288e9d3622a21a8d821e9e67179 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pevents-202-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pointer-01-t.png b/Tests/W3CTestSuite/png/interact-pointer-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..af8cb1edfd7271e59fbd0fee0a5ef54fc177e52e Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-01-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pointer-02-t.png b/Tests/W3CTestSuite/png/interact-pointer-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..9070e19fd9b5424e6d834a302226526b01059439 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-02-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pointer-03-t.png b/Tests/W3CTestSuite/png/interact-pointer-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e08a6662ad266b2724cda377feb90c887998a1e1 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-03-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-pointer-04-f.png b/Tests/W3CTestSuite/png/interact-pointer-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..15f6a0812da9673561bc32f4e30b3316a25fee30 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-pointer-04-f.png differ diff --git a/Tests/W3CTestSuite/png/interact-zoom-01-t.png b/Tests/W3CTestSuite/png/interact-zoom-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b6d124bd0e9ec2449b0c9cb07de3c05d652aa976 Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-zoom-01-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-zoom-02-t.png b/Tests/W3CTestSuite/png/interact-zoom-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..1f3f48ffb57ce8aba57846f3fdca4ebda1383f4a Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-zoom-02-t.png differ diff --git a/Tests/W3CTestSuite/png/interact-zoom-03-t.png b/Tests/W3CTestSuite/png/interact-zoom-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..eb380e20517262b9fc64b69aeaf70ef975a8e07b Binary files /dev/null and b/Tests/W3CTestSuite/png/interact-zoom-03-t.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-01-b.png b/Tests/W3CTestSuite/png/linking-a-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..642cad965a963d107272cfd7b7de26e671c3da8a Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-01-b.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-03-b.png b/Tests/W3CTestSuite/png/linking-a-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..1d5ddc6d61b37018717d2c359dd1f6d3eff11556 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-03-b.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-04-t.png b/Tests/W3CTestSuite/png/linking-a-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..002ad86650faf2fdd68c7fb51174a584028b7d94 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-04-t.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-05-t.png b/Tests/W3CTestSuite/png/linking-a-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..96d1d9a6e8be5b1adc9e15c20094957d498b1dbb Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-05-t.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-06-t.png b/Tests/W3CTestSuite/png/linking-a-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e2dabdde201e6efc18904713655ee7a4ec601dc0 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-06-t.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-07-t.png b/Tests/W3CTestSuite/png/linking-a-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ad8e9168accb379f123820d7efcb7e334fa441f7 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-07-t.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-08-t.png b/Tests/W3CTestSuite/png/linking-a-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4471f351b1f575a009c4f8493672b4df518a8a55 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-08-t.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-09-b.png b/Tests/W3CTestSuite/png/linking-a-09-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8b57a760d4ee5009fc20020a7a48129af82e2a52 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-09-b.png differ diff --git a/Tests/W3CTestSuite/png/linking-a-10-f.png b/Tests/W3CTestSuite/png/linking-a-10-f.png new file mode 100644 index 0000000000000000000000000000000000000000..aa147521c5f39b621e24c1779db4e5275b5ba6ec Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-a-10-f.png differ diff --git a/Tests/W3CTestSuite/png/linking-frag-01-f.png b/Tests/W3CTestSuite/png/linking-frag-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..dbf75a9b748b67d2ae1aa58e8dd0cfebd9987127 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-frag-01-f.png differ diff --git a/Tests/W3CTestSuite/png/linking-uri-01-b.png b/Tests/W3CTestSuite/png/linking-uri-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a422b814c212260b254a15d827a18ada788f3ea8 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-uri-01-b.png differ diff --git a/Tests/W3CTestSuite/png/linking-uri-02-b.png b/Tests/W3CTestSuite/png/linking-uri-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..0e1ca0dfbbde52f0acf1fbd663e1630f99ff09cd Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-uri-02-b.png differ diff --git a/Tests/W3CTestSuite/png/linking-uri-03-t.png b/Tests/W3CTestSuite/png/linking-uri-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ef07497f97c3d8f454d4faa8becdc688b508ba14 Binary files /dev/null and b/Tests/W3CTestSuite/png/linking-uri-03-t.png differ diff --git a/Tests/W3CTestSuite/png/masking-filter-01-f.png b/Tests/W3CTestSuite/png/masking-filter-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a42ffb6c529ce2efc9b22a0fee9e754965682e0b Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-filter-01-f.png differ diff --git a/Tests/W3CTestSuite/png/masking-intro-01-f.png b/Tests/W3CTestSuite/png/masking-intro-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e3af4e5afcdb42b1384ec40eb0356d03671f3175 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-intro-01-f.png differ diff --git a/Tests/W3CTestSuite/png/masking-mask-01-b.png b/Tests/W3CTestSuite/png/masking-mask-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..065b1718715a060a9c3a569911fdef60483502d3 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-mask-01-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-mask-02-f.png b/Tests/W3CTestSuite/png/masking-mask-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8040e1f4828374c332fd5a9274bd27f6a66c399d Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-mask-02-f.png differ diff --git a/Tests/W3CTestSuite/png/masking-opacity-01-b.png b/Tests/W3CTestSuite/png/masking-opacity-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a85cc03fc5dd9e9bd28243fe78668d05737c3890 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-opacity-01-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-01-b.png b/Tests/W3CTestSuite/png/masking-path-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..fcd09f05fecd2a6ee9bb89f2c90f6649f25be1ac Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-01-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-02-b.png b/Tests/W3CTestSuite/png/masking-path-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..73254234014aa0a91794e937a424f5c6bdf44293 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-02-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-03-b.png b/Tests/W3CTestSuite/png/masking-path-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..cadc16e456b54ca861ca51825c51e97c0048a640 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-03-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-04-b.png b/Tests/W3CTestSuite/png/masking-path-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..7a6600100721de7fc7917677114bc00ed04aff7a Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-04-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-05-f.png b/Tests/W3CTestSuite/png/masking-path-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..6cdbd106d4b634dd4cd07b264f479b384d04f30b Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-05-f.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-06-b.png b/Tests/W3CTestSuite/png/masking-path-06-b.png new file mode 100644 index 0000000000000000000000000000000000000000..93d2994f1e0633dd0da028d295345544c948c51a Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-06-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-07-b.png b/Tests/W3CTestSuite/png/masking-path-07-b.png new file mode 100644 index 0000000000000000000000000000000000000000..77c3dd1800c95772945561f056518920e49abebb Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-07-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-08-b.png b/Tests/W3CTestSuite/png/masking-path-08-b.png new file mode 100644 index 0000000000000000000000000000000000000000..0f39bc4339a9858e29b9bf19451d5db1f09b35c1 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-08-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-09-b.png b/Tests/W3CTestSuite/png/masking-path-09-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d1864b9bb94bb3cd295c520c48361f2942232f78 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-09-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-10-b.png b/Tests/W3CTestSuite/png/masking-path-10-b.png new file mode 100644 index 0000000000000000000000000000000000000000..9a075c1655ffd088073c834993e0412220fbe800 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-10-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-11-b.png b/Tests/W3CTestSuite/png/masking-path-11-b.png new file mode 100644 index 0000000000000000000000000000000000000000..1ec9400637b9c70ee5a3a8d193c39762679333f3 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-11-b.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-12-f.png b/Tests/W3CTestSuite/png/masking-path-12-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5cd6951699b075364685447feefd679ab42da637 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-12-f.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-13-f.png b/Tests/W3CTestSuite/png/masking-path-13-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5ec944ab9bb7f8587379bbf5ad84f23e09e1bc86 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-13-f.png differ diff --git a/Tests/W3CTestSuite/png/masking-path-14-f.png b/Tests/W3CTestSuite/png/masking-path-14-f.png new file mode 100644 index 0000000000000000000000000000000000000000..d05c4dafd481fec391ef4b71c1fce6d09fd85df2 Binary files /dev/null and b/Tests/W3CTestSuite/png/masking-path-14-f.png differ diff --git a/Tests/W3CTestSuite/png/metadata-example-01-t.png b/Tests/W3CTestSuite/png/metadata-example-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c25d96fc599abea7cb004e4c59c042c4eb277536 Binary files /dev/null and b/Tests/W3CTestSuite/png/metadata-example-01-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-control-01-f.png b/Tests/W3CTestSuite/png/painting-control-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..ddb0459dcf7e109ecd230d087cde169e47df837b Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-01-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-control-02-f.png b/Tests/W3CTestSuite/png/painting-control-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f187a932c14bcb67f01b3dceb9b90ec2b4591f Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-02-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-control-03-f.png b/Tests/W3CTestSuite/png/painting-control-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f5269a44345cb9bb249641ec228463057e825693 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-03-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-control-04-f.png b/Tests/W3CTestSuite/png/painting-control-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..c68ab069da1b6bec6e937bf0b315bccd65aae032 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-04-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-control-05-f.png b/Tests/W3CTestSuite/png/painting-control-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..b09f95c44bd1a71b054fa7df7b459eecf490aae3 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-05-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-control-06-f.png b/Tests/W3CTestSuite/png/painting-control-06-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e72c7996fac97bfe5320191191d424002ee589b5 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-control-06-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-fill-01-t.png b/Tests/W3CTestSuite/png/painting-fill-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..483c46cba025903155b04d63ef9edeb070fce58b Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-01-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-fill-02-t.png b/Tests/W3CTestSuite/png/painting-fill-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..da8823bbd3c5eb69826debd8b30434567dc8c864 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-02-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-fill-03-t.png b/Tests/W3CTestSuite/png/painting-fill-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..429a4007cd24d6dd0014bcb3a57c2f58b71c8f0d Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-03-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-fill-04-t.png b/Tests/W3CTestSuite/png/painting-fill-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ad794c35c90da0a6bed9d26a85307437f71c61 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-04-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-fill-05-b.png b/Tests/W3CTestSuite/png/painting-fill-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..7eed3692eb22090e6a31554ab178eb591ea46111 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-fill-05-b.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-01-f.png b/Tests/W3CTestSuite/png/painting-marker-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..491b27e5a3900a189e8f813c7565ff15401d660f Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-01-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-02-f.png b/Tests/W3CTestSuite/png/painting-marker-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..2994fd323a441805204042d2458c473151699906 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-02-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-03-f.png b/Tests/W3CTestSuite/png/painting-marker-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9999c43cee098c5169f131219d9dfb4a68ed882f Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-03-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-04-f.png b/Tests/W3CTestSuite/png/painting-marker-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..79b5b2fead5f7531a9314004eb6cf5a0037a37c4 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-04-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-05-f.png b/Tests/W3CTestSuite/png/painting-marker-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..2433c8d2fa6f7c9e4f56900062cc4ae78c608289 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-05-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-06-f.png b/Tests/W3CTestSuite/png/painting-marker-06-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5e03c00a4612ea5a1468f13c96b837cb38f77e52 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-06-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-07-f.png b/Tests/W3CTestSuite/png/painting-marker-07-f.png new file mode 100644 index 0000000000000000000000000000000000000000..c7cddc4b6e6ddfc9e5e351dca502edeb617f8533 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-07-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-marker-properties-01-f.png b/Tests/W3CTestSuite/png/painting-marker-properties-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..3058db0509bb3035b35ea7a3b63d895e834b8ec5 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-marker-properties-01-f.png differ diff --git a/Tests/W3CTestSuite/png/painting-render-01-b.png b/Tests/W3CTestSuite/png/painting-render-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..7ce6bdfe64126c0a073d09e972fd9935b6cc7b7e Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-render-01-b.png differ diff --git a/Tests/W3CTestSuite/png/painting-render-02-b.png b/Tests/W3CTestSuite/png/painting-render-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..58133b9cd7f84ddd8e59f9b895c0d44f5ddbad72 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-render-02-b.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-01-t.png b/Tests/W3CTestSuite/png/painting-stroke-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a641d0e44bcd0bc0637aa28ada42664eb6b0633d Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-01-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-02-t.png b/Tests/W3CTestSuite/png/painting-stroke-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..3586ab94037386c95618af0c6d1379ca18352709 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-02-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-03-t.png b/Tests/W3CTestSuite/png/painting-stroke-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5f3290b4232b968ba66e512ee89b31fcc47c6f Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-03-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-04-t.png b/Tests/W3CTestSuite/png/painting-stroke-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..566af91b28d12b24c411dad85ec00bcb23c85ca1 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-04-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-05-t.png b/Tests/W3CTestSuite/png/painting-stroke-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7e006747c7a2a64fdc9bd0ca4fd12a626b2f2e8b Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-05-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-06-t.png b/Tests/W3CTestSuite/png/painting-stroke-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..1eeb627baaac1fefa793319d545e7139f943f7ec Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-06-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-07-t.png b/Tests/W3CTestSuite/png/painting-stroke-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4b9e2104b6a1f40bb18c0b5dc6cba20c2e6cd1d2 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-07-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-08-t.png b/Tests/W3CTestSuite/png/painting-stroke-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..dc194c50f914c003fae560652da48ace92bea255 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-08-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-09-t.png b/Tests/W3CTestSuite/png/painting-stroke-09-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c61e17e599c94ffbab88f24975b0e9adc89d4b98 Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-09-t.png differ diff --git a/Tests/W3CTestSuite/png/painting-stroke-10-t.png b/Tests/W3CTestSuite/png/painting-stroke-10-t.png new file mode 100644 index 0000000000000000000000000000000000000000..68122cdc93b26113e82f26bf0c9bfaed66cebfef Binary files /dev/null and b/Tests/W3CTestSuite/png/painting-stroke-10-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-01-t.png b/Tests/W3CTestSuite/png/paths-data-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f88b2c1f578336897e0d48a45c0b018d7daf13f6 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-01-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-02-t.png b/Tests/W3CTestSuite/png/paths-data-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..57429b46cf0ed26a12bef77fe34df89babc2aff3 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-02-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-03-f.png b/Tests/W3CTestSuite/png/paths-data-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e3a375acad86374f0ba34c3902176328cd793eee Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-03-f.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-04-t.png b/Tests/W3CTestSuite/png/paths-data-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..8294c5ee407b0456f3b2c58b74813c26edf8400a Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-04-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-05-t.png b/Tests/W3CTestSuite/png/paths-data-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b382b8e07ecc53037e1ec2c052ea4fc13135936c Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-05-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-06-t.png b/Tests/W3CTestSuite/png/paths-data-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..11a7e3d8e89a23cebbdd7dc6ca3819452271ec10 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-06-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-07-t.png b/Tests/W3CTestSuite/png/paths-data-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c579adf8b5fc107d245cdbd39b6cde17f1381666 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-07-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-08-t.png b/Tests/W3CTestSuite/png/paths-data-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b6383f29a0e0c690e14c2006a6194596094f9ed0 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-08-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-09-t.png b/Tests/W3CTestSuite/png/paths-data-09-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f85d38894794f87dd4d4c55778bd664f90e08ba3 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-09-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-10-t.png b/Tests/W3CTestSuite/png/paths-data-10-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0f2138fe7a43fbbbb3827c519182600455714480 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-10-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-11-t.png b/Tests/W3CTestSuite/png/paths-data-11-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e2dabdde201e6efc18904713655ee7a4ec601dc0 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-11-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-12-t.png b/Tests/W3CTestSuite/png/paths-data-12-t.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4fb82964070d9d36625c7f0cebd9b52e361e77 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-12-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-13-t.png b/Tests/W3CTestSuite/png/paths-data-13-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c8ec9ee7ffcb420c1892e3f91a1b2ca5148dbd51 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-13-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-14-t.png b/Tests/W3CTestSuite/png/paths-data-14-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e3f2e865c8af04ed0525817a66e065d2fbff6551 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-14-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-15-t.png b/Tests/W3CTestSuite/png/paths-data-15-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c391fd6d51a9b8f2af80bb5c5aa15807ce1dcf8a Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-15-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-16-t.png b/Tests/W3CTestSuite/png/paths-data-16-t.png new file mode 100644 index 0000000000000000000000000000000000000000..33d195dc591f75558463ecfe1c4bf78ec0a9fbe7 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-16-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-17-f.png b/Tests/W3CTestSuite/png/paths-data-17-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a19bf4b73627ce069311c35726931883460a96bb Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-17-f.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-18-f.png b/Tests/W3CTestSuite/png/paths-data-18-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a2e2e74a3c8b7407444fa140ca4ef0f0c627cec7 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-18-f.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-19-f.png b/Tests/W3CTestSuite/png/paths-data-19-f.png new file mode 100644 index 0000000000000000000000000000000000000000..6fd6af3ee5ba2effbcf38d26178608459913ad6c Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-19-f.png differ diff --git a/Tests/W3CTestSuite/png/paths-data-20-f.png b/Tests/W3CTestSuite/png/paths-data-20-f.png new file mode 100644 index 0000000000000000000000000000000000000000..60ed4cd31342952a8ea759fa034fcb1067030ce8 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-data-20-f.png differ diff --git a/Tests/W3CTestSuite/png/paths-dist-01-t.png b/Tests/W3CTestSuite/png/paths-dist-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e2dabdde201e6efc18904713655ee7a4ec601dc0 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-dist-01-t.png differ diff --git a/Tests/W3CTestSuite/png/paths-dom-01-f.png b/Tests/W3CTestSuite/png/paths-dom-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e384ce3f590df8996c30a48a490b8884908f949e Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-dom-01-f.png differ diff --git a/Tests/W3CTestSuite/png/paths-dom-02-f.png b/Tests/W3CTestSuite/png/paths-dom-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0150a8f21d25b6bbd2a6d9a67a2fce1eee006d31 Binary files /dev/null and b/Tests/W3CTestSuite/png/paths-dom-02-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-01-b.png b/Tests/W3CTestSuite/png/pservers-grad-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8f276359196f99e313bcae947433883cbad3e7f4 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-01-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-02-b.png b/Tests/W3CTestSuite/png/pservers-grad-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e694bfb474132a6a211f6df35a98297a23337f Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-02-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-03-b.png b/Tests/W3CTestSuite/png/pservers-grad-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..f73c699cceaf0acd81886a1a89d4cb4b11be7344 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-03-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-04-b.png b/Tests/W3CTestSuite/png/pservers-grad-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..7d9f8f4a1d4ce76ba3ecc72b255c1614b82e2cfd Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-04-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-05-b.png b/Tests/W3CTestSuite/png/pservers-grad-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..4e9d966fb1bf5a07d4fe93c4995cfd921da72d93 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-05-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-06-b.png b/Tests/W3CTestSuite/png/pservers-grad-06-b.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd1667f49953709ea9c293b1e003e9cf8871bb7 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-06-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-07-b.png b/Tests/W3CTestSuite/png/pservers-grad-07-b.png new file mode 100644 index 0000000000000000000000000000000000000000..bc383dcfb1932bd203737df04d50648b9674279d Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-07-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-08-b.png b/Tests/W3CTestSuite/png/pservers-grad-08-b.png new file mode 100644 index 0000000000000000000000000000000000000000..3f875f5f9af449ffe3e2cad0a3b3ffbc54a6621d Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-08-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-09-b.png b/Tests/W3CTestSuite/png/pservers-grad-09-b.png new file mode 100644 index 0000000000000000000000000000000000000000..128c64798af091bc23e8412bc93bec45253a8ef0 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-09-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-10-b.png b/Tests/W3CTestSuite/png/pservers-grad-10-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e7b765937937227063e8021882a91b86fd6cb4 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-10-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-11-b.png b/Tests/W3CTestSuite/png/pservers-grad-11-b.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0812a284bcab5189a38982bc9435a87641345d Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-11-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-12-b.png b/Tests/W3CTestSuite/png/pservers-grad-12-b.png new file mode 100644 index 0000000000000000000000000000000000000000..309bb3e8729751ec83db87540d200ebf23f1d0c9 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-12-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-13-b.png b/Tests/W3CTestSuite/png/pservers-grad-13-b.png new file mode 100644 index 0000000000000000000000000000000000000000..c24aea4f5cfec25f4590264154b4f30cbb952a67 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-13-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-14-b.png b/Tests/W3CTestSuite/png/pservers-grad-14-b.png new file mode 100644 index 0000000000000000000000000000000000000000..815fb75b21a83c27714b93dd7f3fe74f463215d1 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-14-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-15-b.png b/Tests/W3CTestSuite/png/pservers-grad-15-b.png new file mode 100644 index 0000000000000000000000000000000000000000..311b42be0c610599460346c7c051d08ad98e8bd0 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-15-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-16-b.png b/Tests/W3CTestSuite/png/pservers-grad-16-b.png new file mode 100644 index 0000000000000000000000000000000000000000..51a882c7586902f5d7a1b2a7e7b4d026d320668c Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-16-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-17-b.png b/Tests/W3CTestSuite/png/pservers-grad-17-b.png new file mode 100644 index 0000000000000000000000000000000000000000..49a5c0920e530ecc5740073ddc032c58ecab30b7 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-17-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-18-b.png b/Tests/W3CTestSuite/png/pservers-grad-18-b.png new file mode 100644 index 0000000000000000000000000000000000000000..b288dc706718593be029803a32b14125d289907a Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-18-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-19-b.png b/Tests/W3CTestSuite/png/pservers-grad-19-b.png new file mode 100644 index 0000000000000000000000000000000000000000..21af9e3a07b6237e9c9ec321f29f1b619512f400 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-19-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-20-b.png b/Tests/W3CTestSuite/png/pservers-grad-20-b.png new file mode 100644 index 0000000000000000000000000000000000000000..49a5c0920e530ecc5740073ddc032c58ecab30b7 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-20-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-21-b.png b/Tests/W3CTestSuite/png/pservers-grad-21-b.png new file mode 100644 index 0000000000000000000000000000000000000000..207c6e7b6aa4f8237bc67b6d2e52ab05f8c6f9fe Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-21-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-22-b.png b/Tests/W3CTestSuite/png/pservers-grad-22-b.png new file mode 100644 index 0000000000000000000000000000000000000000..b31ffd8b8c8fc62feea0eeaf0be0e5df1268b790 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-22-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-23-f.png b/Tests/W3CTestSuite/png/pservers-grad-23-f.png new file mode 100644 index 0000000000000000000000000000000000000000..130ea22619bf784f42824f7d19abf39ba648923b Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-23-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-24-f.png b/Tests/W3CTestSuite/png/pservers-grad-24-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0c944c969d7a6ca3eefb5b216791b4776e857b14 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-24-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-grad-stops-01-f.png b/Tests/W3CTestSuite/png/pservers-grad-stops-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5f09f275115e907e3bbc3e20f235378a52fa6520 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-grad-stops-01-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-01-b.png b/Tests/W3CTestSuite/png/pservers-pattern-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7dff581ed4bdd7903ed4ef05819004112be5b0 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-01-b.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-02-f.png b/Tests/W3CTestSuite/png/pservers-pattern-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..820358b8d4d1d575e8c033acbc7b378f1355f8ce Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-02-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-03-f.png b/Tests/W3CTestSuite/png/pservers-pattern-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7b5d571494a08c7714e14f3ef4639434fddeb6e6 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-03-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-04-f.png b/Tests/W3CTestSuite/png/pservers-pattern-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..c041e512a2210f119fcaa186bffb165b36ac9410 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-04-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-05-f.png b/Tests/W3CTestSuite/png/pservers-pattern-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0b664baf785223379ae07ecad52364cf14f724 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-05-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-06-f.png b/Tests/W3CTestSuite/png/pservers-pattern-06-f.png new file mode 100644 index 0000000000000000000000000000000000000000..ede529a4bdca18c36aad156945de775ca3b3ede8 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-06-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-07-f.png b/Tests/W3CTestSuite/png/pservers-pattern-07-f.png new file mode 100644 index 0000000000000000000000000000000000000000..1d608c2f6794057e753786df6a32083d67344dd6 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-07-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-08-f.png b/Tests/W3CTestSuite/png/pservers-pattern-08-f.png new file mode 100644 index 0000000000000000000000000000000000000000..039ec22c2994cd12feb7a0bab0a6731616c03fc8 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-08-f.png differ diff --git a/Tests/W3CTestSuite/png/pservers-pattern-09-f.png b/Tests/W3CTestSuite/png/pservers-pattern-09-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8ea91d0c0ef62bd315ca3ae776729990722f22e9 Binary files /dev/null and b/Tests/W3CTestSuite/png/pservers-pattern-09-f.png differ diff --git a/Tests/W3CTestSuite/png/render-elems-01-t.png b/Tests/W3CTestSuite/png/render-elems-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d7d54c8d7bed23e0baf1b5174d2459278df67be5 Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-01-t.png differ diff --git a/Tests/W3CTestSuite/png/render-elems-02-t.png b/Tests/W3CTestSuite/png/render-elems-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b30c256e4e73ecfea43f2852c4ed544d585acf3f Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-02-t.png differ diff --git a/Tests/W3CTestSuite/png/render-elems-03-t.png b/Tests/W3CTestSuite/png/render-elems-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..07570106f37a09d2def198f4436bc1dfc1bb2a5c Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-03-t.png differ diff --git a/Tests/W3CTestSuite/png/render-elems-06-t.png b/Tests/W3CTestSuite/png/render-elems-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0a71fa2f54e534266a48679d459a8e08c9c9043a Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-06-t.png differ diff --git a/Tests/W3CTestSuite/png/render-elems-07-t.png b/Tests/W3CTestSuite/png/render-elems-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..26ed60d84d8518256349fd2cd8f781de633b67e8 Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-07-t.png differ diff --git a/Tests/W3CTestSuite/png/render-elems-08-t.png b/Tests/W3CTestSuite/png/render-elems-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..10b385049a815a27cff0838b8f56449f2972e03a Binary files /dev/null and b/Tests/W3CTestSuite/png/render-elems-08-t.png differ diff --git a/Tests/W3CTestSuite/png/render-groups-01-b.png b/Tests/W3CTestSuite/png/render-groups-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..55601945e53d0c359a801a936645c9b91ed6a922 Binary files /dev/null and b/Tests/W3CTestSuite/png/render-groups-01-b.png differ diff --git a/Tests/W3CTestSuite/png/render-groups-03-t.png b/Tests/W3CTestSuite/png/render-groups-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f69ee5f7e1e14b0d61a6eb09b7a1ed1b58af5af3 Binary files /dev/null and b/Tests/W3CTestSuite/png/render-groups-03-t.png differ diff --git a/Tests/W3CTestSuite/png/script-elem-01-b.png b/Tests/W3CTestSuite/png/script-elem-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a313957d97c02683be0bc4bab79099ac9d0ea5cb Binary files /dev/null and b/Tests/W3CTestSuite/png/script-elem-01-b.png differ diff --git a/Tests/W3CTestSuite/png/script-handle-01-b.png b/Tests/W3CTestSuite/png/script-handle-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea1b532ab0527bd3ecfbe162ef1b33a6e2461d2 Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-01-b.png differ diff --git a/Tests/W3CTestSuite/png/script-handle-02-b.png b/Tests/W3CTestSuite/png/script-handle-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..edce4c31ce52a491fde63e94cf3ac63b818db51c Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-02-b.png differ diff --git a/Tests/W3CTestSuite/png/script-handle-03-b.png b/Tests/W3CTestSuite/png/script-handle-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8af27276ba0aa986ce019c970b2921e45fd6874d Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-03-b.png differ diff --git a/Tests/W3CTestSuite/png/script-handle-04-b.png b/Tests/W3CTestSuite/png/script-handle-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..933d938327513c40904e5337a97cf091c28bb12d Binary files /dev/null and b/Tests/W3CTestSuite/png/script-handle-04-b.png differ diff --git a/Tests/W3CTestSuite/png/script-specify-01-f.png b/Tests/W3CTestSuite/png/script-specify-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8f2be723c2ecdba4e00b8b1a3153f66e62680a84 Binary files /dev/null and b/Tests/W3CTestSuite/png/script-specify-01-f.png differ diff --git a/Tests/W3CTestSuite/png/script-specify-02-f.png b/Tests/W3CTestSuite/png/script-specify-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0d1c65016553ca77d6cf3a82752bee707606a58b Binary files /dev/null and b/Tests/W3CTestSuite/png/script-specify-02-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-circle-01-t.png b/Tests/W3CTestSuite/png/shapes-circle-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..84a292b8eb6a85ddcf7ce6303420c96e64e9141a Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-circle-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-circle-02-t.png b/Tests/W3CTestSuite/png/shapes-circle-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..71fdf69af622e92af7021e043dda91fe4a36fc97 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-circle-02-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-ellipse-01-t.png b/Tests/W3CTestSuite/png/shapes-ellipse-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..87b76deca252207215ae906dca3fc31a29261b3f Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-ellipse-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-ellipse-02-t.png b/Tests/W3CTestSuite/png/shapes-ellipse-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..97886b1785fdfe64b7486fed57b1c66a116dcff5 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-ellipse-02-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-ellipse-03-f.png b/Tests/W3CTestSuite/png/shapes-ellipse-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9a78b5064eae9a3479fd45cd4dad63809f5998dd Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-ellipse-03-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-grammar-01-f.png b/Tests/W3CTestSuite/png/shapes-grammar-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..db698fc4188b0f19fe40179207ca076390d55330 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-grammar-01-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-intro-01-t.png b/Tests/W3CTestSuite/png/shapes-intro-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..376f4e606449b78b5edf9d89c7e1ab8d87af8772 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-intro-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-intro-02-f.png b/Tests/W3CTestSuite/png/shapes-intro-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..61de62954192290bb447ec555f55ae8dd13eeb8a Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-intro-02-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-line-01-t.png b/Tests/W3CTestSuite/png/shapes-line-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..97f0157e2f6a34eb427669487e67f0dc35f4601b Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-line-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-line-02-f.png b/Tests/W3CTestSuite/png/shapes-line-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9dea9b92b821060f76f974420026865cf738abbb Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-line-02-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-polygon-01-t.png b/Tests/W3CTestSuite/png/shapes-polygon-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c505ee74b8831f66e8f18709bccc3d03ba19474b Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polygon-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-polygon-02-t.png b/Tests/W3CTestSuite/png/shapes-polygon-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..3a9301e132675c31067fdb970eb5dac1ceafee4c Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polygon-02-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-polygon-03-t.png b/Tests/W3CTestSuite/png/shapes-polygon-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b432ba44ba4d75e579b71feaa872084738eb0205 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polygon-03-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-polyline-01-t.png b/Tests/W3CTestSuite/png/shapes-polyline-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..daa275e96b981085a89285f77b99c256e061aa76 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polyline-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-polyline-02-t.png b/Tests/W3CTestSuite/png/shapes-polyline-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..739eb628dd06d1f852e4308522126f381e129e43 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-polyline-02-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-01-t.png b/Tests/W3CTestSuite/png/shapes-rect-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..339dbb8e4f9a401ba210319fc4ba3899d79fa25e Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-01-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-02-t.png b/Tests/W3CTestSuite/png/shapes-rect-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..20a908c9e2af2231c0f3d85626857eb75fb1f8e6 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-02-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-03-t.png b/Tests/W3CTestSuite/png/shapes-rect-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..43b8961974d0d12c87633ef5d5fa3dfe37d00bab Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-03-t.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-04-f.png b/Tests/W3CTestSuite/png/shapes-rect-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..72f26ad9f44c7c2610663fa1e92fc42c89e360e1 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-04-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-05-f.png b/Tests/W3CTestSuite/png/shapes-rect-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0717997d9134e73fce5f611c4508a3379b79ce40 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-05-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-06-f.png b/Tests/W3CTestSuite/png/shapes-rect-06-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0978cb2de67f8bec03a1d1ac19b3ccae6563d014 Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-06-f.png differ diff --git a/Tests/W3CTestSuite/png/shapes-rect-07-f.png b/Tests/W3CTestSuite/png/shapes-rect-07-f.png new file mode 100644 index 0000000000000000000000000000000000000000..557aa9a31a46d76e1e8bb60cf5e5ee379c3dff5c Binary files /dev/null and b/Tests/W3CTestSuite/png/shapes-rect-07-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-01-t.png b/Tests/W3CTestSuite/png/struct-cond-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7a643fa78f332aadea13c4d56b42802b2af81569 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-01-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-02-t.png b/Tests/W3CTestSuite/png/struct-cond-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..14796821cda79c6e23ee933c35c8792c43410b1e Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-02-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-03-t.png b/Tests/W3CTestSuite/png/struct-cond-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ea793b85cad43f5a20a157e754bfc70d65a81f28 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-03-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-02-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a63dc0048d69c6a8004e304d3fcc7c7c8b75980f Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-02-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-03-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..d25a98bcefd7a26c02574f98b9d20833672a40f9 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-03-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-04-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..4463ee128eee635a816df088438bfce32568f990 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-04-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-cond-overview-05-f.png b/Tests/W3CTestSuite/png/struct-cond-overview-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..00c20db71e28287cc8ad41a86790738429a137e6 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-cond-overview-05-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-defs-01-t.png b/Tests/W3CTestSuite/png/struct-defs-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..225c2dae72ec8e2e61d2d2c98b4fc8849380db29 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-defs-01-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-01-b.png b/Tests/W3CTestSuite/png/struct-dom-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d53461992b090c80b3c36320e22fa5b9f1a210eb Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-01-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-02-b.png b/Tests/W3CTestSuite/png/struct-dom-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..06445c2bd475ab92c40917dc3ba8d15241703294 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-02-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-03-b.png b/Tests/W3CTestSuite/png/struct-dom-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..26e8f5333758d9c0cc71e7c690c0e63b65ad8d21 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-03-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-04-b.png b/Tests/W3CTestSuite/png/struct-dom-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..da8c5ec927b4d35a6a80e00b634200ec3a172d4e Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-04-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-05-b.png b/Tests/W3CTestSuite/png/struct-dom-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d25a265a46f556a2fe04aee3a81ba4095c7fe284 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-05-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-06-b.png b/Tests/W3CTestSuite/png/struct-dom-06-b.png new file mode 100644 index 0000000000000000000000000000000000000000..c138a34b64b30b19f8b67ca922f43a371f832b75 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-06-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-07-f.png b/Tests/W3CTestSuite/png/struct-dom-07-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a0d32d45997a34d8f2dd6e6d11f4987d2b86fea4 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-07-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-08-f.png b/Tests/W3CTestSuite/png/struct-dom-08-f.png new file mode 100644 index 0000000000000000000000000000000000000000..946bbbbc6c71738a972dfa1836da7538d9b03669 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-08-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-09-b.png b/Tests/W3CTestSuite/png/struct-dom-09-b.png new file mode 100644 index 0000000000000000000000000000000000000000..ed0e5b0d15bfcdb79bd0fba3e97ca7981bf8671e Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-09-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-11-f.png b/Tests/W3CTestSuite/png/struct-dom-11-f.png new file mode 100644 index 0000000000000000000000000000000000000000..78258dc628aa94e01ec6d0c39a8e404d5b7cf060 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-11-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-12-b.png b/Tests/W3CTestSuite/png/struct-dom-12-b.png new file mode 100644 index 0000000000000000000000000000000000000000..00d98643751123969459ab68d9cbfdc438f821eb Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-12-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-13-f.png b/Tests/W3CTestSuite/png/struct-dom-13-f.png new file mode 100644 index 0000000000000000000000000000000000000000..1a113ad79bcdde913f96b264874b24fef256f3d5 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-13-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-14-f.png b/Tests/W3CTestSuite/png/struct-dom-14-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e4819bb6624dca94ad9f515ad19da5e47a00fcb5 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-14-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-15-f.png b/Tests/W3CTestSuite/png/struct-dom-15-f.png new file mode 100644 index 0000000000000000000000000000000000000000..6a56c57b3b2644b42200e70a5006d0afa9d3d099 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-15-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-16-f.png b/Tests/W3CTestSuite/png/struct-dom-16-f.png new file mode 100644 index 0000000000000000000000000000000000000000..60bfbb0df706ca7ffdd5147ac0a0796483bf1858 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-16-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-17-f.png b/Tests/W3CTestSuite/png/struct-dom-17-f.png new file mode 100644 index 0000000000000000000000000000000000000000..520e57a8fea3f4640065cf5c9525488d55f75559 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-17-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-18-f.png b/Tests/W3CTestSuite/png/struct-dom-18-f.png new file mode 100644 index 0000000000000000000000000000000000000000..1ee03ae33b3642c475ca0d42aa0e8198f07c144a Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-18-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-19-f.png b/Tests/W3CTestSuite/png/struct-dom-19-f.png new file mode 100644 index 0000000000000000000000000000000000000000..804d9cd4c3fccccf92877cad38ab93630d21eaa4 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-19-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-dom-20-f.png b/Tests/W3CTestSuite/png/struct-dom-20-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f844e0b31488554a0f915d1a3982b8c043db6d24 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-dom-20-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-frag-01-t.png b/Tests/W3CTestSuite/png/struct-frag-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5163766f1b6a33a7a8aa1f84751a76561ffdc10e Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-01-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-frag-02-t.png b/Tests/W3CTestSuite/png/struct-frag-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..45e3aecfb44083c3050396247ea741cb26788b63 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-02-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-frag-03-t.png b/Tests/W3CTestSuite/png/struct-frag-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f0c63d605072e177052b03ca4cbab4ff861d0e13 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-03-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-frag-04-t.png b/Tests/W3CTestSuite/png/struct-frag-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..ca78f48aa4db6f2f8d5989255ff14ad91312b84a Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-04-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-frag-05-t.png b/Tests/W3CTestSuite/png/struct-frag-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..82b32250118cf721444907c5c2848f571c10bd76 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-05-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-frag-06-t.png b/Tests/W3CTestSuite/png/struct-frag-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a732fe41c65bd5adc430bd0fb126d63d71af0fa6 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-frag-06-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-group-01-t.png b/Tests/W3CTestSuite/png/struct-group-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a20eeed440f3564e347390679375519c5b9dc98a Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-group-01-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-group-02-b.png b/Tests/W3CTestSuite/png/struct-group-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..49396df5c34a2e92badccedc935386862337345c Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-group-02-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-group-03-t.png b/Tests/W3CTestSuite/png/struct-group-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d22653527f8583b6b65d6330a0aa1142ee52bceb Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-group-03-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-01-t.png b/Tests/W3CTestSuite/png/struct-image-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..49eacfd7797f732bc02ec900e989e8d10ece5e43 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-01-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-02-b.png b/Tests/W3CTestSuite/png/struct-image-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..1b8211359d3b87393f1c35a60c9477a9fedd243b Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-02-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-03-t.png b/Tests/W3CTestSuite/png/struct-image-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..41ead9033b70092b943d640d3027330d0bd694b8 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-03-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-04-t.png b/Tests/W3CTestSuite/png/struct-image-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..782a1bd041033feeee6b6910c956a4748b6da64f Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-04-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-05-b.png b/Tests/W3CTestSuite/png/struct-image-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..f92bb67d62379ad7ea01115db9dbfd9b614937a0 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-05-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-06-t.png b/Tests/W3CTestSuite/png/struct-image-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..b96839faddae12cd13802d1c812015be850b02db Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-06-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-07-t.png b/Tests/W3CTestSuite/png/struct-image-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f39a3fc58ee37d0638a74ced75b90d1579dc376b Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-07-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-08-t.png b/Tests/W3CTestSuite/png/struct-image-08-t.png new file mode 100644 index 0000000000000000000000000000000000000000..a65fc02b58ab9abdbcb7b020ceaae5611f3ec3d3 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-08-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-09-t.png b/Tests/W3CTestSuite/png/struct-image-09-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f30f854bb1815e784cc97704cfa74a2dc6ed2236 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-09-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-10-t.png b/Tests/W3CTestSuite/png/struct-image-10-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0207bb181d7c8740613be4d89d8f93ded93c9b6a Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-10-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-11-b.png b/Tests/W3CTestSuite/png/struct-image-11-b.png new file mode 100644 index 0000000000000000000000000000000000000000..71249809164c83975e3d8b56143ac537c6c1356e Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-11-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-12-b.png b/Tests/W3CTestSuite/png/struct-image-12-b.png new file mode 100644 index 0000000000000000000000000000000000000000..6048212ce1bf5f06fab6d36af7bc4fdeaf3e3e56 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-12-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-13-f.png b/Tests/W3CTestSuite/png/struct-image-13-f.png new file mode 100644 index 0000000000000000000000000000000000000000..89f753f6881ef06dd2322c29e3690576e4329e6b Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-13-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-14-f.png b/Tests/W3CTestSuite/png/struct-image-14-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7299cc1d051c1387cf2a2fa35bd06384bd88f8f6 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-14-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-15-f.png b/Tests/W3CTestSuite/png/struct-image-15-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5b584e9c1d48c8af05ce9e2f41ba9641c90e4102 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-15-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-16-f.png b/Tests/W3CTestSuite/png/struct-image-16-f.png new file mode 100644 index 0000000000000000000000000000000000000000..48cf50dd34a06c825acdd1208b0b024bf8488475 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-16-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-17-b.png b/Tests/W3CTestSuite/png/struct-image-17-b.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe8a581a341811b268f2b2f4b096278a74e09a3 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-17-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-18-f.png b/Tests/W3CTestSuite/png/struct-image-18-f.png new file mode 100644 index 0000000000000000000000000000000000000000..8acaf92d45c207a72e9850c79ed02aa8562f8b71 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-18-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-image-19-f.png b/Tests/W3CTestSuite/png/struct-image-19-f.png new file mode 100644 index 0000000000000000000000000000000000000000..6b97a9f58555c39fb67c74c2b64ac475cf68b57c Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-image-19-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-svg-01-f.png b/Tests/W3CTestSuite/png/struct-svg-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..e51d2da1e38464d93fdd2c512a7c7933628da619 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-svg-01-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-svg-02-f.png b/Tests/W3CTestSuite/png/struct-svg-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..aaa0c2b377a6d000bff4b68064becd623cc3420c Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-svg-02-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-svg-03-f.png b/Tests/W3CTestSuite/png/struct-svg-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..3dc44573bce0ab6c7e8b2fdd047ecea0c7ecab78 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-svg-03-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-symbol-01-b.png b/Tests/W3CTestSuite/png/struct-symbol-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..859cb5604065707334b8df77e49cb1459b962273 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-symbol-01-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-01-t.png b/Tests/W3CTestSuite/png/struct-use-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c5799608b3a22a48cc2cb08232585c71bf004c Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-01-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-03-t.png b/Tests/W3CTestSuite/png/struct-use-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..af94ab94c8bf3fc640d52aa8b903efa302dda4eb Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-03-t.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-04-b.png b/Tests/W3CTestSuite/png/struct-use-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..2c01bdfbc609ceef1bf3befd212ccaa515c47b95 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-04-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-05-b.png b/Tests/W3CTestSuite/png/struct-use-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d486dc3fa8809636c0a1a4178165a1b2e351d741 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-05-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-06-b.png b/Tests/W3CTestSuite/png/struct-use-06-b.png new file mode 100644 index 0000000000000000000000000000000000000000..483828eb05cf4a05eeec0ddfd3a416b41983f866 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-06-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-07-b.png b/Tests/W3CTestSuite/png/struct-use-07-b.png new file mode 100644 index 0000000000000000000000000000000000000000..756b08cc0235a6ddebb36ffbe86a2727b15b61bb Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-07-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-08-b.png b/Tests/W3CTestSuite/png/struct-use-08-b.png new file mode 100644 index 0000000000000000000000000000000000000000..6d0aaa6226703e9dcbfed9b436843a86997d31ab Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-08-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-09-b.png b/Tests/W3CTestSuite/png/struct-use-09-b.png new file mode 100644 index 0000000000000000000000000000000000000000..043664d0637524ebd8a86c600ff5eb9187791fa8 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-09-b.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-10-f.png b/Tests/W3CTestSuite/png/struct-use-10-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7e14ab046a1dbbacda7ecaa72cffd5475237efb7 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-10-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-11-f.png b/Tests/W3CTestSuite/png/struct-use-11-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9a4e57003a62d3cff307e9f5b40cf66ac7a344a8 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-11-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-12-f.png b/Tests/W3CTestSuite/png/struct-use-12-f.png new file mode 100644 index 0000000000000000000000000000000000000000..797bcc218ac21e722afaa612bc484553ef9c2d38 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-12-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-13-f.png b/Tests/W3CTestSuite/png/struct-use-13-f.png new file mode 100644 index 0000000000000000000000000000000000000000..da19897a59c02a7822b8d2eab71302edf6d2733f Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-13-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-14-f.png b/Tests/W3CTestSuite/png/struct-use-14-f.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac441de4fb12a61c25be6760c6c16958d544c79 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-14-f.png differ diff --git a/Tests/W3CTestSuite/png/struct-use-15-f.png b/Tests/W3CTestSuite/png/struct-use-15-f.png new file mode 100644 index 0000000000000000000000000000000000000000..c93bdd0d8c9aecfa5b212445b711c24f9c508cc5 Binary files /dev/null and b/Tests/W3CTestSuite/png/struct-use-15-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-class-01-f.png b/Tests/W3CTestSuite/png/styling-class-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f3a318d4195dd8bbc700d2144e8a91e86fac61 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-class-01-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-01-b.png b/Tests/W3CTestSuite/png/styling-css-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..57f3c8fd09928c39f990a02d2b056d2d19ecd842 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-01-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-02-b.png b/Tests/W3CTestSuite/png/styling-css-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..32dcd8b0da71b8c20a070032da4eab2d1566a87e Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-02-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-03-b.png b/Tests/W3CTestSuite/png/styling-css-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a64439ad5cab839fabfaf545deb41723406c7cc3 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-03-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-04-f.png b/Tests/W3CTestSuite/png/styling-css-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a87d3ce94568958e33955017e30916bd85673427 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-04-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-05-b.png b/Tests/W3CTestSuite/png/styling-css-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..23317d7627e44aa9d4a41c9e49f67d02186987cd Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-05-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-06-b.png b/Tests/W3CTestSuite/png/styling-css-06-b.png new file mode 100644 index 0000000000000000000000000000000000000000..58643316dd9885e715abb36258e7f48020bdd09d Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-06-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-07-f.png b/Tests/W3CTestSuite/png/styling-css-07-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7502be872b71615e26ce2b1e8e930ee9142a131d Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-07-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-08-f.png b/Tests/W3CTestSuite/png/styling-css-08-f.png new file mode 100644 index 0000000000000000000000000000000000000000..076127968d3fc11d17f8a4656e1d9bb26c03e9ea Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-08-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-09-f.png b/Tests/W3CTestSuite/png/styling-css-09-f.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-09-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-css-10-f.png b/Tests/W3CTestSuite/png/styling-css-10-f.png new file mode 100644 index 0000000000000000000000000000000000000000..9d1dd68db7ea7e4b9bcbcbadb73a57d65f6de940 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-css-10-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-elem-01-b.png b/Tests/W3CTestSuite/png/styling-elem-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..5e69472d95954fd4e84b44bfecd928f6c1a9f75e Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-elem-01-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-elem-02-b.png b/Tests/W3CTestSuite/png/styling-elem-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..f8b8efe4fa416368225f09c43787f5073dd43040 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-elem-02-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-inherit-01-b.png b/Tests/W3CTestSuite/png/styling-inherit-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..064e6ef546155b83170957535dd5ee9ec3c1ca29 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-inherit-01-b.png differ diff --git a/Tests/W3CTestSuite/png/styling-pres-01-t.png b/Tests/W3CTestSuite/png/styling-pres-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..440141cb36851f6da634dc2c198a30c73f5aaa4d Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-01-t.png differ diff --git a/Tests/W3CTestSuite/png/styling-pres-02-f.png b/Tests/W3CTestSuite/png/styling-pres-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..f05e87eadeafc3fe7b093b88fed4924cf2dadf2a Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-02-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-pres-03-f.png b/Tests/W3CTestSuite/png/styling-pres-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-03-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-pres-04-f.png b/Tests/W3CTestSuite/png/styling-pres-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-04-f.png differ diff --git a/Tests/W3CTestSuite/png/styling-pres-05-f.png b/Tests/W3CTestSuite/png/styling-pres-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8631db6cae90b2ef37bc370ce43a8752891fc4 Binary files /dev/null and b/Tests/W3CTestSuite/png/styling-pres-05-f.png differ diff --git a/Tests/W3CTestSuite/png/svgdom-over-01-f.png b/Tests/W3CTestSuite/png/svgdom-over-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a68943a9e409bad6be50964a9b57529535a76d8d Binary files /dev/null and b/Tests/W3CTestSuite/png/svgdom-over-01-f.png differ diff --git a/Tests/W3CTestSuite/png/text-align-01-b.png b/Tests/W3CTestSuite/png/text-align-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..5e80dd9aea8d96352b3959561fcb0802a695e60e Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-align-02-b.png b/Tests/W3CTestSuite/png/text-align-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..ecce28c027e47284cff29661a7c83a929f11e714 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-02-b.png differ diff --git a/Tests/W3CTestSuite/png/text-align-03-b.png b/Tests/W3CTestSuite/png/text-align-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..4124dc85deb73ae0827371ed53937da43d5e4419 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-03-b.png differ diff --git a/Tests/W3CTestSuite/png/text-align-04-b.png b/Tests/W3CTestSuite/png/text-align-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a107f9c012d912fc6b008de945e916597dc91f Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-04-b.png differ diff --git a/Tests/W3CTestSuite/png/text-align-05-b.png b/Tests/W3CTestSuite/png/text-align-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..c036225513957ad8b1b9c382a49a2d69b6a8dcf1 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-05-b.png differ diff --git a/Tests/W3CTestSuite/png/text-align-06-b.png b/Tests/W3CTestSuite/png/text-align-06-b.png new file mode 100644 index 0000000000000000000000000000000000000000..f9d7b9fb8e55241f041327a2ea7a6cf7b3832c3d Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-06-b.png differ diff --git a/Tests/W3CTestSuite/png/text-align-07-t.png b/Tests/W3CTestSuite/png/text-align-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..6b9549faf572bf1608e12ebf65d627f89524894a Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-07-t.png differ diff --git a/Tests/W3CTestSuite/png/text-align-08-b.png b/Tests/W3CTestSuite/png/text-align-08-b.png new file mode 100644 index 0000000000000000000000000000000000000000..70a77eb9ba3dabb4efd657f38542298f5d8df32f Binary files /dev/null and b/Tests/W3CTestSuite/png/text-align-08-b.png differ diff --git a/Tests/W3CTestSuite/png/text-altglyph-01-b.png b/Tests/W3CTestSuite/png/text-altglyph-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..f5254a4ef5228cde169ae7d498555b9f97115408 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-altglyph-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-altglyph-02-b.png b/Tests/W3CTestSuite/png/text-altglyph-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..4c24be1bd21c1d36927deb87f195b25d0dfe79b5 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-altglyph-02-b.png differ diff --git a/Tests/W3CTestSuite/png/text-altglyph-03-b.png b/Tests/W3CTestSuite/png/text-altglyph-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..57bc13e5d5a0ebe8b2c0892655496366ca5ca148 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-altglyph-03-b.png differ diff --git a/Tests/W3CTestSuite/png/text-bidi-01-t.png b/Tests/W3CTestSuite/png/text-bidi-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..9c38a2baad6c8aae4948fd9b8261d76df1e221b8 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-bidi-01-t.png differ diff --git a/Tests/W3CTestSuite/png/text-deco-01-b.png b/Tests/W3CTestSuite/png/text-deco-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..162120a0b9e7f6df4899d29a8f01f634f354b838 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-deco-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-dom-01-f.png b/Tests/W3CTestSuite/png/text-dom-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3d6fe9c1920c1593417e255ab6d6576b9b4078 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-01-f.png differ diff --git a/Tests/W3CTestSuite/png/text-dom-02-f.png b/Tests/W3CTestSuite/png/text-dom-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..2b47c38e2ef323459fe4396315e54ac2e828f411 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-02-f.png differ diff --git a/Tests/W3CTestSuite/png/text-dom-03-f.png b/Tests/W3CTestSuite/png/text-dom-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..cd9f0b22a9b5066789176b303ca27de8cea47336 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-03-f.png differ diff --git a/Tests/W3CTestSuite/png/text-dom-04-f.png b/Tests/W3CTestSuite/png/text-dom-04-f.png new file mode 100644 index 0000000000000000000000000000000000000000..a53ec7679ac331e0ed6527166f107886d918341d Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-04-f.png differ diff --git a/Tests/W3CTestSuite/png/text-dom-05-f.png b/Tests/W3CTestSuite/png/text-dom-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..7e85777ff6cc74ae65acf32a592906e0b13f06e6 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-dom-05-f.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-01-t.png b/Tests/W3CTestSuite/png/text-fonts-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..2e98b1ea8d3ab8667e30e10e9092250512885cf2 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-01-t.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-02-t.png b/Tests/W3CTestSuite/png/text-fonts-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..6b4be05aec3b2bce88802e72ebc81e77eac8384b Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-02-t.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-03-t.png b/Tests/W3CTestSuite/png/text-fonts-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..9469cc98ce4c1a2d3d5df25b8b6caba736cbdca4 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-03-t.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-04-t.png b/Tests/W3CTestSuite/png/text-fonts-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..9469cc98ce4c1a2d3d5df25b8b6caba736cbdca4 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-04-t.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-05-f.png b/Tests/W3CTestSuite/png/text-fonts-05-f.png new file mode 100644 index 0000000000000000000000000000000000000000..07c26f8f553ab02ebe92a22172ede4d8eb2af052 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-05-f.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-202-t.png b/Tests/W3CTestSuite/png/text-fonts-202-t.png new file mode 100644 index 0000000000000000000000000000000000000000..8375d13a659905be69e6c885decd542b35970082 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-202-t.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-203-t.png b/Tests/W3CTestSuite/png/text-fonts-203-t.png new file mode 100644 index 0000000000000000000000000000000000000000..c77043c29baf288fd61d72c49f87c319138dd42e Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-203-t.png differ diff --git a/Tests/W3CTestSuite/png/text-fonts-204-t.png b/Tests/W3CTestSuite/png/text-fonts-204-t.png new file mode 100644 index 0000000000000000000000000000000000000000..43c977a073a3bec03a4fcf165efcc6bbed58af98 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-fonts-204-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-01-t.png b/Tests/W3CTestSuite/png/text-intro-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5915c5eea50426ec392429fbd67a94314a81fa79 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-01-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-02-b.png b/Tests/W3CTestSuite/png/text-intro-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8cadaece385b495aded2be19b8b89490eb455f40 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-02-b.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-03-b.png b/Tests/W3CTestSuite/png/text-intro-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..a93856029896d089ade2ce7516a14861496518c8 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-03-b.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-04-t.png b/Tests/W3CTestSuite/png/text-intro-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f72def1ead1ae3da431557221264e41ce863b4d8 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-04-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-05-t.png b/Tests/W3CTestSuite/png/text-intro-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5bff5a434b8eea33bb38d33ed1d29d1d87c0b002 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-05-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-06-t.png b/Tests/W3CTestSuite/png/text-intro-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e506784bc5ec48510b815a190dd731f944a029bb Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-06-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-07-t.png b/Tests/W3CTestSuite/png/text-intro-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..59b611b88f4633fb5b9d2863752c1d076ef2e75e Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-07-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-09-b.png b/Tests/W3CTestSuite/png/text-intro-09-b.png new file mode 100644 index 0000000000000000000000000000000000000000..15b4410476f9e96da2e190d6c02a8054dd7c5fbf Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-09-b.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-10-f.png b/Tests/W3CTestSuite/png/text-intro-10-f.png new file mode 100644 index 0000000000000000000000000000000000000000..83bcac0dea0bf257dd11c700f50fce4a18be3eb3 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-10-f.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-11-t.png b/Tests/W3CTestSuite/png/text-intro-11-t.png new file mode 100644 index 0000000000000000000000000000000000000000..3d75a065de7cf3eeb2ab6c8458d0eb239a15d929 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-11-t.png differ diff --git a/Tests/W3CTestSuite/png/text-intro-12-t.png b/Tests/W3CTestSuite/png/text-intro-12-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7c4cd7960ee63e6f60ca52b6b4ef978dc05d9200 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-intro-12-t.png differ diff --git a/Tests/W3CTestSuite/png/text-path-01-b.png b/Tests/W3CTestSuite/png/text-path-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..3e55eb92418d44a59a46b1e85b9267b7043b00fd Binary files /dev/null and b/Tests/W3CTestSuite/png/text-path-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-path-02-b.png b/Tests/W3CTestSuite/png/text-path-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d1adf7a60262a3f6c3ffd98430b53aca4265cefa Binary files /dev/null and b/Tests/W3CTestSuite/png/text-path-02-b.png differ diff --git a/Tests/W3CTestSuite/png/text-spacing-01-b.png b/Tests/W3CTestSuite/png/text-spacing-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..46c30c4aeeb6f7540f3cdc176aae22402a738fee Binary files /dev/null and b/Tests/W3CTestSuite/png/text-spacing-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-text-01-b.png b/Tests/W3CTestSuite/png/text-text-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..686b68e02c792a2b955625a5d453e08331f5fdfe Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-text-03-b.png b/Tests/W3CTestSuite/png/text-text-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..8512096211a4b543308d6dacbe55d599b19e4b0d Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-03-b.png differ diff --git a/Tests/W3CTestSuite/png/text-text-04-t.png b/Tests/W3CTestSuite/png/text-text-04-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d8c0ca5f971aedd535a57df1103e051f46bd4a Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-04-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-05-t.png b/Tests/W3CTestSuite/png/text-text-05-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d6f920980b0e26287e76852f166607f67a1393fd Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-05-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-06-t.png b/Tests/W3CTestSuite/png/text-text-06-t.png new file mode 100644 index 0000000000000000000000000000000000000000..8eb87a50c2231b5ff080fab1f13f168d42df8837 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-06-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-07-t.png b/Tests/W3CTestSuite/png/text-text-07-t.png new file mode 100644 index 0000000000000000000000000000000000000000..7c54463dadc2c68a1d97afe1a1ba6855db8ae337 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-07-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-08-b.png b/Tests/W3CTestSuite/png/text-text-08-b.png new file mode 100644 index 0000000000000000000000000000000000000000..93ae72528293f2943f0a8f64b32749deb8df3da2 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-08-b.png differ diff --git a/Tests/W3CTestSuite/png/text-text-09-t.png b/Tests/W3CTestSuite/png/text-text-09-t.png new file mode 100644 index 0000000000000000000000000000000000000000..78102e0c451d2888b0e5bbb12d99dbf1705d7192 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-09-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-10-t.png b/Tests/W3CTestSuite/png/text-text-10-t.png new file mode 100644 index 0000000000000000000000000000000000000000..6489c0000c4c4491136d776e9d94c74f4074e9dc Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-10-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-11-t.png b/Tests/W3CTestSuite/png/text-text-11-t.png new file mode 100644 index 0000000000000000000000000000000000000000..4f6f82d1974eefde8024ac086bff9f25b1cb33bb Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-11-t.png differ diff --git a/Tests/W3CTestSuite/png/text-text-12-t.png b/Tests/W3CTestSuite/png/text-text-12-t.png new file mode 100644 index 0000000000000000000000000000000000000000..e39b4b7824adedfa712f4d51cb4e746be8f806c5 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-text-12-t.png differ diff --git a/Tests/W3CTestSuite/png/text-tref-01-b.png b/Tests/W3CTestSuite/png/text-tref-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..e4ad2dea95de6af0d45f582f367a7a0e63f345fe Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tref-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-tref-02-b.png b/Tests/W3CTestSuite/png/text-tref-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..423be4c457a81683f3f75d67aa8f82490d238986 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tref-02-b.png differ diff --git a/Tests/W3CTestSuite/png/text-tref-03-b.png b/Tests/W3CTestSuite/png/text-tref-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..53b9f49cf3b40895a5a5e8269c235af8a2228b32 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tref-03-b.png differ diff --git a/Tests/W3CTestSuite/png/text-tselect-01-b.png b/Tests/W3CTestSuite/png/text-tselect-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..fa587fe184144fd10c6dba2511f071b230759cf5 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tselect-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-tselect-02-f.png b/Tests/W3CTestSuite/png/text-tselect-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..58b9cd007609ace17aeb05b78fb3827015e8995b Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tselect-02-f.png differ diff --git a/Tests/W3CTestSuite/png/text-tselect-03-f.png b/Tests/W3CTestSuite/png/text-tselect-03-f.png new file mode 100644 index 0000000000000000000000000000000000000000..31edb83561e43bd569c26af104e83764f527f932 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tselect-03-f.png differ diff --git a/Tests/W3CTestSuite/png/text-tspan-01-b.png b/Tests/W3CTestSuite/png/text-tspan-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..971813e13817c22a87a0b42c2464ef541a6c4404 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tspan-01-b.png differ diff --git a/Tests/W3CTestSuite/png/text-tspan-02-b.png b/Tests/W3CTestSuite/png/text-tspan-02-b.png new file mode 100644 index 0000000000000000000000000000000000000000..ebc03c478b1d4da8be2aa75ce44b504b3f3cb257 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-tspan-02-b.png differ diff --git a/Tests/W3CTestSuite/png/text-ws-01-t.png b/Tests/W3CTestSuite/png/text-ws-01-t.png new file mode 100644 index 0000000000000000000000000000000000000000..d70fcdb4dd3dc9d7aa1ac24d13c311bd0a6f4290 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-ws-01-t.png differ diff --git a/Tests/W3CTestSuite/png/text-ws-02-t.png b/Tests/W3CTestSuite/png/text-ws-02-t.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d5794ba452433994e4a8b956cbb8731542d732 Binary files /dev/null and b/Tests/W3CTestSuite/png/text-ws-02-t.png differ diff --git a/Tests/W3CTestSuite/png/text-ws-03-t.png b/Tests/W3CTestSuite/png/text-ws-03-t.png new file mode 100644 index 0000000000000000000000000000000000000000..0e72cf82eeba0a7831aeda4f8426d487b72c28fd Binary files /dev/null and b/Tests/W3CTestSuite/png/text-ws-03-t.png differ diff --git a/Tests/W3CTestSuite/png/types-basic-01-f.png b/Tests/W3CTestSuite/png/types-basic-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..bd1a57ac3f31e1427dcbeee224fde530a059f19c Binary files /dev/null and b/Tests/W3CTestSuite/png/types-basic-01-f.png differ diff --git a/Tests/W3CTestSuite/png/types-basic-02-f.png b/Tests/W3CTestSuite/png/types-basic-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..70306da2cd420bc1d44041c3b78e31f247a632c0 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-basic-02-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-01-b.png b/Tests/W3CTestSuite/png/types-dom-01-b.png new file mode 100644 index 0000000000000000000000000000000000000000..d6ddede6e39ad8c340f50a4f6afb15d5a4465ca2 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-01-b.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-02-f.png b/Tests/W3CTestSuite/png/types-dom-02-f.png new file mode 100644 index 0000000000000000000000000000000000000000..6eac2640d787bb4b215c6c58114c978c2bd4eb5f Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-02-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-03-b.png b/Tests/W3CTestSuite/png/types-dom-03-b.png new file mode 100644 index 0000000000000000000000000000000000000000..3abad76c698dbef10bf669679bbfb4866d10415c Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-03-b.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-04-b.png b/Tests/W3CTestSuite/png/types-dom-04-b.png new file mode 100644 index 0000000000000000000000000000000000000000..08b8ba8089ebf6142d99e9ce985274abf364b5ea Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-04-b.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-05-b.png b/Tests/W3CTestSuite/png/types-dom-05-b.png new file mode 100644 index 0000000000000000000000000000000000000000..fd737138f7b8d869c078a7f72887c369db0f0372 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-05-b.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-06-f.png b/Tests/W3CTestSuite/png/types-dom-06-f.png new file mode 100644 index 0000000000000000000000000000000000000000..25cb85ad2128f65191e301194568345e2f51785f Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-06-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-07-f.png b/Tests/W3CTestSuite/png/types-dom-07-f.png new file mode 100644 index 0000000000000000000000000000000000000000..12754ba649a721e31d9ecfdd861bf950a544d3ce Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-07-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-08-f.png b/Tests/W3CTestSuite/png/types-dom-08-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5d4df4515ec3c3523729d01beb2847ef730d3862 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-08-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-svgfittoviewbox-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgfittoviewbox-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..0f7259313e00254b802ed1a1a403693dc0404374 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgfittoviewbox-01-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-svglengthlist-01-f.png b/Tests/W3CTestSuite/png/types-dom-svglengthlist-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5068943751c99932135e0da81b8c7dfcb96a57b7 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svglengthlist-01-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-svgnumberlist-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgnumberlist-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..4305da40de63c9c3aeb90bafb8a996e38abb7234 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgnumberlist-01-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-svgstringlist-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgstringlist-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..5068943751c99932135e0da81b8c7dfcb96a57b7 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgstringlist-01-f.png differ diff --git a/Tests/W3CTestSuite/png/types-dom-svgtransformable-01-f.png b/Tests/W3CTestSuite/png/types-dom-svgtransformable-01-f.png new file mode 100644 index 0000000000000000000000000000000000000000..be5157b85557caf754004f5446b8e9f818d80ee5 Binary files /dev/null and b/Tests/W3CTestSuite/png/types-dom-svgtransformable-01-f.png differ diff --git a/Tests/W3CTestSuite/resources/Baselines/Tribase.sfd b/Tests/W3CTestSuite/resources/Baselines/Tribase.sfd new file mode 100644 index 0000000000000000000000000000000000000000..bc3a9bfb252f4ee5f7f8d047fd67805d8bdef0d1 --- /dev/null +++ b/Tests/W3CTestSuite/resources/Baselines/Tribase.sfd @@ -0,0 +1,119 @@ +SplineFontDB: 3.0 +FontName: Tribase +FullName: Tribase +FamilyName: Tribase +Weight: Regular +Copyright: +Version: +ItalicAngle: 0 +UnderlinePosition: 0 +UnderlineWidth: 0 +Ascent: 800 +Descent: 200 +woffMetadata: "+AAoA+AAoA +AAoA +AAoA +AAoA +AAoA This +AAoA font was created for use in the SVG Test Suite. It is probably +AAoA not suitable for general use, and may have unusual features +AAoA specific to the particular subject being tested.+AAoA +AAoA +AAoA W3C Test Suite License+AAoA +AAoA +AAoA Copyright +AKkA 2011 World Wide Web Consortium, +AAoA (Massachusetts Institute of Technology, +AAoA European Research Consortium for Informatics and Mathematics, +AAoA Keio University) and others. +AAoA All Rights Reserved. +AAoA +AAoA +AAoA+AAoA" +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Fore" 0 +NeedsXUIDChange: 1 +XUID: [1021 814 1794362713 5831921] +FSType: 8 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 0 +CreationTime: 1298599594 +ModificationTime: 1298608777 +PfmFamily: 17 +TTFWeight: 400 +TTFWidth: 5 +LineGap: 90 +VLineGap: 90 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +OS2Vendor: 'PfEd' +MarkAttachClasses: 1 +DEI: 91125 +LangName: 1033 +Encoding: Original +UnicodeInterp: none +NameList: Adobe Glyph List +DisplaySize: -36 +AntiAlias: 1 +FitToEm: 1 +WinInfo: 0 25 8 +BeginChars: 5 4 + +StartChar: .notdef +Encoding: 0 0 0 +Width: 500 +Flags: H +LayerCount: 2 +Fore +SplineSet +0 0 m 0 + 0 1000 l 0 + 500 1000 l 0 + 500 0 l 0 + 0 0 l 0 +50 50 m 0 + 450 50 l 0 + 450 950 l 0 + 50 950 l 0 + 50 50 l 0 +EndSplineSet +EndChar + +StartChar: rectangle +Encoding: 2 97 1 +Width: 500 +Flags: H +LayerCount: 2 +Fore +SplineSet +0 200 m 0 + 0 900 l 0 + 500 900 l 0 + 500 200 l 0 + 0 200 l 0 +EndSplineSet +EndChar + +StartChar: upward-triangle +Encoding: 3 29340 2 +Width: 500 +Flags: H +LayerCount: 2 +Fore +SplineSet +0 0 m 0 + 250 900 l 0 + 500 0 l 0 + 0 0 l 0 +EndSplineSet +EndChar + +StartChar: downward-triangle +Encoding: 4 2339 3 +Width: 500 +LayerCount: 2 +Fore +SplineSet +0 900 m 0 + 500 900 l 0 + 250 0 l 0 + 0 900 l 0 +EndSplineSet +Validated: 513 +EndChar +EndChars +EndSplineFont diff --git a/Tests/W3CTestSuite/resources/Baselines/Tribase.svg b/Tests/W3CTestSuite/resources/Baselines/Tribase.svg new file mode 100644 index 0000000000000000000000000000000000000000..25ea53cb723c112ebce1548a061a1388890345e2 --- /dev/null +++ b/Tests/W3CTestSuite/resources/Baselines/Tribase.svg @@ -0,0 +1,34 @@ + + + + +Created by FontForge 20100429 at Fri Feb 25 05:40:51 2011 + By Chris Lilley,,, + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/Blocky.svg b/Tests/W3CTestSuite/resources/Blocky.svg new file mode 100644 index 0000000000000000000000000000000000000000..9c2d7880eb684852ecb27ae6cdebf12c94593aec --- /dev/null +++ b/Tests/W3CTestSuite/resources/Blocky.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/resources/Blocky.woff b/Tests/W3CTestSuite/resources/Blocky.woff new file mode 100644 index 0000000000000000000000000000000000000000..1d7e05f28dbdaabb27d416730eb973561a3c4d12 Binary files /dev/null and b/Tests/W3CTestSuite/resources/Blocky.woff differ diff --git a/Tests/W3CTestSuite/resources/EzraSILSR.woff b/Tests/W3CTestSuite/resources/EzraSILSR.woff new file mode 100644 index 0000000000000000000000000000000000000000..1bae45f6ae64d0ff700c7f4f51ea4a26bb9159ec Binary files /dev/null and b/Tests/W3CTestSuite/resources/EzraSILSR.woff differ diff --git a/Tests/W3CTestSuite/resources/FreeSerif.svg b/Tests/W3CTestSuite/resources/FreeSerif.svg new file mode 100644 index 0000000000000000000000000000000000000000..99e357dda2448f9c9184ea0a7efc565a19477f3d --- /dev/null +++ b/Tests/W3CTestSuite/resources/FreeSerif.svg @@ -0,0 +1,541 @@ + + + + +Created by FontForge 20100204 at Mon Mar 8 20:56:26 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  !"#$%&'()*+,-./0123456789:;<>? +@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +`abcdefghijklmnopqrstuvwxyz|{}~ + + diff --git a/Tests/W3CTestSuite/resources/FreeSerifBold.svg b/Tests/W3CTestSuite/resources/FreeSerifBold.svg new file mode 100644 index 0000000000000000000000000000000000000000..da0f866830bbf190cd7d8d29187347a5c5525856 --- /dev/null +++ b/Tests/W3CTestSuite/resources/FreeSerifBold.svg @@ -0,0 +1,539 @@ + + + + +Created by FontForge 20100204 at Mon Mar 8 20:52:04 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  !"#$%&'()*+,-./0123456789:;<>? +@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +`abcdefghijklmnopqrstuvwxyz|{}~ + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/resources/FreeSerifBoldItalic.svg b/Tests/W3CTestSuite/resources/FreeSerifBoldItalic.svg new file mode 100644 index 0000000000000000000000000000000000000000..4fe571b60295ed7545bf6bfdb56fbb7ea40b5fe6 --- /dev/null +++ b/Tests/W3CTestSuite/resources/FreeSerifBoldItalic.svg @@ -0,0 +1,570 @@ + + + + +Created by FontForge 20100204 at Mon Mar 8 20:53:15 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  !"#$%&'()*+,-./0123456789:;<>? +@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +`abcdefghijklmnopqrstuvwxyz|{}~ + + diff --git a/Tests/W3CTestSuite/resources/FreeSerifItalic.svg b/Tests/W3CTestSuite/resources/FreeSerifItalic.svg new file mode 100644 index 0000000000000000000000000000000000000000..8481f3276b293b1aeae6eb2bb6c9785a0ce5b1da --- /dev/null +++ b/Tests/W3CTestSuite/resources/FreeSerifItalic.svg @@ -0,0 +1,645 @@ + + + + +Created by FontForge 20100204 at Mon Mar 8 20:49:20 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  !"#$%&'()*+,-./0123456789:;<>? +@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +`abcdefghijklmnopqrstuvwxyz|{}~ + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/resources/Heb.svg b/Tests/W3CTestSuite/resources/Heb.svg new file mode 100644 index 0000000000000000000000000000000000000000..cdafd8df1c312fb9c3b47f35fe6270ad3b7dd86c --- /dev/null +++ b/Tests/W3CTestSuite/resources/Heb.svg @@ -0,0 +1,1077 @@ + + + + +Created by FontForge 20100429 at Mon May 17 18:41:30 2010 + By Chris Lilley,,, +Hebrew layout intelligence copyright (c) 2003 & 2007 Ralph Hancock (http://www.hancock.dircon.co.uk/) and John Hudson (http://www.tiro.com), and licensed under the MIT/X11 License. + +All other font software is copyright (c) 1997-2007, SIL International (http://www.sil.org/), and is licensed under the SIL Open Font License, version 1.1 (http://scripts.sil.org/OFL), with Reserved Font Names "SIL" and "Ezra". + +This Font Software is licensed under the SIL Open Font License, Version 1.0. See the license informaation in the font. The text of the license is also available at: http://scripts.sil.org/OFL . + +This SVG version created with Fontographer by Chris Lilley. In accordance with the +SIL Open Font License, version 1.1 (http://scripts.sil.org/OFL), the Reserved Font Names "SIL" and "Ezra" +are not used in this SVG version. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/LinBTestFont.svg b/Tests/W3CTestSuite/resources/LinBTestFont.svg new file mode 100644 index 0000000000000000000000000000000000000000..522e4b87bb2aefe08119afc47ca9b57e3cf61779 --- /dev/null +++ b/Tests/W3CTestSuite/resources/LinBTestFont.svg @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/Plane1/.directory b/Tests/W3CTestSuite/resources/Plane1/.directory new file mode 100644 index 0000000000000000000000000000000000000000..692c0f1c98b7a9baa9e6405cd0774ea321e3c174 --- /dev/null +++ b/Tests/W3CTestSuite/resources/Plane1/.directory @@ -0,0 +1,3 @@ +[Dolphin] +Timestamp=2011,2,18,20,4,34 +ViewMode=1 diff --git a/Tests/W3CTestSuite/resources/Plane1/Plane1Test-forFF.svg b/Tests/W3CTestSuite/resources/Plane1/Plane1Test-forFF.svg new file mode 100644 index 0000000000000000000000000000000000000000..728fae6f55bf302509b794e297de2448d4681930 --- /dev/null +++ b/Tests/W3CTestSuite/resources/Plane1/Plane1Test-forFF.svg @@ -0,0 +1,11 @@ + + + + + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/resources/Plane1/PlaneOne.sfd b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.sfd new file mode 100644 index 0000000000000000000000000000000000000000..cbe12c4dc82f5c7c28385f59186441eaec9b7586 --- /dev/null +++ b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.sfd @@ -0,0 +1,110 @@ +SplineFontDB: 3.0 +FontName: PlaneOne +FullName: PlaneOne +FamilyName: PlaneOne +Weight: Regular +Copyright: +UComments: "Created for SVG test suite by W3C." +Version: +ItalicAngle: 0 +UnderlinePosition: 0 +UnderlineWidth: 0 +Ascent: 800 +Descent: 200 +woffMetadata: "+AAoA+AAoA +AAoA +AAoA +AAoA +AAoA This +AAoA font was created for use in the SVG Test Suite. It is probably +AAoA not suitable for general use, and may have unusual features +AAoA specific to the particular subject being tested.+AAoA +AAoA +AAoA W3C Test Suite License+AAoA +AAoA +AAoA Copyright +AKkA 2011 World Wide Web Consortium, +AAoA (Massachusetts Institute of Technology, +AAoA European Research Consortium for Informatics and Mathematics, +AAoA Keio University) and others. +AAoA All Rights Reserved. +AAoA +AAoA +AAoA+AAoA" +LayerCount: 2 +Layer: 0 0 "Back" 1 +Layer: 1 0 "Fore" 0 +XUID: [1021 814 1794362713 14044211] +FSType: 0 +OS2Version: 0 +OS2_WeightWidthSlopeOnly: 0 +OS2_UseTypoMetrics: 0 +CreationTime: 1298053193 +ModificationTime: 1298055583 +PfmFamily: 81 +TTFWeight: 400 +TTFWidth: 5 +LineGap: 90 +VLineGap: 90 +Panose: 2 0 0 6 3 0 0 2 0 4 +OS2TypoAscent: 0 +OS2TypoAOffset: 1 +OS2TypoDescent: 0 +OS2TypoDOffset: 1 +OS2TypoLinegap: 90 +OS2WinAscent: 0 +OS2WinAOffset: 1 +OS2WinDescent: 0 +OS2WinDOffset: 1 +HheadAscent: 0 +HheadAOffset: 1 +HheadDescent: 0 +HheadDOffset: 1 +OS2Vendor: 'PfEd' +OS2UnicodeRanges: 00000001.02000000.00000000.00000000 +MarkAttachClasses: 1 +DEI: 91125 +LangName: 1033 +Encoding: Original +UnicodeInterp: none +NameList: Adobe Glyph List +DisplaySize: -36 +AntiAlias: 1 +FitToEm: 1 +WinInfo: 0 25 8 +TeXData: 1 0 0 244318 122159 81439 0 1048576 81439 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144 +BeginChars: 5 3 + +StartChar: a +Encoding: 2 97 0 +Width: 100 +HStem: 0 21G<0 80> +VStem: 0 80<0 1000> +LayerCount: 2 +Fore +SplineSet +0 0 m 0 + 0 1000 l 0 + 80 1000 l 0 + 80 0 l 0 + 0 0 l 0 +EndSplineSet +Validated: 1 +EndChar + +StartChar: u10000 +Encoding: 3 65536 1 +Width: 200 +HStem: 0 21G<0 180> +VStem: 0 180<0 1000> +LayerCount: 2 +Fore +SplineSet +0 0 m 0 + 0 1000 l 0 + 180 1000 l 0 + 180 0 l 0 + 0 0 l 0 +EndSplineSet +Validated: 1 +EndChar + +StartChar: b +Encoding: 4 98 2 +Width: 400 +HStem: 0 21G<0 380> +VStem: 0 380<0 1000> +LayerCount: 2 +Fore +SplineSet +0 0 m 0 + 0 1000 l 0 + 380 1000 l 0 + 380 0 l 0 + 0 0 l 0 +EndSplineSet +Validated: 1 +EndChar +EndChars +EndSplineFont diff --git a/Tests/W3CTestSuite/resources/Plane1/PlaneOne.svg b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.svg new file mode 100644 index 0000000000000000000000000000000000000000..de8a1d909ae7d5f3ce9078900ced2254c237a49e --- /dev/null +++ b/Tests/W3CTestSuite/resources/Plane1/PlaneOne.svg @@ -0,0 +1,35 @@ + + + + + +Created by FontForge 20100429 at Fri Feb 18 20:00:06 2011 + By Chris Lilley,,, + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/Plane1/svgtestsuite-woffmeta.xml b/Tests/W3CTestSuite/resources/Plane1/svgtestsuite-woffmeta.xml new file mode 100644 index 0000000000000000000000000000000000000000..af81cad6df58a8a50b0f40047e17e6f63d19b990 --- /dev/null +++ b/Tests/W3CTestSuite/resources/Plane1/svgtestsuite-woffmeta.xml @@ -0,0 +1,26 @@ + + + + + + + This + font was created for use in the SVG Test Suite. It is probably + not suitable for general use, and may have unusual features + specific to the particular subject being tested. + + + W3C Test Suite License + + + Copyright © 2011 World Wide Web Consortium, + (Massachusetts Institute of Technology, + European Research Consortium for Informatics and Mathematics, + Keio University) and others. + All Rights Reserved. + + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSans-ISO-8859-1.svg b/Tests/W3CTestSuite/resources/SVGFreeSans-ISO-8859-1.svg new file mode 100644 index 0000000000000000000000000000000000000000..a9234aa9adecfce483c95296a0e1abb35b71bd4e --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSans-ISO-8859-1.svg @@ -0,0 +1,1306 @@ + + + +Copyleft 2002, 2003 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + !"#$%&'()*+,-./0123456789:;<>? + @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ + `abcdefghijklmnopqrstuvwxyz|{}~ + ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ + ÀÃÂÃÄÅÆÇÈÉÊËÌÃÃŽÃÃÑÒÓÔÕÖרÙÚÛÜÃÞß + àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSans.svg b/Tests/W3CTestSuite/resources/SVGFreeSans.svg new file mode 100644 index 0000000000000000000000000000000000000000..1ce48de270db9d4dbbb441f3b5f3891cc8564496 --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSans.svg @@ -0,0 +1,569 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +  !"#$%&'()*+,-./0123456789:;<>? +@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ +`abcdefghijklmnopqrstuvwxyz|{}~ + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBold-Lat1.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBold-Lat1.svg new file mode 100644 index 0000000000000000000000000000000000000000..e34bc7d04a3cda9ec1577f4aa367cc8c72a81b75 --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSansBold-Lat1.svg @@ -0,0 +1,1787 @@ + + + +Created by FontForge 20100429 at Thu Jun 10 14:22:20 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBold.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBold.svg new file mode 100644 index 0000000000000000000000000000000000000000..8b35f5c88650921afc4f5ca46378c62991f95a27 --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSansBold.svg @@ -0,0 +1,1787 @@ + + + +Created by FontForge 20100429 at Thu Jun 10 14:22:20 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBoldItalic.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBoldItalic.svg new file mode 100644 index 0000000000000000000000000000000000000000..45e3c40f3ff68a54abc8e3ec1878611f329f05cb --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSansBoldItalic.svg @@ -0,0 +1,1807 @@ + + + +Created by FontForge 20100429 at Thu Jun 10 14:36:32 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansBoldOblique-Lat1.svg b/Tests/W3CTestSuite/resources/SVGFreeSansBoldOblique-Lat1.svg new file mode 100644 index 0000000000000000000000000000000000000000..4d611b452f5d3403d39b8c8caf15fedddb7e2ef5 --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSansBoldOblique-Lat1.svg @@ -0,0 +1,1807 @@ + + + +Created by FontForge 20100429 at Thu Jun 10 14:36:32 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansItalic.svg b/Tests/W3CTestSuite/resources/SVGFreeSansItalic.svg new file mode 100644 index 0000000000000000000000000000000000000000..80d54955d3d602a0e36da58b0fcfb3af391377c4 --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSansItalic.svg @@ -0,0 +1,1306 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/SVGFreeSansOblique-Lat1.svg b/Tests/W3CTestSuite/resources/SVGFreeSansOblique-Lat1.svg new file mode 100644 index 0000000000000000000000000000000000000000..1812555a9e584805379e81c889362165d9ae9ae1 --- /dev/null +++ b/Tests/W3CTestSuite/resources/SVGFreeSansOblique-Lat1.svg @@ -0,0 +1,1807 @@ + + + +Created by FontForge 20100429 at Thu Jun 10 14:29:55 2010 + By Chris Lilley,,, +Copyleft 2002, 2003, 2005, 2008, 2009 Free Software Foundation. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/ScheherazadeRegOT.ttf b/Tests/W3CTestSuite/resources/ScheherazadeRegOT.ttf new file mode 100644 index 0000000000000000000000000000000000000000..970f7f18e530306d88ed3febeb0c1efaa8525c89 Binary files /dev/null and b/Tests/W3CTestSuite/resources/ScheherazadeRegOT.ttf differ diff --git a/Tests/W3CTestSuite/resources/ZCB.svg b/Tests/W3CTestSuite/resources/ZCB.svg new file mode 100644 index 0000000000000000000000000000000000000000..67b0b7beea49bcb5183a3dba5eb53f2aeb72653c --- /dev/null +++ b/Tests/W3CTestSuite/resources/ZCB.svg @@ -0,0 +1,602 @@ + + + + +Created by FontForge 20100212 at Mon Apr 12 12:57:56 2010 + By Chris Lilley,,, +Copyright (c) Tim Ahrens, 2003. All rights reserved. +Converted to SVG and subsetted with permission. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/ZCL.svg b/Tests/W3CTestSuite/resources/ZCL.svg new file mode 100644 index 0000000000000000000000000000000000000000..1c8245d5425c9f44ba5b0980f5a71609053297a3 --- /dev/null +++ b/Tests/W3CTestSuite/resources/ZCL.svg @@ -0,0 +1,606 @@ + + + + +Created by FontForge 20100212 at Mon Apr 12 13:14:53 2010 + By Chris Lilley,,, +Copyright (c) Tim Ahrens, 2003. All rights reserved. +Converted to SVG and subsetted with permission. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/ZCR.svg b/Tests/W3CTestSuite/resources/ZCR.svg new file mode 100644 index 0000000000000000000000000000000000000000..0604ba290fd6df92a46a83199f2289c51d60089b --- /dev/null +++ b/Tests/W3CTestSuite/resources/ZCR.svg @@ -0,0 +1,605 @@ + + + + +Created by FontForge 20100212 at Mon Apr 12 13:07:10 2010 + By Chris Lilley,,, +Copyright (c) Tim Ahrens, 2003. All rights reserved. +Converted to SVG and subsetted with permission. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/ZCSB.svg b/Tests/W3CTestSuite/resources/ZCSB.svg new file mode 100644 index 0000000000000000000000000000000000000000..3470f2578b61afcb6022bede389d28d988a1665b --- /dev/null +++ b/Tests/W3CTestSuite/resources/ZCSB.svg @@ -0,0 +1,2111 @@ + + + + +Created by FontForge 20100429 at Wed Dec 8 16:10:27 2010 + By Cameron McCormack +Copyright (c) Tim Ahrens, 2003. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/ZCXB.svg b/Tests/W3CTestSuite/resources/ZCXB.svg new file mode 100644 index 0000000000000000000000000000000000000000..cb68058b40b1d0e185989f05e886dfafa51d8bdf --- /dev/null +++ b/Tests/W3CTestSuite/resources/ZCXB.svg @@ -0,0 +1,603 @@ + + + + +Created by FontForge 20100212 at Mon Apr 12 12:42:06 2010 + By Chris Lilley,,, +Copyright (c) Tim Ahrens, 2003. All rights reserved. +Converted to SVG and subsetted with permission. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/ZSSB.svg b/Tests/W3CTestSuite/resources/ZSSB.svg new file mode 100644 index 0000000000000000000000000000000000000000..03a51d7891e7ce91412bcfadf7e80108471bccf5 --- /dev/null +++ b/Tests/W3CTestSuite/resources/ZSSB.svg @@ -0,0 +1,603 @@ + + + + +Created by FontForge 20100212 at Mon Apr 12 12:51:22 2010 + By Chris Lilley,,, +Copyright (c) Tim Ahrens, 2003. All rights reserved. +Converted to SVG and subsetted with permission. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/resources/anglepoi.woff b/Tests/W3CTestSuite/resources/anglepoi.woff new file mode 100644 index 0000000000000000000000000000000000000000..07dd6d03ecc2cec1afc10caf20288a94411ad930 Binary files /dev/null and b/Tests/W3CTestSuite/resources/anglepoi.woff differ diff --git a/Tests/W3CTestSuite/resources/gnufreefonts.xml b/Tests/W3CTestSuite/resources/gnufreefonts.xml new file mode 100644 index 0000000000000000000000000000000000000000..04211f363c886615534c172851949c9ad9134579 --- /dev/null +++ b/Tests/W3CTestSuite/resources/gnufreefonts.xml @@ -0,0 +1,19 @@ + + + + + +Free UCS scalable fonts is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. + +The fonts are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +As a special exception, if you create a document which uses this font, and embed this font or unaltered portions of this font into the document, this font does not by itself cause the resulting document to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the document might be covered by the GNU General Public License. If you modify this font, you may extend this exception to your version of the font, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. + + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/resources/sch.xml b/Tests/W3CTestSuite/resources/sch.xml new file mode 100644 index 0000000000000000000000000000000000000000..dc2a83c5e20f01d9879d61a96d9c6efe382cd7bd --- /dev/null +++ b/Tests/W3CTestSuite/resources/sch.xml @@ -0,0 +1,19 @@ + + + + + Copyright (c) 2004-2007, SIL International ( http://www.sil.org/). + + + + This Font Software is licensed under the SIL Open Font License, Version 1.1, + with Reserved Font Names "Scheherazade" and "SIL". + This license is copied below, and is also available with a FAQ at: + http://scripts.sil.org/OFL + + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/resources/testharness.js b/Tests/W3CTestSuite/resources/testharness.js new file mode 100644 index 0000000000000000000000000000000000000000..92eda7bb79e9d64aa8644218fc9191f030f7848d --- /dev/null +++ b/Tests/W3CTestSuite/resources/testharness.js @@ -0,0 +1,963 @@ +/* +Distributed under both the W3C Test Suite License [1] and the W3C +3-clause BSD License [2]. To contribute to a W3C Test Suite, see the +policies and contribution forms [3]. + +[1] http://www.w3.org/Consortium/Legal/2008/04-testsuite-license +[2] http://www.w3.org/Consortium/Legal/2008/03-bsd-license +[3] http://www.w3.org/2004/10/27-testcases +*/ + +/* + * == Introducion == + * This file provides a framework for writing testcases. It is intended + * to provide a convenient API for making common assertions, and to work + * both for testing synchronous and asynchronous DOM features in a way that + * promotes clear, robust, tests. + * + * == Basic Usage == + * + * To use this file, import the script into the test document: + * + * + * Within each file one may define one or more tests. Each test is atomic + * in the sense that a single test has a single result (pass/fail/timeout). + * Within each test one may have a number of asserts. The test fails at the + * first failing assert, and the remainder of the test is (typically) not run + * + * If the file containing the tests is a HTML file with an element of id "log" + * this will be populated with a table containing the test results after all + * the tests have run. + * + * == Synchronous Tests == + * + * To create a sunchronous test use the test() function: + * + * test(test_function, name) + * + * test_function is a function that contains the code to test. For example a + * trivial passing test would be: + * + * test(function() {assert_true(true)}, "assert_true with true)" + * + * The function passed in is run in the test() call. + * + * == Asynchronous Tests == + * + * Testing asynchronous features is somewhat more complex since the result of + * a test may depend on one or more events or other callbacks. The API provided + * for testing these features is indended to be rather low-level but hopefully + * applicable to many situations. + * + * To create a test, one starts by getting a Test object using async_test: + * + * var t = async_test("Simple async test") + * + * Assertions can be added to the test by calling the step method of the test + * object with a function containing the test assertions: + * + * t.step(function() {assert_true(true)}); + * + * When all the steps are complete, the done() method must be called: + * + * t.done(); + * + * == Making assertions == + * + * Functions for making assertions start assert_ + * The best way to get a list is to look in this file for functions names + * matching that pattern. The general signature is + * + * assert_something(actual, expected, description) + * + * although not all assertions precisely match this pattern e.g. assert_true only + * takes actual and description as arguments. + * + * The description parameter is used to present more useful error messages when a + * test fails + */ + +(function () +{ + var debug = false; + // default timeout is 5 seconds, test can override if needed + var default_timeout = 5000; + + // tests either pass, fail or timeout + var status = + { + PASS: 0, + FAIL: 1, + TIMEOUT: 2 + }; + expose(status, 'status'); + + /* + * API functions + */ + + var name_counter = 0; + function next_default_name() + { + //Don't use document.title to work around an Opera bug in XHTML documents + var prefix = document.getElementsByTagName("title").length > 0 ? + document.getElementsByTagName("title")[0].firstChild.data : + "Untitled"; + var suffix = name_counter > 0 ? " " + name_counter : ""; + name_counter++; + return prefix + suffix; + } + + function test(func, name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + test_obj.step(func); + if (test_obj.status === null) { + test_obj.done(); + } + } + + function async_test(name, properties) + { + var test_name = name ? name : next_default_name(); + properties = properties ? properties : {}; + var test_obj = new Test(test_name, properties); + return test_obj; + } + + function on_event(object, event, callback) + { + object.addEventListener(event, callback, false); + } + + expose(test, 'test'); + expose(async_test, 'async_test'); + expose(on_event, 'on_event'); + + /* + * Assertions + */ + + function assert_true(actual, description) + { + var message = make_message("assert_true", description, + "expected true got ${actual}", {actual:actual}); + assert(actual === true, message); + }; + expose(assert_true, "assert_true"); + + function assert_false(actual, description) + { + var message = make_message("assert_false", description, + "expected false got ${actual}", {actual:actual}); + assert(actual === false, message); + }; + expose(assert_false, "assert_false"); + + function assert_equals(actual, expected, description) + { + /* + * Test if two primitives are equal or two objects + * are the same object + */ + var message = make_message("assert_equals", description, + [["{text}", "expected "], + ["span", {"class":"expected"}, String(expected)], + ["{text}", "got "], + ["span", {"class":"actual"}, String(actual)]]); + if (expected !== expected) + { + //NaN case + assert(actual !== actual, message); + } + else + { + //typical case + assert(actual === expected, message); + } + }; + expose(assert_equals, "assert_equals"); + + function assert_object_equals(actual, expected, description) + { + //This needs to be improved a great deal + function check_equal(expected, actual, stack) + { + stack.push(actual); + + for (p in actual) + { + var message = make_message( + "assert_object_equals", description, + "unexpected property ${p}", {p:p}); + + assert(expected.hasOwnProperty(p), message); + + if (typeof actual[p] === "object" && actual[p] !== null) + { + if (stack.indexOf(actual[p]) === -1) + { + check_equal(actual[p], expected[p], stack); + } + } + else + { + message = make_message( + "assert_object_equals", description, + "property ${p} expected ${expected} got ${actual}", + {p:p, expected:expected, actual:actual}); + + assert(actual[p] === expected[p], message); + } + } + for (p in expected) + { + var message = make_message( + "assert_object_equals", description, + "expected property ${p} missing", {p:p}); + + assert(actual.hasOwnProperty(p), message); + } + stack.pop(); + } + check_equal(actual, expected, []); + }; + expose(assert_object_equals, "assert_object_equals"); + + function assert_array_equals(actual, expected, description) + { + var message = make_message( + "assert_array_equals", description, + "lengths differ, expected ${expected} got ${actual}", + {expected:expected.length, actual:actual.length}); + + assert(actual.length === expected.length, message); + + for (var i=0; i < actual.length; i++) + { + message = make_message( + "assert_array_equals", description, + "property ${i}, property expected to be $expected but was $actual", + {i:i, expected:expected.hasOwnProperty(i) ? "present" : "missing", + actual:actual.hasOwnProperty(i) ? "present" : "missing"}); + assert(actual.hasOwnProperty(i) === expected.hasOwnProperty(i), message); + message = make_message( + "assert_array_equals", description, + "property ${i}, expected ${expected} but got ${actual}", + {i:i, expected:expected[i], actual:actual[i]}); + assert(expected[i] === actual[i], message); + } + } + expose(assert_array_equals, "assert_array_equals"); + + function assert_exists(object, property_name, description) + { + var message = make_message( + "assert_exists", description, + "expected property ${p} missing", {p:property_name}); + + assert(object.hasOwnProperty(property_name), message); + }; + expose(assert_exists, "assert_exists"); + + function assert_not_exists(object, property_name, description) + { + var message = make_message( + "assert_not_exists", description, + "unexpected property ${p} found", {p:property_name}); + + assert(!object.hasOwnProperty(property_name), message); + }; + expose(assert_not_exists, "assert_not_exists"); + + function assert_readonly(object, property_name, description) + { + var initial_value = object[property_name]; + try { + var message = make_message( + "assert_readonly", description, + "deleting property ${p} succeeded", {p:property_name}); + assert(delete object[property_name] === false, message); + assert(object[property_name] === initial_value, message); + //Note that this can have side effects in the case where + //the property has PutForwards + object[property_name] = initial_value + "a"; //XXX use some other value here? + message = make_message("assert_readonly", description, + "changing property ${p} succeeded", + {p:property_name}); + assert(object[property_name] === initial_value, message); + } + finally + { + object[property_name] = initial_value; + } + }; + expose(assert_readonly, "assert_readonly"); + + function assert_throws(code_or_object, func, description) + { + try + { + func.call(this); + assert(false, make_message("assert_throws", description, + "${func} did not throw", {func:String(func)})); + } + catch(e) + { + if (e instanceof AssertionError) { + throw(e); + } + if (typeof code_or_object === "string") + { + assert(e[code_or_object] !== undefined && + e.code === e[code_or_object] && + e.name === code_or_object, + make_message("assert_throws", description, + [["{text}", "${func} threw with"] , + function() + { + var actual_name; + for (var p in DOMException) + { + if (e.code === DOMException[p]) + { + actual_name = p; + break; + } + } + if (actual_name) + { + return ["{text}", " code " + actual_name + " (${actual_number})"]; + } + else + { + return ["{text}", " error number ${actual_number}"]; + } + }, + ["{text}"," expected ${expected}"], + function() + { + return e[code_or_object] ? + ["{text}", " (${expected_number})"] : null; + } + ], + {func:String(func), actual_number:e.code, + expected:String(code_or_object), + expected_number:e[code_or_object]})); + assert(e instanceof DOMException, + make_message("assert_throws", description, + "thrown exception ${exception} was not a DOMException", + {exception:String(e)})); + } + else + { + assert(e instanceof Object && "name" in e && e.name == code_or_object.name, + make_message("assert_throws", description, + "${func} threw ${actual} (${actual_name}) expected ${expected} (${expected_name})", + {func:String(func), actual:String(e), actual_name:e.name, + expected:String(code_or_object), + expected_name:code_or_object.name})); + } + } + } + expose(assert_throws, "assert_throws"); + + function assert_unreached(description) { + var message = make_message("assert_unreached", description, + "Reached unreachable code"); + + assert(false, message); + } + expose(assert_unreached, "assert_unreached"); + + function Test(name, properties) + { + this.name = name; + this.status = null; + var timeout = default_timeout; + this.is_done = false; + + if (properties.timeout) + { + timeout = properties.timeout; + } + + this.message = null; + + var this_obj = this; + this.steps = []; + this.timeout_id = setTimeout(function() { this_obj.timeout(); }, timeout); + + tests.push(this); + } + + Test.prototype.step = function(func, this_obj) + { + //In case the test has already failed + if (this.status !== null) + { + return; + } + + this.steps.push(func); + + try + { + func.apply(this_obj); + } + catch(e) + { + //This can happen if something called synchronously invoked another + //step + if (this.status !== null) + { + return; + } + this.status = status.FAIL; + this.message = e.message; + this.done(); + if (debug) { + throw e; + } + } + }; + + Test.prototype.timeout = function() + { + this.status = status.TIMEOUT; + this.timeout_id = null; + this.message = "Test timed out"; + this.done(); + }; + + Test.prototype.done = function() + { + if (this.is_done) { + //Using alert here is bad + return; + } + clearTimeout(this.timeout_id); + if (this.status == null) + { + this.status = status.PASS; + } + this.is_done = true; + tests.done(this); + }; + + + /* + * Harness + */ + var tests = new Tests(); + + function Tests() + { + this.tests = []; + this.num_pending = 0; + this.started = false; + + this.start_callbacks = []; + this.test_done_callbacks = []; + this.all_done_callbacks = []; + + var this_obj = this; + + //All tests can't be done until the load event fires + this.all_loaded = false; + + on_event(window, "load", + function() + { + this_obj.all_loaded = true; + if (document.getElementById("log")) + { + add_completion_callback(output_results); + } + if (this_obj.all_done()) + { + this_obj.notify_results(); + } + }); + } + + Tests.prototype.push = function(test) + { + if (!this.started) { + this.start(); + } + this.num_pending++; + this.tests.push(test); + }; + + Tests.prototype.all_done = function() { + return this.all_loaded && this.num_pending == 0; + }; + + Tests.prototype.done = function(test) + { + this.num_pending--; + var this_obj = this; + forEach(this.test_done_callbacks, + function(callback) + { + callback(test, this_obj); + }); + + if(top !== window && top.result_callback) + { + top.result_callback.call(test, this_obj); + } + + if (this.all_done()) + { + this.notify_results(); + } + + }; + + Tests.prototype.start = function() { + this.started = true; + var this_obj = this; + forEach (this.start_callbacks, + function(callback) + { + callback(this_obj); + }); + if(top !== window && top.start_callback) + { + top.start_callback.call(this_obj); + } + }; + + Tests.prototype.notify_results = function() + { + var this_obj = this; + + forEach (this.all_done_callbacks, + function(callback) + { + callback(this_obj.tests); + }); + if(top !== window && top.completion_callback) + { + top.completion_callback.call(this_obj, this_obj.tests); + } + }; + + function add_start_callback(callback) { + tests.start_callbacks.push(callback); + } + + function add_result_callback(callback) + { + tests.test_done_callbacks.push(callback); + } + + function add_completion_callback(callback) + { + tests.all_done_callbacks.push(callback); + } + + expose(add_start_callback, 'add_start_callback'); + expose(add_result_callback, 'add_result_callback'); + expose(add_completion_callback, 'add_completion_callback'); + + /* + * Output listener + */ + + (function show_status() { + var done_count = 0; + function on_done(test, tests) { + var log = document.getElementById("log"); + done_count++; + if (log) + { + if (log.lastChild) { + log.removeChild(log.lastChild); + } + var nodes = render([["{text}", "Running, ${done} complete"], + function() { + if (tests.all_done) { + return ["{text}", " ${pending} remain"]; + } else { + return null; + } + } + ], {done:done_count, + pending:tests.num_pending}); + forEach(nodes, function(node) { + log.appendChild(node); + }); + log.normalize(); + } + } + if (document.getElementById("log")) + { + add_result_callback(on_done); + } + })(); + + function output_results(tests) + { + var log = document.getElementById("log"); + while (log.lastChild) { + log.removeChild(log.lastChild); + } + var prefix = null; + var scripts = document.getElementsByTagName("script"); + for (var i=0; i + + + + + + + digital-camera + + + + digital + + 11 + hardware + photo + digicam + computer + camera + + + + + AJ Ashton + + + + + AJ Ashton + + + + + AJ Ashton + + + + image/svg+xml + + + en + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/__issue-34-02.svg b/Tests/W3CTestSuite/svg/__issue-34-02.svg new file mode 100644 index 0000000000000000000000000000000000000000..feb8117e282a5ab3547dfa552ee7868d84739613 --- /dev/null +++ b/Tests/W3CTestSuite/svg/__issue-34-02.svg @@ -0,0 +1,25 @@ +SpacingPackageDeclarationImportDeclarationTypeDeclarationEOT \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/__issue-83-01.svg b/Tests/W3CTestSuite/svg/__issue-83-01.svg new file mode 100644 index 0000000000000000000000000000000000000000..680010d5deafa1edd57fc23d9165634d9f3199be --- /dev/null +++ b/Tests/W3CTestSuite/svg/__issue-83-01.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + OPEN + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/__tiger.svg b/Tests/W3CTestSuite/svg/__tiger.svg new file mode 100644 index 0000000000000000000000000000000000000000..bf1b4cc7fb7d2bcf5828b9f53e0d9a1bd87ceb24 --- /dev/null +++ b/Tests/W3CTestSuite/svg/__tiger.svg @@ -0,0 +1,1978 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-dom-01-f.svg b/Tests/W3CTestSuite/svg/animate-dom-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..663a07faff965a282561d209d6152779d1db2bc5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-dom-01-f.svg @@ -0,0 +1,190 @@ + + + + + + + + + + +

+ This tests the return value required for the + SVGAnimationElement.getStartTime() method, as described in + section 19.5 DOM Interfaces. +

+ + +

+ After the loading the document, some animations that have no + visible effect will run. The text "Test running..." will + appear in the bottom right corner until the test has + completed. (This takes 2.5s.) +

+
+ +

+ The test is passed if all seven rectangles are green once the animations + have stopped running (i.e., 2.5s after the document has loaded.) +

+
+ + $RCSfile: animate-dom-01-f.svg,v $ + + + + + + + + + + Testing SVGAnimationElement.getStartTime() + + Test running... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Called before a lone interval starts + Called on an animation with no intervals + Called during an interval + Called after a lone interval ends, fill="remove" + Called after a lone interval ends, fill="freeze" + Called with multiple begin values + Called with multiple begin values including "indefinite" + Called with syncbase begin value + + + + + $Revision: 1.11 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-dom-02-f.svg b/Tests/W3CTestSuite/svg/animate-dom-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c9bf32719977e49e9967ada0ea2cc6929773ed78 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-dom-02-f.svg @@ -0,0 +1,83 @@ + + + + + + + + + + +

+ This tests that the methods on the ElementTimeControl + interface return the undefined value, since the IDL + operations are declared to return void. +

+

+ After the loading the document, a rectangle is shown + indicating whether all four methods from the ElementTimeControl + interface returned undefined when invoked. The rectangle + is black if the test did not run, red if the test failed + and green if the test succeeded. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the rectangle is green. +

+
+ + $RCSfile: animate-dom-02-f.svg,v $ + + + + + + + + + + Testing ElementTimeControl method return values + + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-02-t.svg b/Tests/W3CTestSuite/svg/animate-elem-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0dc00457011a01be6acd06a21de04031e713b5c0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-02-t.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + +

+ Test 'additive' and 'accumulate' attributes. +

+

+ The four pictures show the effect with the four possible combinations of + 'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum'). + Because two animations are animating the height, the effects of 'additive' and + 'accumulate' are sometimes different than when there is only a single animation. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test has passed if the four green rectangles each animate their height according to the following:

+

The leftmost rect:

+
    +
  • when the animation starts the height of the green rect should make it align with the bottommost red indicator line
  • +
  • after two seconds the height should jump to be 10% of the height of the gray rect it overlaps
  • +
  • after four seconds the height should jump to make the green rect align with the bottommost red indicator line
  • +
  • after six seconds the height should jump to its final position, 10% of the height of the gray rect
  • +
+

The next to leftmost rect:

+
    +
  • when the animation starts the height of the green rect should be 110% of the height of the gray rect
  • +
  • after two seconds the height should jump to be 20% of the height of the gray rect
  • +
  • after four seconds the height should jump to be 110% of the height of the gray rect
  • +
  • after six seconds the height should jump to its final position, 20% of the height of the gray rect
  • +
+

The next to rightmost rect:

+
    +
  • when the animation starts the height of the green rect should make it align with the bottommost red indicator line
  • +
  • after two seconds the height should jump to be 10% of the height of the gray rect
  • +
  • after four seconds the height should jump to be 110% of the height of the gray rect
  • +
  • after six seconds the height should jump to its final position, 20% of the height of the gray rect
  • +
+

The rightmost rect:

+
    +
  • when the animation starts the height of the green rect should be 110% of the height of the gray rect
  • +
  • after two seconds the height should jump to be 20% of the height of the gray rect
  • +
  • after four seconds the height should jump to be 120% of the height of the gray rect
  • +
  • after six seconds the height should jump to its final position, 30% of the height of the gray rect
  • +
+
+ + $RCSfile: animate-elem-02-t.svg,v $ + + + + + + + + + + + + + + + + + anim.5 + + + + + + + + + anim.6 + + + + + + + + + anim.7 + + + + + + + + + anim.8 + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-03-t.svg b/Tests/W3CTestSuite/svg/animate-elem-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..2c28362de9b3c88f7b1009bd00fec57aaecbeb5d --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-03-t.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + +

+ Test inheritance of animated properties. +

+

+ Three colored text strings appear. All three are inside of the same + 'g' element. The 'g' element has its 'font-size' animated from 30 to + 40, and its 'fill' from #00f (blue) to #070 (green). +

+

+ The first colored 'text' element has the font-size set, so the + animation of the parent 'g' only affects the fill color. The second + has the fill set and font-size set, so no inherited values are + used. The font-size and fill color stay constant. The third colored + 'text' element has neither of these properties specified and thus + inherits both animated values - the fill color changes and the text + grows in size. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • the topmost line shows the text "Sample 123" that animates its fill-color smoothly from blue to green over the course of six seconds
  • +
  • the middle line shows the text "Sample 123" in a larger font-size than the first line, in blue fill-color that doesn't animate
  • +
  • the bottommost line shows the text "Sample 123" in the same font-size as the topmost line, then smoothly animating the font-size + to be larger than the middle line over the course of six seconds. At the same time the fill-color is smoothly animated from blue to green
  • +
  • after six seconds the rendered result matches the reference image
  • +
+
+ + $RCSfile: animate-elem-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + Sample 123 + Sample 123 + Sample 123 + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-04-t.svg b/Tests/W3CTestSuite/svg/animate-elem-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..343642a1eade233aa6bed1ab2c87d8ce320a4842 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-04-t.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Test different ways of defining a motion path. +

+

+ An animation moves a triangle along a path. Reference rectangles, lines and text + are provided to help show what the correct behavior is. +

+

+ This animation uses the 'from' and 'to' attributes to define the motion path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if a triangle is animated smoothly along the path indicated by the black line, starting at the leftmost pink rectangle and stopping after 3 seconds on top of the rightmost pink rectangle. +

+
+ + $RCSfile: animate-elem-04-t.svg,v $ + + + + + + + + + + Test a motion path + 'from'/'to' attribute. + + + 0 sec. + + 3+ sec. + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-05-t.svg b/Tests/W3CTestSuite/svg/animate-elem-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..3e1be14f32f2130ba729f310da5d3d68ee184800 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-05-t.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + +

+ Test different ways of defining a motion path. +

+

+ An animation moves a triangle along a path. Reference rectangles, lines and text + are provided to help show what the correct behavior is. +

+

+ This animation uses the 'values' attribute to define the motion path, with a linear calcMode. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if a triangle is animated smoothly along the path indicated by the black line, and + it passes over the pink rectangles at the indicated times. + When the animation starts the triangle should be positioned on top of the leftmost pink rectangle, after + 3 seconds it should reach the middle pink rectangle, and after 6 seconds it should be positioned on top + of the rightmost pink rectangle where it should stop. +

+
+ + $RCSfile: animate-elem-05-t.svg,v $ + + + + + + + + + + Test a motion path + 'values' attribute. + + + 0 sec. + + 3+ + + 6+ + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-06-t.svg b/Tests/W3CTestSuite/svg/animate-elem-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c95dc1f20e2da139dfcbdaadec5c59390dc5757c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-06-t.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Test different ways of defining a motion path. +

+

+ An animation moves a triangle along a path. Reference rectangles, lines and text + are provided to help show what the correct behavior is. +

+

+ This animation uses the 'path' attribute to define the motion path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the triangle is animated along the black curve over the course of 6 seconds. +

+
+ + $RCSfile: animate-elem-06-t.svg,v $ + + + + + + + + + + Test a motion path + 'path' attribute. + + + 0 sec. + + 6+ sec. + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-07-t.svg b/Tests/W3CTestSuite/svg/animate-elem-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b59f8fda81d6d36630b3fc8031dd652ae85c2545 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-07-t.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + +

+ Test different ways of defining a motion path. +

+

+ An animation moves a triangle along a path. Reference rectangles, lines and text + are provided to help show what the correct behavior is. +

+

+ This animation uses the 'mpath' sub-element to define the motion path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the triangle is animated along the black curve over the course of 6 seconds. +

+
+ + $RCSfile: animate-elem-07-t.svg,v $ + + + + + + + + + + Test a motion path + 'mpath' element. + + + 0 sec. + + 6+ sec. + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-08-t.svg b/Tests/W3CTestSuite/svg/animate-elem-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..1b28fcbb528423f1507ea5fd75a28184bf61f9d0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-08-t.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Test rotate='auto' and rotate='auto-reverse'. +

+

+ Two animations have been defined that move a triangle along a path. The first animation specifies rotate='auto', which causes + the object to be rotated along the curve of the path. The second animation specifies rotate='auto-reverse', which causes the + object to be flipped and then rotated along the curve of the path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • each of the triangles are animated along the respective black curves over the course of 6 seconds
  • +
  • the leftmost triangle points upwards and the rightmost triangle points downwards
  • +
  • the triangles are rotated during the animation so that they are always perpendicular to the tangential vector at the current position on the respective curve
  • +
+
+ + $RCSfile: animate-elem-08-t.svg,v $ + + + + + + + + + Test rotate='auto' and rotate='auto-reverse' + + + + 0 sec. + + 6+ sec. + + + + rotate='auto' + + + 0 sec. + + 6+ sec. + + + + rotate='auto-reverse' + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-09-t.svg b/Tests/W3CTestSuite/svg/animate-elem-09-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..20f86c906cbcd21e8ca5c0451f6cf831f1adf6e6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-09-t.svg @@ -0,0 +1,97 @@ + + + + + + + + + + + + +

+ Test possible values for 'calcMode="discrete"'. +

+

+ Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is. + The black text and ruler lines help show the sizes and movement of the rectangles over time. +

+

+ The discrete animations should show stair-stepping animations, with quantum-level jumps every two seconds in these tests. The linear + animations change constantly with each keyframe to keyframe section, with the result that the change is faster when there is a larger + change within a given amount of time. The paced animations change constantly over the entire animation, regardless of the values at + particular keyframes. For calcMode='spline' in this test case, the initial rate of change is defined to be the same as linear, but the + last jump has an ease-in/ease-out effect where the change is slower at the start and end but faster in the middle. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position + indicated by the ruler lines at the particular time noted next to each ruler line. +

+
+ + $RCSfile: animate-elem-09-t.svg,v $ + + + + + + + + + + + 0-2 sec. + 2-4 sec. + 4-6 sec. + 6+ sec. + + + + + + + + + + + + + 0-2 sec. + 2-4 sec. + 4-6 sec. + 6+ sec. + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-10-t.svg b/Tests/W3CTestSuite/svg/animate-elem-10-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..23b1502ea72ea7a067bdc263ff344bfd783fb646 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-10-t.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +

+ Test possible values for 'calcMode="linear"'. +

+

+ Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is. + The black text and ruler lines help show the sizes and movement of the rectangles over time. +

+

+ The linear animations change constantly with each keyframe to keyframe section, with the result that the change is faster when there is a larger + change within a given amount of time. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position + indicated by the ruler lines at the particular time noted next to each ruler line. Between two noted times the + bottom part of each rect must be between the two corresponding ruler lines. +

+
+ + $RCSfile: animate-elem-10-t.svg,v $ + + + + + + + + + + + at 0 sec. + at 3 sec. + at 6 sec. + 9+ sec. + + + + + + + + + + + + + + at 0 sec. + at 3 sec. + at 6 sec. + 9+ sec. + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-11-t.svg b/Tests/W3CTestSuite/svg/animate-elem-11-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..001fb7d32acce6e9ba2af06a866a6ebc940b8c37 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-11-t.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ Test possible values for 'calcMode="paced"'. +

+

+ Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is. + The black text and ruler lines help show the sizes and movement of the rectangles over time. +

+

+ The paced animations change constantly over the entire animation, regardless of the values at + particular keyframes. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position indicated by the ruler lines at the particular time noted next to each ruler line. Between two noted times the bottom part of each rect must be between the two corresponding ruler lines. +

+
+ + $RCSfile: animate-elem-11-t.svg,v $ + + + + + + + + + + + at 0 sec. + at 3 sec. + at 6 sec. + 9+ sec. + + + + + + + + + + + + + at 0 sec. + at 3 sec. + at 6 sec. + 9+ sec. + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-12-t.svg b/Tests/W3CTestSuite/svg/animate-elem-12-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ff0cc495a504b1ab530659712a85b593c7859e3c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-12-t.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ Test possible values for 'calcMode="spline"'. +

+

+ Two animations have been defined. For each animation, ruler lines and text are provided to help show what the correct behavior is. + The black text and ruler lines help show the sizes and movement of the rectangles over time. +

+

+ For calcMode='spline' in this test case, the initial rate of change is defined to be the same as linear, but the + last jump has an ease-in/ease-out effect where the change is slower at the start and end but faster in the middle. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the two orange rects are animated so that the bottom part of each rectangle is at the position indicated by the ruler lines at the particular time noted next to each ruler line. Between two noted times the bottom part of each rect must be between the two corresponding ruler lines. The bottom of the left rectangles and the right rectangle must always be the same throughout the animation. +

+
+ + $RCSfile: animate-elem-12-t.svg,v $ + + + + + + + + + + + at 0 sec. + at 3 sec. + at 6 sec. + 9+ sec. + + + + + + + + + + + + + at 0 sec. + at 3 sec. + at 6 sec. + 9+ sec. + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-13-t.svg b/Tests/W3CTestSuite/svg/animate-elem-13-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..52c4b6fa2aeed827da379696160fa875b8c9653b --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-13-t.svg @@ -0,0 +1,105 @@ + + + + + + + + + + + + +

+ Test 'from', 'by', 'to' and 'values'. +

+

+ Six animations have been defined. All six animations define the same simultaneous behavior, but use different combinations of + attributes 'from', 'by', 'to' and 'values'. In all cases, from time 2 seconds to time 5 seconds, the rectangle should change + from a width of 30 to a width of 300. +

+

+ The text on each line shows the attributes that were used for that particular animation. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The six orange rectangles should simultaneously animate their widths so that their right edges line up with the ruler lines at the indicated time. + From time 0 - 2 seconds all rectangles should have their right edges lined up with the leftmost ruler line, and at time 2 seconds the animation should + start, changing the widths of all the rectangles from 30 to 300. At time 5 seconds the animation should stop and the rectangles should all line up with + the rightmost ruler line. +

+
+ + $RCSfile: animate-elem-13-t.svg,v $ + + + + + + + + + + + + 0-2 sec. + 5+ sec. + + + + + from to + + + + + + from by + + + + + + by + + + + + + to + + + + + + values + + + + + + values + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-14-t.svg b/Tests/W3CTestSuite/svg/animate-elem-14-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b85b279a52a4b4c1ee535c0fbf62aacfdfd2904b --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-14-t.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ Test 'calcMode'=discrete. +

+

+ One animation has been defined to animate the height of a rectangle. Ruler lines and text are provided + to help show what the correct behavior is. The headline text shows the values for the 'calcMode' and 'keyTimes' attributes. The + black text and ruler lines help show the size and movement of the rectangle over time. +

+

+ This test shows an animation with calcMode="discrete" (i.e., a jumping animation). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The right edge of the blue rectangle should line up with the ruler lines at the indicated times, and should jump directly to each position with no animation in between. +

+
+ + $RCSfile: animate-elem-14-t.svg,v $ + + + + + + + + + calcMode="discrete" + keyTimes="0;.2;.4;.6" + + + Time (s): + 0 + + 2 + + 4 + + 6 + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-15-t.svg b/Tests/W3CTestSuite/svg/animate-elem-15-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..4ef4a7a96253669302b2e382a6e506b6c1dba8fa --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-15-t.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

+ Test 'calcMode'=paced. +

+

+ One animation has been defined to animate the width of a rectangle. Ruler lines and text are provided + to help show what the correct behavior is. The headline text shows the values for the 'calcMode' and 'keyTimes' attributes. The + black text and ruler lines help show the size and movement of the rectangle over time. +

+

+ This test shows calcMode="paced" for an animation that has constant velocity, thus showing how 'values' + and 'keyTimes' are ignored. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The blue rectangle should animate its width at a constant speed so that the right edge of the rectangle lines up with the ruler line at the indicated times. +

+
+ + $RCSfile: animate-elem-15-t.svg,v $ + + + + + + + + + calcMode="paced" + keyTimes="0;.25;.5;1" + + + Time (s): + 0 + + 1.5 + + 4 + + 9 + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-17-t.svg b/Tests/W3CTestSuite/svg/animate-elem-17-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c9936b08061fcddf4c6ec9750ae574f68089eb7a --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-17-t.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

+ Test 'calcMode'=spline. +

+

+ One animation has been defined to animate the height of a rectangle. Ruler lines and text are provided + to help show what the correct behavior is. The red text shows the values for the 'calcMode' and 'keyTimes' attributes. The + black text and ruler lines help show the size and movement of the rectangle over time. +

+

+ This animation shows calcMode="spline". Between time 4 seconds and 8 seconds, the animation displays an ease-in/ease-out approach + instead of a constant linear approach which would have been the case if calcMode had been linear instead. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The blue rectangle should animate its width so that the right edge of the rectangle lines up with the ruler line at the indicated times. Between 4 and 8 seconds the animation should show an ease-in/ease-out motion (i.e. a gradual change in speed). +

+
+ + $RCSfile: animate-elem-17-t.svg,v $ + + + + + + + + + calcMode="spline" + keyTimes="0;.25;.5;1" + + + Time (s): + 0 + + 2 + + 4 + + 8 + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-19-t.svg b/Tests/W3CTestSuite/svg/animate-elem-19-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e379e92d0366d3bafa0aeb517834c762a3f5eaea --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-19-t.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ Test 'calcMode'=linear. +

+

+ One animation has been defined to animate the width of a rectangle. Ruler lines and text are provided + to help show what the correct behavior is. The red text shows the values for the 'calcMode' and 'keyTimes' attributes. The + black text and ruler lines help show the size and movement of the rectangle over time. +

+

+ This test shows an animation with calcMode="linear". +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The blue rectangle should animate its width so that the right edge of the rectangle lines up with the ruler line at the indicated times. The rate of change will increase after each ruler line is passed. +

+
+ + $RCSfile: animate-elem-19-t.svg,v $ + + + + + + + + + calcMode="linear" + keyTimes="0;.5;.75;1" + + + Time (s): + 0 + + 4 + + 6 + + 8 + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-20-t.svg b/Tests/W3CTestSuite/svg/animate-elem-20-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0301032fbccd9f7d18aea73a3630a502d7801ebb --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-20-t.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ Test hyperlinking rules as they relate to resolved start times. +

+ + +

+ Click "fade in", wait 3 seconds. Click "fade out", wait 3 seconds. Click "fade in" again, wait 6 seconds. +

+
+ +

The test is passed if:

+
    +
  • The first time "fade in" is clicked, a blue rectangle should smoothly fade from white to blue over the course of three seconds.
  • +
  • When "fade out" is clicked, the blue rectangle should smoothly fade from blue to white over the course of three seconds.
  • +
  • When "fade in" is clicked the second time, the blue rectangle should smoothly fade from white to blue over the course of three seconds, and then directly fade out from blue to white over the course of three seconds.
  • +
  • The rendered picture matches the reference image, (except + for possible variations in the labeling text (per CSS2 rules)) + after activating the link on the fade-in button the first time + and waiting three seconds for the animation to complete. The picture + should remain looking the same way indefinitely, until another + link is activated.
  • +
+
+ + $RCSfile: animate-elem-20-t.svg,v $ + + + + + + + + + + + + + + + + + Fade in + + + + Fade out + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-21-t.svg b/Tests/W3CTestSuite/svg/animate-elem-21-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f68aed08d3790e841da7bd7d99d530e29a3b9d26 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-21-t.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + +

+ Test for chained animations. +

+

+ The assumption is that you will first click on "fade in" and + then click on "fade out", each exactly once. The first time you + select the link 'fade in', you should see a blue square appearing, + gradually and smoothly fading from white to blue over the + course of three seconds. This square is in front of and thus + obscures the lower left circle, but is behind the upper right + circle. The fill color of these circles is also animated, from white to + grey. The animations are triggered by the start of the corresponding + animation of the blue square. +

+

+ With the second click on "fade in", however, the behavior might + be different. In the case of having a first click on "fade in", + waiting three seconds, and then immediately perform a first click + on "fade out", waiting three seconds, and then immediately perform + a second click on "fade in", you should see the following. After + the first click on "fade in", the blue square goes from white to blue. + After the first click on "fade out", the blue square goes + from blue to white. After the second click on "fade in", + however, the blue square goes from white to blue, and then + goes back from blue to white. This is because of the + hyperlinking rules as they relate to resolved start times in the + SMIL Animation specification. +

+ + +

+ Click "fade in", wait 3 seconds. Click "fade out", wait 3 seconds. Click "fade in" again, wait 6 seconds. +

+
+ +

The test is passed if:

+
    +
  • The first time "fade in" is clicked, a blue rectangle should smoothly fade from white to blue, and two circles should fade from white to gray, all over the course of three seconds
  • +
  • When "fade out" is clicked, the blue rectangle should smoothly fade from blue to white, and the two circles should fade from gray to white, all over the course of three seconds.
  • +
  • When "fade in" is clicked the second time, it should behave as the first time "fade in" was clicked but immediately followed by the "fade out" behaviour described above, so that the shapes all fade in over the course of three seconds, and then out again over the course of three seconds.
  • +
  • The rendered picture matches the reference image, (except + for possible variations in the labeling text (per CSS2 rules)) + after activating the link on the fade-in button the first time + and waiting three seconds for the animation to compete. The picture + should remain looking the same way indefinitely, until another + link is activated.
  • +
+
+ + $RCSfile: animate-elem-21-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + Fade in + + + + Fade out + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-22-b.svg b/Tests/W3CTestSuite/svg/animate-elem-22-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..4935e923ff3fc80a6ccdd912687cf398f858538c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-22-b.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ Test which verifies that the basic facilities of declarative + animation are working. +

+

+ This test uses the following element : 'animate' +

+

+ The test is a nine second animation with no repeats. It shows + a rectangle growing from small (37.5% width, 33.3% height) to + big (100% width, 100% height) +

+

+ The file includes various guides that can be used to verify the + correctness of the animation. Outlines exist for the rectangle + size and location at times 0s, 3s and 9s. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test is passed if:

+
    +
  • At the start of the animation the innermost rectangle is filled by a yellow semitransparent color
  • +
  • Over the course of three seconds the yellow rect smoothly animates its width and height so that at time t=3s fully fills the middle rectangle
  • +
  • The animation then continues in the same fashion and at time t=9s fully fills the largest rectangle with blue stroke
  • +
+
+ + $RCSfile: animate-elem-22-b.svg,v $ + + + + + + + + + + + Yellow rect at time 0s + + Yellow rect at time 3s + + Yellow rect at time 9s + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-23-t.svg b/Tests/W3CTestSuite/svg/animate-elem-23-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..84e8c59c73064f45f4bcd08c775cfcf77f113457 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-23-t.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ Test which verifies that the basic facilities of declarative + animation are working. +

+

+ This test uses the following elements : 'set', + and 'animateColor'. +

+

+ The test is a nine second animation with no repeats. It shows a circle + changing color from 3s to 9s. +

+

+ The file includes various guides that can be used to verify the + correctness of the animation. + Boxes on the left show the correct circle color values at times + 3s, 6s and 9s. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • From time t=0 seconds to t=3 seconds the large rectangle is filled with black
  • +
  • At t=3 seconds a blue circle appears inside the black rectangle
  • +
  • Between time t=3 seconds and t=6 seconds the fill of the circle is animated between blue and bluegreen
  • +
  • Between time t=6 seconds and t=9 seconds the fill of the circle is animated between bluegreen and green
  • +
+
+ + $RCSfile: animate-elem-23-t.svg,v $ + + + + + + + + + + + Color at 3s + + + Color at 6s + + + Color at 9s + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-24-t.svg b/Tests/W3CTestSuite/svg/animate-elem-24-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..2ea2a3408ffab895207182e0e90e4b4da231f2fb --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-24-t.svg @@ -0,0 +1,129 @@ + + + + + + + + + + + + +

+ Test which verifies that the basic facilities of declarative + animation are working. +

+

+ This test uses the following elements : 'animateMotion' and + 'animateTransform' +

+

+ The test is a nine second animation with no repeats. It shows + the text string "It's alive" moving, rotating and growing from + time 3s to 9s. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The file includes various guides that can be used to verify the + correctness of the animation. Pale blue guides exist for + the text size, location and orientation at times 3s, 6s and 9s. +

+

+ The test is passed if the animated text covers the pale blue guides at + the indicated times on the test. +

+
+ + $RCSfile: animate-elem-24-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text from 0s to 3s + Text at 6s + Text at 9s + + + + It's alive! + It's alive! + It's alive! + + + + + + It's alive! + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-25-t.svg b/Tests/W3CTestSuite/svg/animate-elem-25-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..8d2e0b626fd50aa6e9caad77f8fdfdd47da696b6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-25-t.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + +

+ Test animation options for specifying the target attribute/property. +

+

+ The left-hand rectangle animates an XML attribute without + specifying a value for 'attributeType'. The right-hand rectangle + animates an XML attribute and does set 'attributeType' to 'XML'. +

+

+ The left rectangle animates its height from 100 to 50, + starting at time 3 seconds and ending at 6 seconds. + The right rectangle animates its height from 100 to 50, + starting at time 6 seconds and ending at 9 seconds. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • the left yellow rectangle animates its height from 100 to 50, + starting at time 3 seconds and ending at 6 seconds, as indicated + by the green ruler lines.
  • +
  • the right yellow rectangle animates its height from 100 to 50, + starting at time 6 seconds and ending at 9 seconds, as indicated + by the green ruler lines. +
  • +
+
+ + $RCSfile: animate-elem-25-t.svg,v $ + + + + + + + + + Test animation options for specifying the target attribute/property. + + 0-3 sec. + + at 6 sec. + + + + + 0-6 sec. + + at 9 sec. + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-26-t.svg b/Tests/W3CTestSuite/svg/animate-elem-26-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0365cbfc18ed61c8d763a1b875245c2b813b7488 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-26-t.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + +

+ Test animation options for specifying the target attribute/property. +

+

+ On the left, a circle animates the stroke-width property without + specifying a value for 'attributeType'. On the right, + a circle animates the stroke-width property and does set 'attributeType' to 'CSS'. +

+

+ For each circle, guides shows what + the stroke-width looks like initially and + what it looks like at the end of the animation. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • the left blue circle smoothly animates its stroke-width from time t=1 second to time t=5 seconds, so that the blue color fully fills the left donut shape
  • +
  • the right pink circle smoothly animates its stroke-width from time t=4 seconds to time t=7 seconds, so that the pink color fully fills the right donut shape
  • +
  • both of the stroke-width animations originate from the thin black circle in the middle of each donut shape
  • +
+
+ + $RCSfile: animate-elem-26-t.svg,v $ + + + + + + + + + + + + + + + + anim. 1 + + + + + + + + + anim. 2 + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-27-t.svg b/Tests/W3CTestSuite/svg/animate-elem-27-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..939fbd7f1889369d2b6d4cbb7e637ac9751b58ce --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-27-t.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ Test animation options for specifying the target element. +

+

+ The leftmost rectangle verifies the use of the 'xlink:href' + attribute to indicate the target element to be animated. + The rightmost rectangle verifies animating the parent of + the 'animate' element (in this case, a 'rect' element) + (i.e., the implicit parent of the 'animate' element). +

+

+ At time 0, two rectangles filled with blue and stroked with + light blue appear, each with width=100 and height=160. Starting at + time 3 seconds and ending at time 6 seconds, the height of + the leftmost rectangle decreases from 160 to 40. Starting at + time 6 seconds and ending at time 9 seconds, the rightmost + rectangle decreases from 160 to 40. Annotations on the picture + show the correct positions at particular times. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • the left blue rectangle animates its height from 160 to 40, + starting at time 3 seconds and ending at 6 seconds, as indicated + by the green ruler lines.
  • +
  • the right blue rectangle animates its height from 160 to 40, + starting at time 6 seconds and ending at 9 seconds, as indicated + by the green ruler lines. +
  • +
+
+ + $RCSfile: animate-elem-27-t.svg,v $ + + + + + + + + + Test animation options for specifying the target element. + + 0 to 3 sec. + + at 6 sec. + + + + 0 to 6 sec. + + at 9 sec. + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-28-t.svg b/Tests/W3CTestSuite/svg/animate-elem-28-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..8d7ea85e5de3adb1474951d798a795d8c448cb6f --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-28-t.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + +

+ Test inheritance of animated properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ A yellow happy face should be displayed. The stroke for the smile and + yellow circle are both animated, the stroke color fades from yellow to black. +

+
+ + $RCSfile: animate-elem-28-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-29-b.svg b/Tests/W3CTestSuite/svg/animate-elem-29-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..265f4b6ecdd56425c314820a85738ad71f37847c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-29-b.svg @@ -0,0 +1,98 @@ + + + + + + + + + + + + +

+ Test compositing of animated fill opacity. +

+ + +

+ First click once on "fade in" and + then, once the animation has completed, click once on "fade out". +

+
+ +

The first time you + select the link 'fade in', you should see a green square appearing, + gradually and smoothly fading from zero to 100% opacity over the + course of three seconds. This square is in front of and thus + obscures the lower left circle, but is behind the upper right + circle which is thus composited on top of the animated green + square. Then, when you click on "fade out", the green square will + gradually disappear, smoothly fading from 100% to zero opacity + over the course of three seconds. +

+

+ The rendered picture should match the reference image, (except + for possible variations in the labelling text (per CSS2 rules)) + after activating the link on the fade-in button the first time + and waiting three seconds for the animation to complete. The picture + should remain looking the same way indefinitely, until another + link is activated. +

+ +
+ + $RCSfile: animate-elem-29-b.svg,v $ + + + + + + + + + + + + + + + + + + Fade in + + + + Fade out + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-30-t.svg b/Tests/W3CTestSuite/svg/animate-elem-30-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d27f9a1d6dafdaff3ed4ee17f6616ca5bd1bf83b --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-30-t.svg @@ -0,0 +1,169 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animated <use> where + the referenced <defs> also is animated. +

+

+ The test shows 6 different elements, each element defined in a + <defs> and referenced with a <use>. All the elements are + animated between 0-3 seconds. The expected animation transform is + indicated with a gray silhouette showing the border values (0 and 3 seconds) + and an arrow indicating the movement in between. + For the two elements with a color animation, the colors goes from white to + blue (the same blue color used for all elements). +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if:

+
    +
  • Each animated element (the line, circle, three-segment polyline, image + and the two rectangles) is transformed with a continuous animation + over three seconds. The size and shape of each element must start off + as shown by the silhouette at the start of the arrow, and must end + up as shown by the silhouette at the end of the arrow.
  • +
  • The fill of the two rectangles is animated over three seconds from + white to blue.
  • +
+
+ + $RCSfile: animate-elem-30-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-31-t.svg b/Tests/W3CTestSuite/svg/animate-elem-31-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..60ff894665fa139065bcd97f65bc83ea1b6c7758 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-31-t.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animation of the display attribute. +

+

+ The test shows two gray rectangles which are filled with colored circles during the length of the animation (8 sec). + The circles in the top rectangle are displayed/hidden by animating the display attribute. + The circles in the bottom rectangle are serving as the reference and are displayed/hidden by animating the visibility attribute. + A correct implementation should display/hide circles with the same color from the top and bottom rectangle at the same time. +

+

+ In total there are 6 different circles (purple, green, dodgerblue, blue, yellow, cyan) in 5 positions (blue and yellow share position) that should be displayed during the test. +

+ + +

+ Run the test. No interaction required. +

+
+ +

While the test is running (which takes approximately 8 seconds), + the text "Test running" is shown. The test passes if:

+
    +
  • While the test is running, the colored circles are variously shown and hidden.
  • +
  • A colored circle is shown in the top rectangle if and only if + the corresponding colored circle is shown in the bottom rectangle.
  • +
+
+ + $RCSfile: animate-elem-31-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + display + visibility + Test of display attribute animation. + Circles with same color should be visible at same time. + + Test running... + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-32-t.svg b/Tests/W3CTestSuite/svg/animate-elem-32-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..595c72dda4edf0b9e79c95b76094bdd9d6a1b0ba --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-32-t.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + +

+ Tests the animation to and from the degenerate cases of the basic shapes. + The shapes are drawn within the black rectangles. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if within each of the 11 rectangles an animated shape + is shown over the first six seconds and that after the six seconds, at the + end of the animation, each of these rectangles is empty.

+
+ + $RCSfile: animate-elem-32-t.svg,v $ + + + + + + + + + + + + + Stroked + Unstroked + Zero width rect + Zero height rect + Zero radius circle + Zero x radius ellipse + Zero y radius ellipse + Zero length line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-33-t.svg b/Tests/W3CTestSuite/svg/animate-elem-33-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..4b50ae3d5649c9a4b7e2c199704be16a5aa869a7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-33-t.svg @@ -0,0 +1,149 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animateMotion with keyPoints and keyTimes. +

+

+ The test consists of 4 sub-tests. Each test has a purple circle which moves along a path. The path is indicated with a dashed line and sample points where the circle should pass a certain position on the path is indicated with gray circles. On top of each gray circle is a number which indicates the passing time in seconds. In the cases where the purple circle should pass the gray circle two times the first passing time is written above the gray circle and the second passing time is written below. +

+

+ Section 19.2.12 in the spec. states that a motion path is defined by the path attribute or by values or from/to attributes. So in the animateMotion case, values is just used for defining the motionPath and the number of values do not have to relate to the number of keyTimes. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if, for the first four seconds of the document, + each of the four purple circles moves along the dashed lines + such that they coincide with the gray circles at the times indicated + next to those gray circles. The purple circles must all move continuously + over the four seconds, except for the top-right one, which + jumps discontinuously at 2s from the second grey circle to + the third in that subtest.

+

If a range of times is given next to a grey circle, then the purple + circle must stay stationary at that position for that duration.

+
+ + $RCSfile: animate-elem-33-t.svg,v $ + + + + + + + + + + + 0 + 0.8-3.2 + 4 + + + + + + + + + + + + + + + 0 + 2 + 2 + 4 + + + + + + + + + + + + + + + + + + 3 + 2.6 + 0 + 1 + 4 + 1.4 + + + + + + + + + + + + + + + + 3 + 2.6 + 0 + 1 + 4 + 1.4 + + + + + + + + + + + + + + Test of keyPoints and keyTimes. + Number indicates the circle's passing time in seconds. + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-34-t.svg b/Tests/W3CTestSuite/svg/animate-elem-34-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ac7893155cf5953ee82aa1baeaa95096fefd1a72 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-34-t.svg @@ -0,0 +1,123 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animation of attributes points and fill-rule. +

+

+ The test consists of 2 sub-tests. The first test is a polygon shaped as a digit. The polygon + has an animation on its vertex points which morphs the polygon between the numbers 1, 2, 3 + and 4. The gray outlines indicates the expected position of the polygon at 1, 2, 3 and 4s. + The second test is 4 paths in a u-shape. They have animated fill-rules. Their initial + fill-rules are, from left to right, nonzero, evenodd, nonzero (by default value, no fill-rule attribute set) + and nonzero (by default value, no fill-rule attribute set). This means, that the second path is + initially u-shaped, and all other paths are initially rect-shaped. All four animations are set to evenodd as a last stage. + The further expected result is that one path at a time is filled. The other three paths are not filled but have the u-shape. + The fourth animation from evenodd to nonzero happens by going back to the initial state, + because the fill attribute is not set to freeze. Which path that should be filled at + which time is indicated by the number above it (indicating time in seconds). To enhance the + difference between the filled path and the rest, the filled path should always have the + same color as the morphing polygon. This is achieved by a discrete color animation. +

+ + +

Run the test. No interaction required.

+
+ +

The test is passed if all of the following conditions are met:

+
    +
  • The red path in the shape of the digit "1" morphs continuously over three seconds + (from 1s to 4s in document time) to the shape of "2", "3" and then "4". The gray paths + show the four shapes and positions that the red path takes as it morphs.
  • +
  • Initially, when the document is loaded, of the four paths underneath each of the + four digits, the second one is u-shaped, while the other three are square shaped. + The first path is red, while the remaining three are gray.
  • +
  • From 1s to 2s, the path below the "1" digit is red and square-shaped and the others are gray and u-shaped.
  • +
  • From 2s to 3s, the path below the "2" digit is red and square-shaped and the others are gray and u-shaped.
  • +
  • From 3s to 4s, the path below the "3" digit is red and square-shaped and the others are gray and u-shaped.
  • +
  • From 4s onwards, the path below the "4" digit is red and square-shaped and the others are gray and u-shaped.
  • +
+
+ + $RCSfile: animate-elem-34-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Animation on: 'points' and 'fill-rule'. + Digit should match outline at indicated time. + Filled square should follow morphing digit discretely. + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-35-t.svg b/Tests/W3CTestSuite/svg/animate-elem-35-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..8ced2d9661449fd899634e065eadb6b25ea676d7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-35-t.svg @@ -0,0 +1,150 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animation of attributes stroke-dasharray, + stroke-dashoffset, stroke-miterlimit, stroke-linecap and stroke-linjoin. +

+ + + + +

+ This file contains four tests, testing animation of five attributes. + The first test animates the stroke-dashoffset. There are seven reference polylines, all with + the same stroke-dasharray but with different values on their stroke-dashoffset. A red polyline + with the same stroke-dash array has an animation on its stroke-dasharray. The red polyline is + animated so that it stops by the reference polyline that has the right stroke-dashoffset at + that perticular time. + The second test animates stroke-linecap and stroke-linejoin. There are three reference + polylines. Comparsion is done in the same manner as in the previous test. + The third test animates the stroke-miterlimit. There are two sets offilled reference paths + (black) and two outlined paths (red) with animated stroke-miterlimit. The paths are shaped like + a capital A. In the upper test the animated path is drawn on top of the reference polygons and + in the lower test the reference path is drawn on top of the animated path. As the + stroke-miterlimit is animated to different values, different reference paths are used. To pass + the test, there should never be any part of the underlying geometry visible (black in the upper + or red in the lower). + The fourth test animates the stroke-dasharray. The initial stroke-dasharray gives a + short-dashed line. This pattern is animated into a pattern that on this short path gives a + solid line at 2 seconds. +

+
+ +

+ [[Describe the pass criteria of the test here. The pass criteria is what + should be displayed when the test is run.]] +

+
+ + $RCSfile: animate-elem-35-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Animation on: 'stroke-dasharray', 'stroke-dashoffset', + 'stroke-miterlimit', 'stroke-linecap' and 'stroke-linejoin'. + + + $Revision: 1.8 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-36-t.svg b/Tests/W3CTestSuite/svg/animate-elem-36-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..460f76b82be49f4b9a6694fcc5ea44e362b095cd --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-36-t.svg @@ -0,0 +1,149 @@ + + + + + + + + + + + + +

+ This test validates the animation of the transform attribute on structure + elements, hyperlinks and text elements. +

+

+ The test applies an <animateTransform> on various element types: <g>, + <use>, <image>, <switch>, <a> and <text>. In all + cases, the type is a rotation and all the elements should rotate together about + their centers, for 3s, starting at the document's load time. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if each of the seven flower-like shapes (the four above "<use>" + and the ones above "<g>", "<switch>" and "<a>"), the image and + the text "123" rotate clockwise, then anti-clockwise, then clockwise again, + over the course of a few seconds.

+

The static reference image shows the final state of the animation.

+
+ + $RCSfile: animate-elem-36-t.svg,v $ + + + + + + + + + <animateTransform> on structure, + hyperlinking and text elements + + + + + + + + + + + + + + + <g> + + + + + + + + + + + <use> + + + + + + + <image> + + + + + + + + + + + + + + + + + + <switch> + + + + + + + + + + + + + + + + <a> + + + + + + + + + + + + + + 123 + + + + <text> + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-37-t.svg b/Tests/W3CTestSuite/svg/animate-elem-37-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c6c6ee3fc3d8571864c901a1b8abe3e04fef4210 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-37-t.svg @@ -0,0 +1,105 @@ + + + + + + + + + + + + +

+ This test validates the animation of the transform attribute shape elements. +

+

+ The test applies an <animateTransform> on various element + types: <g>, <use>, <image>, <switch>, + <a> and <text>. + In all cases the animation should run for 3s, starting at the document's load time. + The <circle> has a scale animation, and all the rest of the elements should rotate together about their centers. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if:

+
    +
  • each of the seven shapes rotates clockwise, then anti-clockwise, then clockwise again,
  • +
  • and the circle is scaled down, then up, then down again
  • +
+

over the course of three seconds.

+

The static reference image shows the final state of the animation.

+
+ + $RCSfile: animate-elem-37-t.svg,v $ + + + + + + + + + <animateTransform> shape elements + + + + + <path> + + + + + + <rect> + + + + + + <circle> + + + + + + <ellipse> + + + + + + <line> + + + + + + <polyline> + + + + + + <polygon> + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-38-t.svg b/Tests/W3CTestSuite/svg/animate-elem-38-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f9681c685acc089b7de533fec72af34132c012b1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-38-t.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animation of the viewBox attribute. +

+ + +

+ Run the test. No interaction required +

+
+ +

+ The viewBox changes position and size + several times. At each new setting, a green indicator frame will flash a couple of times. + This frame must only appear at the edges of the SVG element. +

+
+ + $RCSfile: animate-elem-38-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Animation on: 'viewBox'. Flashing frame should + only appear at the edges of the SVG element. + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-39-t.svg b/Tests/W3CTestSuite/svg/animate-elem-39-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b2105663042bef18a06ddb14adc58b52f5710b15 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-39-t.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + +

+ This test validates that the xlink:href attribute can be animated on + the <a>, <image> and <use> elements, using the <animate> + or <set> animation elements. +

+

+ For the <a> animation, showing on the left-most column, the number + indicates the number of the animation test currently linked by the xlink:href + attribute. For example, when the xlink:href animated value is "animate-elem-38-t.svg", + the text displays "38". When the user clicks on the displayed number, the user + agent should open the corresponding link. For example, if the user clicks on 38, + then the "animate-elem-38-t.svg" URI should be followed. If the user clicks on 02, + then the "animate-elem-02-t.svg" URI should be followed. +

+

+ For the <image> animations, the image xlink:href attribute cycles through + two values showing a sun set and a picture of the sydney opera. The image should + change every second and the images shown by the <set> and <animate> + animations should always match. +

+

+ For the <use> animations, the use xlink:href attribute cycles through + values "#useA" and "#useB" which reference text elements displaying values + "Use A" and "Use B". The change should happen every second and the text shown + for the two animations (<set> and <animation>) should always + match. +

+ + +

Run the test. Note each of the six subtests alternating (using animation) + between two states. (The pass criteria indicate what must be shown for + each of these.) Click on the top circle while it is showing "02": the + test animate-elem-02-t should be loaded. Go back, then click on the circle + again while it is showing "38": the test animate-elem-38-t should be + loaded. Go back again, then click on the bottom circle while it is showing + "03": the test animate-elem-03-t should be loaded. Go back again, then + click on the bottom circle while it is showing "09": the test animate-elem-09-t + should be loaded.

+
+ +

Every one second, the document alternates between two states. In the first + state, the top circle shows the number "02", the bottom circle shows "03", + the two images show a picture of the Sydney Opera House, and the two 'use' + elements show the text "Use A". In the second state, the top circle shows + the number "38", the bottom circle shows "09", the two images show a + picture of some water and land, and the two 'use' elements show the text "Use B".

+

The test passes if the document does alternate between these two states, + and that clicking on the circles produces the behavior described in the operator + script.

+
+ + $RCSfile: animate-elem-39-t.svg,v $ + + + + + + + + + <animate> on xlink:href + + + <set> + + + + + + 38 + 02 + + + + + <a> + + + + + + + <image> + + + + + Use A + Use B + Use C + + + + + + + <use> + + + + <animate> + + + + + + 09 + 03 + + + + + <a> + + + + + + + <image> + + + + + + + + <use> + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-40-t.svg b/Tests/W3CTestSuite/svg/animate-elem-40-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c019e9766574a42b323abf41abcae2a0f0c1aceb --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-40-t.svg @@ -0,0 +1,239 @@ + + + + + + + + + + + + +

+ This test validates that the x and y attributes can be animated on + <use>, <image>, <rect> and <text> elements. + The test also validates that the width and height attributes can + be animated on <image> and <rect> +

+

+ For x and y animation, each test shows the reference positions at + specific points in the animation. These markers are highlighted + at the time the target element's x/y position should match that of + the marker. For the <text> element, there are two tests. The + first one tests animating a single value on the text's x and y attributes. + The second one tests animating x, y values where there are values for each + of the text's characters. For that test (bottom left), there is a set of + reference markers for each of the characters ('1' and '2'). +

+

+ For width and height animation (the two tests on the bottom right), the + outline showing the expected width and height at given points in the animation + is highlighted at the time the marker's width and height should match that + of the target element. +

+ + +

Run the test. No interaction required.

+
+ +

Over the course of four seconds, the positions and sizes of elements + within the document are animated. The test passes if the following + conditions are met:

+
    +
  • In the first four subtests, the shape, image or text moves clockwise once along + the perimeter of a square whose corners are indicated by the small grey squares.
  • +
  • In the fifth subtest ("x/y on <text>(2)"), the number "1" moves clockwise + along the perimeter of a square as in the first four subtests, while the number "2" + does the same except in an anti-clockise direction.
  • +
  • In the sixth subtest, the width and height of the image are animated continously, + from the initial square size, to the wide and short rectangle, to the narrow and + tall rectangle, and back to the square. At each point when it reaches one of these + key sizes, the yellow outline indicating the size is shown thicker momentarily. + This animation takes only three seconds.
  • +
  • In the seventh subtest, the gray rectangle's width and height are animated in + the same way as the image in the sixth subtest.
  • +
+
+ + $RCSfile: animate-elem-40-t.svg,v $ + + + + + + + + + <animate> of x/y/width/height + + + + + + + + + + + + + + + + + + + + + + + + + + + + x/y on <use> + + + + + + + + + + + x/y on <image> + + + + + + + + + + + x/y on <rect> + + + + + + + + + + + + x/y on <rect> + + + + + + + + + + + + + + 123 + + + + + + + x/y on <text> + + + + + + + + + + + + + + + + + + 12 + + + + + + + x/y on <text>(2) + + + + + + + + + + + + + + + + + + + + + width/height + on <image> + + + + + + + + + + + + + + + + + + + + + + width/height + on <rect> + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-41-t.svg b/Tests/W3CTestSuite/svg/animate-elem-41-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..fbba0e7b653c79fe2eb006f7433e379910270079 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-41-t.svg @@ -0,0 +1,445 @@ + + + + + + + + + + + + +

+ This test validates the operation of the animate element on the various graphics + properties. This test is very similar to animate-elem-78-t which uses the set element + instead of the animate element to modify graphics properties. +

+

+ For each of the graphics properties, there are three tests. One animates the graphics + property directly on an element (such as a rect or a line) which uses the + property. The other two tests apply the animation on a container element (g and + a), and validate that the animated property is inherited by elements which + are child of the container. +

+ + +

Run the test. No interaction required.

+
+ +

+ There are 11 graphics properties that are animated, and for each of these, + they are animated in one of three different ways (the three columns). The + three animations in each row must be the same. +

+

+ For each animation test, the element on which the animation is applied is also + translated by an animation so that the various states of the animation can + be checked more easily: +

+
    +
  • For those tests that have two light gray silhouettes + (fill-rule, stroke-linecap, stroke-linejoin, stroke-miterlimit and stroke-dashoffset), + the animated element's shape must be the same as the left silouhette at the + start of the animation and the same as the right silhouette at the end of + the animation.
  • +
  • For the continous paint animations (fill, stroke and color), + three references shapes show the color that the animated element must be + at the start, middle and end of the animation.
  • +
  • For the stroke-width test, the two dark gray reference shapes show the + width of the short, animated horizontal line must be at the start and the end + of the animation.
  • +
  • For the display and visibility tests, the single light gray silhouette + shows the position the animated element must be at at the start of the animation. + At the end of the animation, these animated elements must not be visible.
  • +
+

+ The following animations must show continuous changes: fill, stroke, + stroke-width, stroke-dashoffset and color. +

+

+ The following animations must show discrete animation changes: fill-rule, stroke-linecap, + stroke-linejoin, stroke-miterlimit, display and visibility. The point at which + the change takes place must be half way through the animation, except for the + stroke-miter animation, which must change a quarter of the way through. + (Note that visually, stroke-miterlimit shows a sharp transition even though its value + is animated continuously, but that is because the miter is cut off when + the animated miter limit reaches the test sharp angle's miter value.) +

+

The test passes if all of the above criteria are met.

+
+ + $RCSfile: animate-elem-41-t.svg,v $ + + + + + + + + + graphics + + + fill + fill-rule + stroke + stroke-width + stroke-linecap + stroke-linejoin + stroke-miterlimit + stroke-dashoffset + display + visibility + color + + + + element + <g> + <a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-44-t.svg b/Tests/W3CTestSuite/svg/animate-elem-44-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..3c75b6d3a5f434b82df17803e608008d2a09ccec --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-44-t.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animation of the d + attribute of the path element. +

+

+ This test consists of a path, specified as a series of + lineto commands, whose d attribute is animated. + The path morphs between the numbers 1, 2, 3, and 4. + The gray outlines indicates the expected position of the polygon at 1, 2, 3 and 4s. + The test contains an animated circle that indicates where + the path should be at a given time. +

+ + +

Run the test. No interaction required.

+
+ +

The test is passed if all of the following conditions are met:

+
    +
  • The red path in the shape of the digit "1" morphs continuously over three seconds + (from 1s to 4s in document time) to the shape of "2", "3" and then "4". The gray paths + show the four shapes and positions that the red path takes as it morphs.
  • +
  • From 0s to 2s, the circle below the "1" digit is red and the others are gray.
  • +
  • From 2s to 3s, the circle below the "2" digit is red and the others are gray.
  • +
  • From 3s to 4s, the circle below the "3" digit is red and the others are gray.
  • +
  • From 4s onwards, the circle below the "4" digit is red and the others are gray.
  • +
+
+ + $RCSfile: animate-elem-44-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Animation on the 'd' + attribute of path. + + Digit should match outline at indicated time. + Filled circle should follow morphing digit discretely. + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-46-t.svg b/Tests/W3CTestSuite/svg/animate-elem-46-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7fc7397e224ed581fc42acd4f32b5de716b580b9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-46-t.svg @@ -0,0 +1,279 @@ + + + + + + + + + + + + +

+ This test validates the operation of the animate element on the various + text and font properties. This test is very similar to animate-elem-77-t.svg + which uses the set element instead of the animate element to modify graphics + properties. +

+

+ For each text or font properties, there are three tests. One animates the text or font + property directly on a text element which uses the + property. The other two tests apply the animation on a container element (g and + a), and validate that the animated property is inherited by children text elements. +

+

+ For each animation test, the element on which the animation is applied is also + translated by an animation so that the various states of the animation can + be checked more easily. There is a gray reference marker which shows + the expected animation state at the begining of the animation, mid-way, or at the + end of the animation. +

+ + +

Run the test. No interaction required.

+
+ +

+ There are 5 text properties that are animated, and for each of these, + they are animated in one of three different ways (the three columns). The + three animations in each row must be the same. +

+

+ For each animation test, the element on which the animation is applied is also + translated by an animation so that the various states of the animation can + be checked more easily. Each test has three gray silhouettes, showing the size + and shape that the "A" must have at the start, middle and end of the animation. +

+

+ The animation of font-size must show a continuous change of the font size. +

+

+ The following animations must animate discretely: text-anchor, font-family, + font-style, font-weight. +

+

+ The test passes if all of the above conditions are met. +

+
+ + $RCSfile: animate-elem-46-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text-anchor + font-size + font-family + font-style + font-weight + + + + <text> + <g> + <a> + + + + + + + A + + A + + A + + + + + + + + + + + + A + + + + + + + + A + + + + + + A + + + + + + + A + A + A + + + + + + + + A + + + + + + + A + + + + + + A + + + + + + + A + A + A + + + + + + + A + + + + + + + A + + + + + + A + + + + + + + A + A + A + + + + + + + A + + + + + + + A + + + + + + A + + + + + + + + A + A + A + + + + + + + + A + + + + + + + A + + + + + + A + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-52-t.svg b/Tests/W3CTestSuite/svg/animate-elem-52-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..190baa75a98d94d71982eab86503526ef9e9b3ea --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-52-t.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test eventbase targets. +

+

+ The test consists of 4 rectangles named A, B, C, D. The D rectangle contains + three animations changing the color of the animation target. + Each animation applies to one of the other rectangles + by using xlink:href. Clicking on rect A should change it's + color immediately, clicking B changes its color after 2 seconds, + clicking C changes its color after 4 seconds and clicking D shows no visible change + (although D contains the animations the event target for each + animation is the referenced rectangle, this rectangle is also the + animation target.) +

+

+ The following sections in the SMIL Animation spec (http://www.w3.org/TR/smil-animation/) + are relevant as confirmation of this test: + The SMIL spec(3.6.7 subsection "Event Values") states that "If the + Eventbase-element term is missing, the event-base element is defined to + be the target element of the animation" + The SMIL spec (3.1 subsection "The target element") says that the + animation target may be defined explicitly thru the targetElement IDREF + or href URI. + So in this test, the animation target is defined through + xlink:href and the event base per definition is then also this + referenced element. +

+ + +

Run the test. Click on each of the four blue rectangles from left to right.

+
+ +

The test passes if all of the following conditions are met:

+
    +
  • the A rectangle turns yellow immediately when clicked
  • +
  • the B rectangle turns yellow two seconds after being clicked
  • +
  • the C rectangle turns yellow four seconds after being clicked
  • +
  • at the time the C rectangle turns yellow, the D rectangle is still blue
  • +
+
+ + $RCSfile: animate-elem-52-t.svg,v $ + + + + + + + + + A + B + C + D + + + + + click A + + + + + click B+2 + + + + + click C+4 + + + + + never + + + + + + + Test of Eventbase targets. + Note that clicking rect D should give no result. + Clicking a rectangle should change its color at the + time for the click + delay as indicated in each rect. + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-53-t.svg b/Tests/W3CTestSuite/svg/animate-elem-53-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7c34d36a3d545b0c50382e6a38218a2cce34860f --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-53-t.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + +

+ The purpose of this test is to test animation of points and calcmode. +

+ + + + +

+ 1. The green squares should animate together side by side. This applies + to the blue ones as well. + 2. The time values indicate when the squares should reach the + corresponding reference square. + 3. The total distance is 0+40+80+24.14=144.14 + a. The "green animation" is 9 sec and linear so each interval + should get 3 sec. + b. The "blue animation" is 8 sec and paced so the intervals + should get 2.22, 4.44 and 1.34 sec each. +

+

+ Here comes a more detailed description of the animation. + + The left green square (LG) is animated by animating the points with + a value array, consisting of 4 lists of points. This is an animation + with calc-mode=linear so an equal amount of time should be spent on + all 4 intervals. The right green square (RG) is animated by a simple + linear motion followed by a scale to follow LG. + The last scale by 1.9428 correspond to a movement of the lover right + corner of the square by sqrt((30*0.9428)^2 + (30*0.9428)^2) which is + approximately 40 distance units. This is the same distance as the first + interval in the values array (and half the second interval). + The length (in terms of distance) is not really important for the + green squares but for the blue squares which are animated with + calc-mode=paced the length is used to calculate the time for each + interval. + Since the first and last interval are of the same length which + totals to the length of the middle interval, the interval should + be given time according to [27.75%(2.22sec);55.5%(4.44sec);16.75%(1.34sec)]. + + So the left blue square (LR) is animated just as the LG square but + with calc-mode=paced. The same applies to the right blue square (RR) + that has default calc-mode (paced for animateMotion) compablue to the + RG square that has calc-mode=linear. + The calc-mode for the scale of RR (and RG) is not important since + it's not a value list type of animation. +

+
+ +

+ [[Describe the pass criteria of the test here. The pass criteria is what + should be displayed when the test is run.]] +

+
+ + $RCSfile: animate-elem-53-t.svg,v $ + + + + + + + + + + + + + + 0s + + 3s + + 6s + + 9s + + + + + + + + + + + + + 0s + + 2.22s + + 6.66s + + 8s + + + + + + + + + + + Animation on: 'points' with 'calc-mode'. + Coloblue and black squares should match at indicated time. + Same coloblue squares (green and blue) should match at all times + + + $Revision: 1.7 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-60-t.svg b/Tests/W3CTestSuite/svg/animate-elem-60-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..2b383748745b8a8e20160e757dd07668472134b7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-60-t.svg @@ -0,0 +1,254 @@ + + + + + + + + + + + + +

+ This test performs basic test on the begin attribute, + assuming support for the <set> element and setting the + fill attribute on a <rect> element. +

+

+ The test validates the various possibilities for the begin attribute + value: no specified value, offset value, event base value, sync base + value, indefinite value, repeat value, accessKey value and wallclock. +

+

+ There is one or several <set> elements for each of the possible begin + values. For each test, the <set> element(s) has (or have) an indefinite + duration and no other timing attribute specified other than begin + and dur. +

+

+ There are two sets of vertical markers which help check that the test + is handled properly by the user agent. The first set, on the left, shows + markers from 0s to 8s, where the times are offset from the document's load time. + The rectangles in that area should turn green at the time corresponding + to the column they are in. From example, the first rectangle (going left to right) + on the "sync base" line should turn green 2 seconds after the document's load. + The second set of time vertical markers shows offset from a particular event. + For example, for the event base, the markers show an offset to the time + the first event base rectangle (the left-most one) is clicked on. For the + accessKey line, the times show offsets from the time the 'a' key is pressed + and the document has focus. +

+

+ The first <set> has an unspecified begin attribute. That value + defaults to an offset of 0s so the animation should apply as soon as + the document is loaded. +

+

+ The second <set> has its begin attribute set to '2s'. So its + target rectangle should turn green two seconds after the document is + loaded. +

+

+ The third <set> has its begin attribute set to an event base + value 'click'. The user has to click on the left-most target red rectangle + to make the <set> target turn green. There are two rectangles + with associated <set> elements. The left most ones has a simple + value (no offset) and the second one is offset from the event time by 2 seconds. +

+

+ The fourth <set> elements have their begin attributes set to a sync base + value. The first two rectangles have <set> elements synchronized on their sync base + begin. The left-most one has no offset and the following one has a 2 seconds offset. + The last two rectangles have <set> elements synchronized on their sync base end. + The first one (i.e., the third from left to right on that line), has a 2 seconds + negative offset. The second one (i.e., the last one on the line) has no offset and should + begin at the time its sync base ends. +

+

+ The fifth <set> has its begin attribute set to indefinite and + should not turn red and stay green. +

+

+ The sixth <set>s have their begin attributes have their begin attributes + based on the repeat() function. The repeat they are synchronized on happens + at 3s. The first <set>, which has no offset, should begin at 3s. The + second <set>, which has a 2 seconds offset, should start at 5s. +

+

+ The seventh <set>s have their begin attributes set to 'accessKey(a)'. + The first one has no offset and should become active (and turn the rectangle + green), as soon as the key 'a' is pressed in the user agent. The second <set> + has a 2s offset and should become active 2 seconds after the 'a' key is pressed in + the user agent. +

+

+ The eight's <set> target has its begin attribute set to + 'wallclock()'. Therefore, the target should turn red because the + target wallclock time is in the past. The SMIL specification states the following about wallclock values in the past: + "When a begin time is resolved to be in the past (i.e., before the current presentation time), the element begins immediately, + but acts as though it had begun at the specified time (playing from an offset into the media)." (http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncTiming). +

+ + +

Run the test. Observe the document for at least eight seconds. + Then, click on the first red square in the "event base" row, + and observe the document for two seconds. Then, press "a" + on the keyboard, and observe the document for another two seconds.

+
+ +

The test passes if the following conditions are met:

+
    +
  • In the first eight seconds of the document, the 10 squares + in the left section of the test must become green at the time + at the top of the column they are in. For example, the square in + the "offset" row must become green at 2s after the document has + been loaded.
  • +
  • Immediately once the red square in the "event base" row has been clicked, + it must become green. Two seconds after the click, the second square + must become green.
  • +
  • Immediately once "a" has been pressed on the keyboard, + the first square in the "accessKey()" row must become green. + Two seconds after the keypress, the second square must become green.
  • +
  • No other changes occur in the document.
  • +
+
+ + $RCSfile: animate-elem-60-t.svg,v $ + + + + + + + + + begin + + + unspecified + offset + event base + sync base + indefinite + repeat() + accessKey() + wallclock() + + + + 0s + 1s + 2s + 3s + 4s + 5s + 6s + 7s + 8s + 0s + 1s + 2s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-61-t.svg b/Tests/W3CTestSuite/svg/animate-elem-61-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..08666d108c10ad91658dc905835623f07e99d2fb --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-61-t.svg @@ -0,0 +1,191 @@ + + + + + + + + + + + + +

+ This tests validates multiple begin conditions in the begin attribute, + assuming support for the <set> element and setting the + fill attribute on a <rect> element. +

+

+ The test validates the various possibilities for the begin attribute + value: multiple offset values, multiple event base values, multiple sync base + values, multiple repeat values, and multiple accessKey values. Finally, + the test validates that begin values of different kinds can be mixed. +

+

+ The test shows 6 rows where a red rectangle' s x attribute is animated + with <set> elements. +

+

+ On the first three rows, the red rectangles should show on the left from + 0 to 1s. From 1 to 2s, the rectangles should show on the right. Then + the rectangles should show on the left from 2 to 4s, then on the right + again from 4 to 5s and come back to the left position and stay there + after 5s. +

+

+ On the fourth row, the rectangle's begin condition is event based + and requires a user click. After the user clicks on the rectangle, + the rectangle should move to the right position for 1s, then move + back to the left position for 3 seconds, move again to the right + position for 1 second before going back to the left position. +

+

+ On the fifth row, the rectangle's begin condition is accessKey based + and requires a user to press the 'a' key. After the user presses that key + the rectangle should move to the right position for 1s, then move + back to the left position for 3 seconds, move again to the right + position for 1 second before going back to the left position. +

+

+ The last row's rectangle has a begin condition with two offset values + (1s;4s) and should behave like the rectangles of the first three + rows for the first 5 seconds of the document's timeline. In addition, + the begin condition has a click event base and thus, the rectangle + should move to the right position for one second every time the user + clicks on it. Finally, the begin condition also has an accessKey condition + for the 'b' character. Thus, the rectangle should move to the right + position every time the user presses the 'b' key. +

+ + +

Run the test. Observe the document for a least six seconds. + Then, click on the left square in the "2 event base" row and + wait for another six seconds while observing. Then, press "a" + on the keyboard and wait for another six seconds while observing.

+
+ +

The test passes if all of the following conditions are met:

+
    +
  • The red squares in the top three rows and the bottom row are + in the relevant column according to the times written above the columns: + in left column for the first second of the document, in the + right column between 1s and 2s, in the left column again between + 2s and 4s, in the right column again between 4s and 5s, and finally + revert to the left column at 5s.
  • +
  • Once the red square in the "2 event base" row is clicked, it must + follow the same movements as the earlier animated squares, except that + the times above the columns indicate offsets from the time of the click, + rather than from the start of the document. Thus, the red square must + be in the left column in the first second after being clicked, + in the right column between 1s and 2s after being clicked, + in the left column again between 2s and 4s after being clicked, + in the right column again between 4s and 5s after being clicked, + and finally must revert to the left column 5s after being clicked.
  • +
  • Once the "a" key is pressed, the red square in the "2 accessKeys" + row must follow the same movements as the first set of animated squares, except that + the times above the columns indicate offsets from the time of the keypress, + rather than from the start of the document. Thus, the red square must + be in the left column in the first second after the keypress, + in the right column between 1s and 2s after the keypress, + in the left column again between 2s and 4s after the keypress, + in the right column again between 4s and 5s after the keypress, + and finally must revert to the left column 5s after the keypress.
  • +
+
+ + $RCSfile: animate-elem-61-t.svg,v $ + + + + + + + + + multiple begin + + + 2 offsets + 2 sync bases + 2 repeat + 2 event base + 2 accessKeys + misc + + + + 0-1s + 2s-4s + > 5s + + 1-2s + 4-5s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-62-t.svg b/Tests/W3CTestSuite/svg/animate-elem-62-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..43590af4db18d6b7cb7c783270a0c5d7bede9a33 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-62-t.svg @@ -0,0 +1,260 @@ + + + + + + + + + + + + +

+ This test performs basic test on the end attribute, + assuming support for the <set> element and setting the + fill attribute on a <rect> element. +

+

+ The test validates the various possibilities for the end attribute + value: no specified value, offset value, event base value, sync base + value, indefinite value, repeat value, accessKey value and wallclock. +

+

+ There are one or several <set> elements for each of the possible end + values. For each test, the <set> element(s) has (or have) an indefinite + duration and no other timing attribute specified other than end + and dur. +

+

+ There are two sets of vertical markers which help check that the test + is handled properly by the user agent. The first set, on the left, shows + markers from 0s to 8s, where the times are offset from the document's load time. + The rectangles in that area should turn green at the time corresponding + to the column they are in. From example, the first rectangle (going left to right) + on the "sync base" line should turn green 2 seconds after the document's load. + The second set of time vertical markers shows offset from a particular event. + For example, for the event base, the markers show an offset to the time + the first event base rectangle (the left-most one) is clicked on. For the + accessKey line, the times show offsets from the time the 'a' key is pressed + and the document has focus. +

+

+ The first <set> has no end attribute and an indefinite duration. + Since there are no constraints on the active duration (no end attribute) the + active duration is the same as the simple duration (indefinite). This + means that the animation begins at 0s and has an indefinite end time. +

+

+ The second <set> has its end attribute set to '2s'. So its + target rectangle should turn green two seconds after the document is + loaded. +

+

+ The third <set> has its end attribute set to an event base + value 'click'. The user has to click on the left-most target red rectangle + to make the <set> target turn green. There are two rectangles + with associated <set> elements. The left most ones has a simple + value (no offset) and the second one is offset from the event time by 2 seconds. +

+

+ The fourth <set> elements have their end attributes set to a sync base + value. The first two rectangles have <set> elements synchronized on their sync base + end. The left-most one has no offset and the following one has a 2 seconds offset. + The last two rectangles have <set> elements synchronized on their sync base end. + The first one (i.e., the third from left to right on that line), has a 2 seconds + negative offset. The second one (i.e., the last one on the line) has no offset and should + end at the time its sync base ends. +

+

+ The fifth <set> has its end attribute set to indefinite and + should not turn red and stay green. +

+

+ The sixth <set>s have their end attributes have their end attributes + based on the repeat() function. The repeat they are synchronized on happens + at 3s. The first <set>, which has no offset, should end at 3s. The + second <set>, which has a 2 seconds offset, should start at 5s. +

+

+ The seventh <set>s have their end attributes set to 'accessKey(a)'. + The first one has no offset and should become active (and turn the rectangle + green), as soon as the key 'a' is pressed in the user agent. The second <set> + has a 2s offset and should become active 2 seconds after the 'a' key is pressed in + the user agent. +

+

+ The eight's <set> target has its end attribute set to + 'wallclock()'. The result depends on the presentation time. + If the document is viewed completely before 2200-06-10T12:34:56Z, + the rectangle has to be always green. begin is not explicitely set, therefore + it is zero, dur is indefinite and end is in the future. + If the document is viewed completely after 2200-06-10T12:34:56Z, the only end + value is before the implicitely given only begin value and therefore the set + does not start, the rectangle remains red. If the document is viewed in a time interval started before + 2200-06-10T12:34:56Z and ended after this date, the rectangle will start green at the beginning, change to red at + 2200-06-10T12:34:56Z and will remain red until the end of presentation. +

+ + +

Run the test. Observe the document for at least eight seconds. + Then, click on the first red square in the "event base" row, + and observe the document for two seconds. Then, press "a" + on the keyboard, and observe the document for another two seconds.

+
+ +

The test passes if the following conditions are met:

+
    +
  • In the first eight seconds of the document, the 10 squares + in the left section of the test must become green at the time + at the top of the column they are in. For example, the square in + the "offset" row must become green at 2s after the document has + been loaded.
  • +
  • Immediately once the red square in the "event base" row has been clicked, + it must become green. Two seconds after the click, the second square + must become green.
  • +
  • Immediately once "a" has been pressed on the keyboard, + the first square in the "accessKey()" row must become green. + Two seconds after the keypress, the second square must become green.
  • +
  • No other changes occur in the document.
  • +
+
+ + $RCSfile: animate-elem-62-t.svg,v $ + + + + + + + + + end + + + unspecified + offset + event base + sync base + indefinite + repeat() + accessKey() + wallclock() + + + + 0s + 1s + 2s + 3s + 4s + 5s + 6s + 7s + 8s + 0s + 1s + 2s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-63-t.svg b/Tests/W3CTestSuite/svg/animate-elem-63-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..63cfc7a61684a60ae4686785c89c33ec79f2fe5f --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-63-t.svg @@ -0,0 +1,200 @@ + + + + + + + + + + + + +

+ This tests validates multiple end conditions in the end attribute, + assuming support for the <set> element and setting the + dur attribute to 'indefinite'. +

+

+ The test validates the various possibilities for the end attribute + value: multiple offset values, multiple event base values, multiple sync base + values, multiple repeat values, and multiple accessKey values. Finally, + the test validates that end values of different kinds can be mixed. +

+

+ The test shows 6 rows where a red rectangle's x attribute is animated + with <set> elements. +

+

+ On the first three rows, the red rectangles should show on the left from + 0 to 1s. From 1 to 2s, the rectangles should show on the right. Then + the rectangles should show on the left from 2 to 4s, then on the right + again from 4 to 5s and come back to the left position and stay there + after 5s. +

+

+ On the fourth row, the rectangle's end condition is event based + and requires a user click. One of the end condition is defined + to be 5 seconds prior to the click and one is defined to be 5 + seconds after the click. If the user clicks on the rectangle + before 5 seconds (in document time), the red rectangle we move + to the left position 5 seconds after the click (because the + 'click - 5s' end time resolves to a time prior to the begin + time). If the user clicks after 5 seconds (in document time), + then the red rectangle moves to the left position immediately because + the 'click - 5s' time resolves to a time after the begin time. +

+

+ On the fifth row, the rectangle's end condition is accessKey based + and requires a user to press the 'a' key. The behavior is exactly the + same as for the previous row, except that the triggering event + is the 'a' key press. +

+

+ The last row's rectangle has a end condition with two offset values + (1s;4s) and should behave like the rectangles of the first three + rows for the first 5 seconds of the document's timeline. In addition, + the end condition has a click event base and thus, the rectangle + should immediately move to the left position if the user everytime the user + clicks clicks on the rectangle when it is on the right position. + Finally, the end condition also has an accessKey condition + for the 'b' character. Thus, the rectangle should move to the left + position every time the user presses the 'b' key and the rectangle is + on the right position. +

+ + +

Run the test. Observe the document for six seconds. + Then, click the red square in the "2 event base" row + and then press "a" on the keyboard.

+

Next, reload the test. Before five seconds have elapsed, + click the red square in the "2 event base" row and then + press "a" on the keyboard. Observe the document for another six seconds.

+
+ +

The test passes if the following conditions are met:

+
    +
  • In the first load of the document, the red squares in the top three + rows and the bottom row are in the relevant column according to the + times written above the columns: in left column for the first second + of the document, in the right column between 1s and 2s, in the left + column again between 2s and 4s, in the right column again between 4s + and 5s, and finally revert to the left column at 5s. During this + whole time, the red squares on the "2 event base" and "2 accessKeys" + rows must be in the right column.
  • +
  • In the first load of the document, immediately once the red + square is clicked, it must move to the left column.
  • +
  • In the first load of the document, immediately once "a" is pressed + on the keyboard, the red square in the "2 accessKeys" row must move + to the left column.
  • +
  • In the second load of the document, five seconds after the red + square is clicked, it must move to the left column.
  • +
  • In the second load of the document, five seconds after "a" is pressed + on the keyboard, the red square in the "2 accessKeys" row must move + to the left column.
  • +
+
+ + $RCSfile: animate-elem-63-t.svg,v $ + + + + + + + + + multiple end + + + 2 offsets + 2 sync bases + 2 repeat + 2 event base + 2 accessKeys + misc + + + + 0-1s + 2s-4s + > 5s + + 1-2s + 4-5s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-64-t.svg b/Tests/W3CTestSuite/svg/animate-elem-64-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f13a1e9d3bf049f0a4fe8703e54c8f21e06ce4c1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-64-t.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + +

+ This tests performs basic tests on the dur attribute. +

+

+ The first row shows a red rectangle subject to a <set> animation + with no begin attribute, no end attribute and a dur attribute set to + '2s'. Therefore, the animation should be active from 0 to 2 seconds and + then terminate. Consequently, the rectangle should show on the right + for the first two seconds, and then move to the left position. +

+

+ The second row shows a red rectangle subject to a <set> animation + with no begin attribute, no end attribute and a dur attribute set to + 'indefinite'. Therefore, the animation should stay active indefinitely + and the rectangle should always be on the right position, never on the + left position. +

+

+ Finally, the third row shows red rectangle subject to a <set> animation + with no begin attribute, no end attribute and a dur attribute set to + 'media'. In the context of SVG 1.1, this is equivalent to an 'indefinite' + value. Therefore, the animation should stay active indefinitely + and the rectangle should always be on the right position, never on the + left position. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if after three seconds, in each of the three rows, + the red rectangle is in the column at the times indicated. + Thus, from the document load until 2s afterwards, the red + square in the first row must be in the right column, + and after the 2s it must be in the left column. In the + other two rows, the red square must remain in the + right column.

+
+ + $RCSfile: animate-elem-64-t.svg,v $ + + + + + + + + + dur + + + clock value + indefinite + media + + + + > 2s + 0s-2s + + + never + > 0s + + + + never + > 0s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-65-t.svg b/Tests/W3CTestSuite/svg/animate-elem-65-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6c51f3f6b651fe061139655f5547c430e135afcd --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-65-t.svg @@ -0,0 +1,223 @@ + + + + + + + + + + + + +

+ This tests performs basic tests on the min attribute. The test is based + on the SMIL specification at: + http://www.w3.org/TR/smil20/smil-timing.html#Timing-MinMax. +

+

+ Each row in the test shows different rectangles subject to <set> + animations with different configurations with regards to the min + attribute. For each row but the last one, the animation should be active + during the first 5 seconds of the animations where the red rectangle + should show in the right column. At five seconds into the animation, + all the rectangles should move to their left position. +

+

+ On the first row, the first <set> animation (left rectangle) has an end value of 5s, + and no min attribute. The active duration resulting from the end attribute is 5s. + The first row shows a second rectangle with a <set> animation with + the same configuration except that the min attribute value is set to + 'media'. Because the <set> element does not define a media, the + behavior should be as if the attribute was not specified. The active duration (5s) + of the second <set> animation is therefore not constrained. +

+

+ On the second row, the <set> animation has an end value of 5s, + and a -6s min attribute. The active duration resulting from the end attribute is 5s. + The negative min value is invalid and, as per the specification, the behavior should be + as if the attribute was not specified. The active duration (5s) is therefore not constrained. +

+

+ On the third row, the <set> animation has an end value of 5s, + and a 3s min attribute. The active duration resulting from the end attribute is 5s. + The min value is less than the active duration, so the min attribute does not actually + constrain the active duration. +

+

+ On the fourth row, the <set> animation has a dur value of indefinite, an end value of 2s, + and a 5s min attribute. The active duration resulting from the end attribute would be 2s. + Because this is less than the min value (2s < 5s) the (min constrained) active duration + has to be corrected to 5s, despite a simple duration (indefinite) that is greater than the min value. +

+

+ On the fifth row, the <set> animation has a dur value of 1s, an end value of 2s, + a repeatCount of 7 and a 5s min attribute. The active duration resulting from dur, end and repeatCount + would be 2s. Because this is less than the min value (2s < 5s) + the (min constrained) active duration has to be corrected to 5s. +

+

+ On the sixth row, the <set> animation has a dur value of 1s, an end + value of 2s, a repeatCount of 5 and a 8s min attribute value. + The active duration resulting from dur, end and repeatCount + would be 2s, because this is less than the min value (2s < 8s) + the active duration has to be corrected to 8s. As the + fill attribute is set to 'remove' on the <set> animation, this + remove is applied at 5s, the end of the repeatCount. + Note, that if the end of active duration would have been used as a + syncbase-value for another animation, the corrected end event at + (begin + min) = 8s has to be used. +

+

+ On the seventh row, the <set> animation has a dur value of 1s, an end + value of 2s, a repeatCount of 5 and a 8s min attribute value. + The active duration resulting from dur, end and repeatCount + would be 2s, because this is less than the min value (2s < 8s) + the active duration has to be corrected to 8s. As the fill attribute + is set to 'freeze' on the <set> animation, the animation is frozen at + 5s, the end of the repeatCount, the <set> applies indefinitely. + Note, that if the end of active duration would have been used as a + syncbase-value for another animation, the corrected end event at + (begin + min) = 8s has to be used. +

+ + +

Run the test and observe it for at least six seconds. No interaction required.

+
+ +

The test passes if the following conditions are met:

+
    +
  • For the first five seconds after the document loads, + all of the red squares in the top six rows are in the right column, and + after five seconds, they all move to the left column.
  • +
  • The red square in the last row is always in the right column.
  • +
+
+ + $RCSfile: animate-elem-65-t.svg,v $ + + + + + + + + + min + + + + + no min / media + invalid min + min < active dur + min > active dur + min < repeat dur + min > repeat dur, remove + min > repeat dur, freeze + + + + > 5s + 0s-5s + + + never + > 0s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-66-t.svg b/Tests/W3CTestSuite/svg/animate-elem-66-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ed11acd506dd9186bf6a58b7b6143d8d0799581c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-66-t.svg @@ -0,0 +1,199 @@ + + + + + + + + + + + + +

+ This tests performs basic tests on the max attribute and on + combinations of the min and max attributes. The test is based + on the SMIL specification at: + http://www.w3.org/TR/smil20/smil-timing.html#Timing-MinMax. +

+

+ Each row in the test shows different rectangles subject to <set> + animations with different configurations with regards to the max and min + attributes. For each row, the animation should be active + during the first 5 seconds of the animations where the red rectangle + should show in the right column. At five seconds into the animation, + all the rectangles should move to their left position. +

+

+ On the first row, the <set> animation has a (0s <= t < 5s) active duration + and no max attribute so the actual active duration is (0s <= t < 5s). + The first row shows a second rectangle with a <set> animation with + the same configuration except that the max attribute value is set to + 'media'. Because the <set> element does not define a media, the + behavior should be as if the attribute was not specified. +

+

+ On the second row, the <set> animation has a (0s <= t < 5s) active duration + and a min attribute set to '-6s' for the first rectangle and to 'foo' for the + second one. These values are invalid for max and, as + per the specification, the behavior should be as if the attribute was not + specified. Consequently, the behavior is as for the previous row and + the actual active duration is (0s <= t < 5s). +

+

+ On the third row, the <set> animation has a (0s <= t < 8s) initial active duration + and a max attribute set to '5s'. The max value is less than the active + duration, so the max attribute constrains the active duration to (0s <= t < 5s). +

+

+ On the fourth row, the <set> animation has a (0s <= t < 5s) initial active duration, + an indefinite simple duration (dur is set to indefinite) and a max attribute set to '8s'. + Because the initial active duration is less than the max attribute the active + duration is not constrained and is unchanged at (0s <= t < 5s). +

+

+ On the fifth row, the <set> animation has a (0s <= t < indefinite) initial active duration, + a min of 2s and a max of 5s. Because the min value is less than the max value, both apply + and the computed active duration is (0s <= t < 5s). +

+

+ On the sixth row, the <set> animation has a (0s <= t < indefinite) initial active duration, + a min of 5s and a max of 5s. Because the min value is equal to the max value, both apply + and the computed active duration is (0s <= t < 5s). +

+

+ On the seventh row, the <set> animation has a [0s, 5s[[ initial active duration, + a min of 8s and a max of 2s. Because the min value is greater than the max value, both are + ignored and the computed active duration is [0s, 5s[. +

+ + +

Run the test and observe it for at least six seconds. No interaction required.

+
+ +

The test passes if for the first five seconds after the document loads, + the red squares in each row (two in the first two rows, and one each in the + remaining rows) are in the right column, and after the five seconds, + they all move to the left column.

+
+ + $RCSfile: animate-elem-66-t.svg,v $ + + + + + + + + + max + min & max + + + no max / media + invalid max values + max < active dur + max > active dur + min < max + min = max + min > max (both ignored) + + + > 5s + 0s-5s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-67-t.svg b/Tests/W3CTestSuite/svg/animate-elem-67-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..4de7227332430bd5390a499c2710bd22a5ef30f6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-67-t.svg @@ -0,0 +1,176 @@ + + + + + + + + + + + + +

+ This tests performs basic tests on restart attribute. +

+

+ Each row in the test shows different rectangles subject to <set> + animations with different configurations with regards to the restart + attribute. For each row, the animation should be active + during the first 5 seconds of the animations where the red rectangle + should show in the right column. At five seconds into the animation, + all the rectangles should move to their left position. +

+

+ On the first row, the <set> animation has a begin attribute set to + '0s;1s' and a dur attribute set to 4s. This should result in a first + interval of (0s <= t < 4s) which should be superceeded, at 1s, by a new interval + of (1s <= t < 5s) because the default restart behavior is 'always'. + Consequently, the rectangle should be in the right position during the + (0s <= t < 5s) interval and move to the left position at 5s. +

+

+ On the second row, the <set> animation has a begin attribute set to + '0s;1s', a dur attribute set to 4s and a restart attribute set to always. + The behavior should be the same as for the first row. +

+

+ On the third row, the first (left most) rectangle's <set> animation + has a begin attribute set to '0s;1s', a dur set to 5s and a restart attribute + set to whenNotActive. Because of the rules for computing intervals, the + animation's interval is (0s <= t < 5s) and is not superseded by a (1s <= t < 6s) interval + because of the restart value. + + The second (right most) red rectangle's <set> animation has a begin + attribute set to '0s;2.5s' and a dur attribute set to 2.5s. This results in + a first interval (0s <= t < 2.5s) which is followed by a (2.5s <= t < 5s) interval. Consequently, + the rectangle stays on its right position for the first five seconds before it definitively + moves to the left position. +

+

+ On the fourth row, the <set> animation has a begin attribute set to + '0s;5s' and a dur attribute set to 5s. This results in a first interval of (0s <= t < 5s). + Because the restart attribute is set to 'never', the following possible interval, + (5s <= t < 10s) does not apply and the animation is only active for the first 5 seconds. +

+

+ The fifth row shows a simple animated red rectangle which lasts for 5 seconds. It shows + a reference of how the other animations should behave visually: all red rectangles should + have the same horizontal position as the one on the reference row, at any time during the + animation. +

+ + +

Run the test and observe it for at least six seconds. No interaction required.

+
+ +

The test passes if for the first five seconds after the document loads, + the red squares in each row (two in the third row, and one each in the + remaining rows) are in the right column, and after the five seconds, + they all move to the left column.

+
+ + $RCSfile: animate-elem-67-t.svg,v $ + + + + + + + + + restart + + + + + no restart (defaults to always) + restart="always" + restart="whenNotActive" + restart="never" + reference + + + + > 5s + 0s-5s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-68-t.svg b/Tests/W3CTestSuite/svg/animate-elem-68-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a8919530a7375a79ae97b8bbc143dc1753832f2c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-68-t.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + +

+ This tests performs basic tests on the repeatCount attribute. +

+

+ Each row in the test shows different rectangles subject to <set> + animations with different configurations with regards to the repeatCount + attribute. For each row, the animation should be active + during the first 5 seconds of the animations where the red rectangle + should show in the right column. At five seconds into the animation, + all the rectangles should move to their left position. +

+

+ On the first row, the <set> animation has its dur attribute set to + '5s' and its repeatCount unspecified. Consequently, its only interval + is (0s <= t < 5s). +

+

+ On the second row, the <set> animation has its dur attribute set to + 1s and its repeatCount set to 5. Consequently, its only interval is + (0s <= t < 5s (1s*5)). +

+

+ On the third row, the <set> animation has its dur attribute set to + 10s and its repeatCount set to 0.5. Consequently, its only interval is + (0s <= t < 5s (10s*0.5)) +

+

+ On the fourth row, the <set> animation has its dur attribute set to + 1s and its repeatCount set to indefinite. It also has an end attribute + set to 5s. Consequently, the repeat duration is indefinite, but the active + duration is limited by the end attribute and the active interval is (0s <= t < 5s). +

+ + +

Run the test and observe it for at least six seconds. No interaction required.

+
+ +

The test passes if for the first five seconds after the document loads, + the red squares in each row are in the right column, and after the five seconds, + they all move to the left column.

+
+ + $RCSfile: animate-elem-68-t.svg,v $ + + + + + + + + + repeatCount + + + dur=5s repeatCount unspecified + dur=1s repeatCount=5 + dur=10s repeatCount=0.5 + dur=1s repeatCount=indefinite + end=5s + + + + > 5s + 0s-5s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-69-t.svg b/Tests/W3CTestSuite/svg/animate-elem-69-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..01d4284bbfa80549bdfeb2265ca2c19f3ba6c90f --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-69-t.svg @@ -0,0 +1,155 @@ + + + + + + + + + + + + +

+ This tests performs basic tests on the repeatDur attribute. +

+

+ Each row in the test shows different rectangles subject to <set> + animations with different configurations with regards to the repeatDur + attribute. For each row, the animation should be active + during the first 5 seconds of the animations where the red rectangle + should show in the right column. At five seconds into the animation, + all the rectangles should move to their left position. +

+

+ On the first row, the <set> animation has its dur attribute set to + '5s' and its repeatDur unspecified. Consequently, its only interval + is (0s <= t < 5s). +

+

+ On the second row, the <set> animation has its dur attribute set to + 1s and its repeatDur set to 5s. Consequently, its only interval is + (0s <= t < 5s). +

+

+ On the third row, the <set> animation has its dur attribute set to + 0.5s and its repeatDur set to 5s. Consequently, its only interval is + (0s <= t < 5s). +

+

+ On the fourth row, the <set> animation has its dur attribute set to + 1s and its repeatDur set to indefinite. It also has an end attribute + set to 5s. Consequently, the repeat duration is indefinite, but the active + duration is limited by the end attribute and the active interval is (0s <= t < 5s). +

+

+ On the fifth row, the <set> animation has its dur attribute set to + 0.7s and its repeatDur set to 5s. Consequently, its only interval is + (0s <= t < 5s). The difference with the 3rd row is that there is a fractional + number of simple durations in the active duration (7.1428) where there + is a whole number of simple durations in the third row (10). +

+ + +

Run the test and observe it for at least six seconds. No interaction required.

+
+ +

The test passes if for the first five seconds after the document loads, + the red squares in each row are in the right column, and after the five seconds, + they all move to the left column.

+
+ + $RCSfile: animate-elem-69-t.svg,v $ + + + + + + + + + repeatDur + + + dur=5s repeatDur unspecified + dur=1s repeatDur=5s + dur=0.5s repeatDur=5s + dur=1s repeatDur=indefinite + end=5s + dur=0.7s repeatDur=5s + + + + > 5s + 0s-5s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-70-t.svg b/Tests/W3CTestSuite/svg/animate-elem-70-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7941ae594078543b3617308c758d65963dfa37d6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-70-t.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + +

+ This tests the animation's SMIL fill attribute. +

+

+ On the first row, the <set> animation has its dur + attribute set to '1s' and its begin attribute set to '0s; + firstSet.end + 1s'. The fill attribute is unspecified, so + the effect is as if it was set to 'remove', because 'remove' is + the default value for fill. + + Consequently, the first interval is (0s <= t < 1s), the second is + (2s <= t < 3s), the third, (4s <= t < 5s) etc.. The red rectangle starts on the + right position, moves to the left position for one second, moves + to the right for 1 second, and so on. +

+

+ On the second row, the <set> animation + with the identifier 'firstSet' has its dur attribute + set to 1s and its begin attribute set to '0s; firstSet.end'. The fill attribute + is set to 'remove'. The behavior should be exactly the same as for the previous + row, and the rectangle moves from the right position to the left position + every second. +

+

+ On the third row, the <set> animation has its dur attribute set to + 1s and its begin attribute set to '0s; firstSet.end'. The fill attribute + is set to 'freeze'. The first interval should be (0s <= t < 1s), the second (2s <= t < 3s), + the third, (4s <= t < 5s), etc. Between interval, the fill behavior should be applied, + so the red rectangle should stay on the right position and never go to the + left position. +

+

+ On the fourth row, the <set> animation has its dur attribute set to + 1s and its begin attribute set to '0s'. The fill attribute + is set to 'freeze'. The first interval should be (0s <= t < 1s) and there is no + following interval. Because of the fill behavior, the <set> should + apply the last (and only) animation value after 1s. Consequently, the + red rectangle should stay on the right position and never go to the + left position. +

+ + +

Run the test and observe it for at least 5 seconds. No interaction required.

+
+ +

The test passes if for the duration of the test the following conditions are met:

+
    +
  • The red squares in the top two rows alternate between the left and the right column + at a rate of one movement per second. They must also be in the same column + at any given time.
  • +
  • The red squares in the bottom two rows stay in the right column.
  • +
+
+ + $RCSfile: animate-elem-70-t.svg,v $ + + + + + + + + + fill + + + fill unspecified (remove) + fill=remove + fill=freeze (with restart) + fill=freeze (no restart) + + + + never + here + always + here + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-77-t.svg b/Tests/W3CTestSuite/svg/animate-elem-77-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f71a033ca44ee99e9bdc6086d01cd700690477de --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-77-t.svg @@ -0,0 +1,357 @@ + + + + + + + + + + + + +

+ Tests the inheritance of animated values on text. +

+

+ This test demonstrates how <set> elements change + text properties on a <text> element. For + each of the text properties being tested, 3 + <set> elements are set. The first <set> + element acts directly on the <text> element. The + second <set> element acts on a <g> containing + children. The third <set> element acts on an <a> + containing children. In each case the test validates that + the animated value set on the <g> and <a> + elements is inherited by the <text> element. + All the <set> elements have a begin attribute + set to 0s with an offset of 1s after end. + So, the animation will apply 1s after the document is loaded + and will repeat every 1s after the animation ends. +

+

+ The first <set> validates the transform property. When + applied to the <text> element, the letter A will be + translated to the right every 1s, in the <text> column. + When applied to the <g> element, the letter A inherits the + transform value and is translated to the right every 1s, as + seen in the <g> column. When applied to the <a> + element, the letter A inherits the transform value and is + translated to the right every 1s, as seen in <a> column. +

+

+ The second <set> validates the text-anchor attribute. + When applied to the <text> element, the anchor position + of letter A is moved from start to end. When applied to the + <g> and <a> element, the property is inherited + and hence the anchor position of letter A is moved from start + to end in the second row. +

+

+ The third <set> validates the font-size attribute. + The font size of letter A is changed from 20 to 30. + When applied to <g> and <a> elements, the letter + A inherits the font-size and hence in row 3, letter A has a + font-size of 30 in all 3 right columns of row 3. +

+

+ The fourth <set> validates the font-family attribute. + The font-family is changed from default to serif. + When applied to <g> and <a> elements, the letter + A inherits the font-family attribute and hence in row 4, + letter A has serif font-family in all 3 columns. +

+

+ The fifth <set> validates the font-style attribute. + The font-style is changed from normal to italic. + When applied to <g> and <a> elements, the letter + A inherits the font-style attribute and hence in row 5, + letter A is animated to italic in all 3 columns. +

+

+ The sixth <set> validates the font-weight attribute. + The font-weight is changed from normal to bold. + When applied to <g> and <a> elements, the letter + A inherits the font-weight attribute and hence in row 6, + letter A is changed to bold on the right. +

+ + +

Run the test. No interaction required.

+
+ +

+ The document is animated such that it alternates between two states, an alternation occurring every second. + For the test to pass each row must show a colored letter A that alternates between the two exact shapes and positions shown + by the gray silhouettes. +

+
+ + $RCSfile: animate-elem-77-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text + + + transform + text-anchor + font-size + font-family + font-style + font-weight + + + + <text> + <g> + <a> + + + + A + + + + + A + A + + + + + + + + + A + + + + + + A + + + + + A + + + + + + + A + A + + + + + + + + + A + + + + + + + + A + + + + + + + + A + + + + + + + + + A + A + + + + + + + + A + + + + + + + + A + + + + + + + + A + + + + + + + + + A + A + + + + + + + + A + + + + + + + + A + + + + + + + + A + + + + + + + + + + A + A + + + + + + + + + A + + + + + + + + A + + + + + + + + A + + + + + + + + + A + A + + + + + + + + + A + + + + + + + + A + + + + + + + + A + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-78-t.svg b/Tests/W3CTestSuite/svg/animate-elem-78-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..31aceb503ad8b77f369bbc30fc743105e55f98bd --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-78-t.svg @@ -0,0 +1,563 @@ + + + + + + + + + + + + +

+ This test demonstrates how <set> elements change + graphics properties on elements from the 'Basic Shapes' chapter. For + each of the graphics properties being tested, 3 + <set> elements are set. The first <set> + element acts directly on the 'Basic Shape' element. The + <set> element acts on a <g> containing + children. The third <set> element acts on an <a> + containing children. In each case the test validates that + the animated value set on the <g> and <a> + elements is inherited by the 'Basic Shape' element. + All the <set> elements have a begin attribute + set to 0s with an offset of 1s after end. + So, the animation will apply 1s after the document is loaded + and will repeat every 1s after the animation ends. +

+

+ The first <set> validates the fill property, with + fill set to orange. When applied directly to the 'Basic Shape' + element, the <rect> fill value will change to orange + when it is translated to the right every 1s. When applied + to the <g> and <a> elements, the <rect> + inherits the fill value and is orange. +

+

+ The second <set> validates the fill-style property, + with fill-style set to evenodd. When applied to the + 'Basic Shape' element, the <polyline> fill-style is + changed from nonzero to evenodd. When applied to the + <g> and <a> elements, the <polyline> inherits + the evenodd fill-style. +

+

+ the third <set> validates the stroke property. + In this case fill is set to none. When stroke is applied + to the 'Basic Shape' element, the <rect> on the right + appears with the stroke color. When applied to the <g> and + <a> elements, the <rect> inherits the stroke property. +

+

+ the fourth <set> validates the stroke-width property, + with stroke-width set to 4. When stroke-width is applied + to the 'Basic Shape' element, the <line> on the right + has a width of 4. When applied to the <g> and + <a> elements, the <line> inherits the stroke-width. +

+

+ the fifth <set> validates the stroke-linecap property, + with stroke-linecap set to round. When stroke-linecap is applied + to the 'Basic Shape' element, the <line> stroke-linecap + value switches from butt to round. When applied to the <g> + and <a> elements, the <line> inherits the + square stroke-linecap. +

+

+ the sixth <set> validates the stroke-linejoin property, + with stroke-linejoin set to bevel. When stroke-linejoin is applied + to the 'Basic Shape' element, the <line> stroke-linejoin + value switches from miter to bevel. When applied to the <g> + and <a> elements, the <line> inherits the + bevel stroke-linejoin. +

+

+ the seventh <set> validates the stroke-miterlimit property, + with stroke-miterlimit set to 10. When stroke-miterlimit + is applied to the 'Basic Shape' element, the miter-length to + stroke-width ratio exceeds the miter-limit and the + <polyline> switches from bevel to miter.When applied + to the <g> and <a> elements,the <line> + inherits the stroke-miterlimit. +

+

+ the eighth <set> validates the stroke-dashoffset property, + with stroke-dashoffset set to 5.5. When stroke-dashoffset is applied + to the 'Basic Shape' element, the <line> has a different + dashing pattern. When applied to the <g> and <a> + elements, the <line> inherits the property. +

+

+ the ninth <set> validates the display property, + with display set to none. When display is applied + to the 'Basic Shape' element, the <rect> does not + appear on the right. When applied to the <g> and <a> + elements, the <line> inherits the display property and + hence is not seen. +

+

+ the tenth <set> validates the visibility property, + with visibility set to hidden. When visibility is applied + to the 'Basic Shape' element, the <rect> is hidden + on the right. When applied to the <g> and <a> + elements, the <line> inherits the visibility property + and hence is not seen. +

+

+ the eleventh <set> validates the color property, + with color set to blue. When color is applied to the + 'Basic Shape' element, the <rect> on the right + switches from default color of black to blue. When + applied to the <g> and <a> + elements, the <line> inherits the color property. +

+

+ The eleventh <set> validates the color property, with + color set to orange. When applied directly to the 'Basic Shape' + element, the <rect> fill value will change to orange + when it is translated to the right every 1s. When applied + to the <g> and <a> elements, the <rect> + inherits the color value, and via its fill="currentColor" + becomes orange. +

+ + +

Run the test. No interaction required.

+
+ +

The document is animated such that it alternates between two states, + an alternation occurring every second. In each row there are three + sub-tests, which must behave identically except for any differences + noted below. Each sub-test consists of a colored shape that in one + state appears in the left column and in the second state appears in + the right column. The test is passed if the following conditions are + met:

+
    +
  • For the fill-rule, stroke-width, stroke-linecap, stroke-linejoin, + stroke-miterlimit and stroke-dashoffset rows, the red shape must + take the exact shape and position of the two gray silhouettes + when animating between the two states.
  • +
  • For the fill row, the colored square must take the exact + shape and position of the two gray silhouettes when animating + between the two states. When in the left column, it must be red, + and when in the right column, it must be orange.
  • +
  • For the color row, the colored square must take the exact + shape and position of the two gray silhouettes when animating + between the two states. When in the left column, it must be + red, and when in the right column, it must be orange.
  • +
  • For the stroke row, the shape must be invisible when in the + left column, and must be a red-stroked, empty-filled square + matching the size and position of the gray silhouette when + in the right column.
  • +
  • For the display and visibility rows, the shape must be a red + square matching the size and position of the gray silhouette + when in the left column, and must be invisible when in the right + column.
  • +
+
+ + $RCSfile: animate-elem-78-t.svg,v $ + + + + + + + + + graphics + + + fill + fill-rule + stroke + stroke-width + stroke-linecap + stroke-linejoin + stroke-miterlimit + stroke-dashoffset + display + visibility + color + + + + 'Basic Shape' + <g> + <a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-80-t.svg b/Tests/W3CTestSuite/svg/animate-elem-80-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ba831cb72683939561a556a1183821523ee45b15 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-80-t.svg @@ -0,0 +1,312 @@ + + + + + + + + + + + + +

+ This test demonstrates validates the operation of the + animateTransform element and validates the operation + of the different type attribute values. +

+

+ There are 5 possible values for the type attribute and + there is one animateTransform for each type and two for + the translate type. +

+

+ For each transform type, the test has a corresponding animateTransform. + The test uses references to show what the expected transform should be + at different points in the animation. For example, the top left + animateTransform, for type=rotate, shows circular markers which turn + orange at the time of corresponding transform value should be set by the + animateTransform. + The marker elements show the expected transform value on reference + markers in the test. +

+ + +

Run the test. No interaction required.

+
+ +

The test has eight sub-tests, each of which consists of a brown + shape being animated in some way with the animation starting two + seconds after the document is loaded. Gray shapes are used + to indicate points along the animation. The test passes if + the brown shape in each of the sub-tests is animated correctly, + according to the following descriptions:

+
    +
  • In the two "type=rotate" sub-tests, the brown line is rotated + clockwise about one of its end points for one complete revolution, + and then immediately performs the reverse animation where it is + rotated anti-clockwise for one complete revolution. During the + animation, whenever the other end point of the line coincides + with one of the gray filled circles, the circle briefly glows yellow.
  • +
  • In the "type=skewX" sub-test, the brown line continuously skewed. + It starts off coinciding with the middle gray silhouette, and then + over the course of the animation coincides with the left gray silhouette, + the middle one, the right one and finally the middle one again. + During the animation, whenever the brown line coincides with one of the gray silhouettes, + the silhouette briefly glows yellow.
  • +
  • In the "type=skewY" sub-test, the brown line continuously skewed. + It starts off coinciding with the middle gray silhouette, and then + over the course of the animation coincides with the top gray silhouette, + the middle one, the bottom one and finally the middle one again. + During the animation, whenever the brown line coincides with one of the gray silhouettes, + the silhouette briefly glows yellow.
  • +
  • In the two "type=translate" sub-tests, the brown circle is continuously + translated. It starts off coinciding with the left-most gray circle, and + over the course of the animation coincides each of the other gray circles + from left to right. During the animation, whenever the brown circle coincides with one of the + gray circles, the circle briefly glows yellow.
  • +
  • In the two "type=scale" sub-tests, the brown circle is continuously + scaled. There are four concentric gray stroked circles indicating the + sizes the brown circle will take during the animation, although they + are only all visible at the end of the animation. (Initially only the + largest one is visible.) The brown circle + starts off with a size coinciding with the largest gray circle, and + over the course of the animation coincides each of the other gray circles + from outside in. During the animation, whenever the brown circle coincides with one of the + gray circles, the circle briefly glows yellow.
  • +
+
+ + $RCSfile: animate-elem-80-t.svg,v $ + + + + + + + + + <animateTransform> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type=rotate + + + + + + + + + + + + + + + + + + + type=skewX + + + + + + + + + + + + + + + + + + + + + + type=skewY + + + + + + + + + + + + + + + + + + + + + + + type=scale + (sx and sy) + + + + + + + + + + + + + + + + + + + + + + + + + + + type=rotate + (with cx/cy) + + + + + + + + + + + + + + + + + + + + + + + + + + + type=translate + (tx only) + + + + + + + + + + + + + + + + + + + + + + + + + + + type=translate + (tx and ty) + + + + + + + + + + + + + + + + + + + + + + + type=scale + (sx only) + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-81-t.svg b/Tests/W3CTestSuite/svg/animate-elem-81-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e6fd01c0d0e78d8e938b47ae85a80b2b52d90cad --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-81-t.svg @@ -0,0 +1,162 @@ + + + + + + + + + + + + +

+ This test tests the operation of the animateTransform's + additive behavior. +

+

+ The first two rectangles, on the top row, show the effect of the + additive attribute on animateTransform. The left-most + animateTransforms have their additive attribute set to replace, + so the effect of the two transform animation is as if only the + highest priority one applied because it replaces the underlying + value. The second animateTransforms (from left to right) have + their additive attribute set to sum, which means the transforms + they produce are concatenated. +

+

+ The last two rectangles, on the top row, show the effect of the + accumulate attribute on animateTransform. For the left one + (third on the row, from left to right), the accumulate attribute + is set to none. There are two repeats for the + animateTransform. Therefore, the transform goes twice from a + scale(1,1) to a scale(2,2). For the right-most animateTransform, + the accumulate attribute is set to sum. There are two repeats + and the animation goes from scale(0,0) to scale(2,2) for the + first iteration and then from scale(2,2) to scale(4,4) (because + the result of the second iteration is added to the + scale(2,2) result of the previous, first iteration). +

+

+ The rectangles on the bottom row show the combination of + additive and cumulative behavior. The left rectangle's + animateTransform accumulate behavior is set to none but its + additive behavior is set to sum. Therefore, the transform's + underlying value (skewX(30)) is always pre-concatenated to the + animateTransform's result, which goes from "skewX(30) + scale(1,1)" to "skewX(30) scale(2,2)" in each of its two + iterations. The right rectangle's animateTransform accumulate + behavior is set to sum and the additive behavior is also set to + sum. Therefore, the transform's underlying value is always + pre-concatenated, and repetitions of the scale animation + get added together. Consequently, the transform goes from "skewX(30) + scale(0,0)" to "skewX(30) scale(2,2)" for the first iteration + and then from "skewX(30) scale(2,2)" to "skewX(30) + scale(4,4)" for the second iteration. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test is passed if:

+
    +
  • the scale of the upper leftmost grey rectangle is smoothly animated over the course of 5 seconds to completely fill the upper leftmost yellow rectangle
  • +
  • the scale and rotation of the second upper grey rectangle from the left is smoothly animated over the course of 5 seconds to fill the second upper yellow rectangle from the left
  • +
  • the scale of the upper third grey rectangle from the left is smoothly animated over the course of 2.5 seconds to completely fill the upper third yellow rectangle from the left, and then repeated once so that at time t=5 seconds it completely fills the same yellow rectangle
  • +
  • the scale of the upper rightmost grey rectangle is smoothly animated over the course of 5 seconds to completely fill the upper rightmost yellow rectangle
  • +
  • the scale of the lower leftmost grey rectangle is smoothly animated over the course of 2.5 seconds to completely fill the lower leftmost yellow rectangle, and then repeated once so that at time t=5 seconds it completely fills the same yellow rectangle
  • +
  • the scale of the lower rightmost grey rectangle is smoothly animated over the course of 5 seconds to completely fill the lower rightmost yellow rectangle
  • +
+
+ + $RCSfile: animate-elem-81-t.svg,v $ + + + + + + + + + <animateTransform> + + + + + + + + + + + + + + + additive=replace + + + + + + + + + additive=sum + + + + + + + + accumulate=none + additive=replace + + + + + + + + accumulate=sum + additive=replace + + + + + + + + accumulate=none + additive=sum + + + + + + + + accumulate=sum + additive=sum + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-82-t.svg b/Tests/W3CTestSuite/svg/animate-elem-82-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b0c29a8797a1ec021ac0c5f3d7c9ece90e81b742 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-82-t.svg @@ -0,0 +1,301 @@ + + + + + + + + + + + + +

+ This test demonstrates validates the operation of + animateTransform with regards to the rotation center + and with regards to paced animation. +

+

+ The following descriptions describe the various animations, + going top bottom, left to right. For each animation, orange + rectangle markers show the expected position for the animated rectangle + halfway through the animation. The markers are drawn with a thick + stroke for 0.2s, starting at the time when they reflect the + expected position. +

+

+ The first animateTransform has type='rotate' and goes from + 45 degrees to 90 degrees over a period of 3s. The rotation + center for the from and to values is 0, 0. At 0 seconds, the + expected transform should be rotate(45). At 1.5 seconds, the + expected transform is rotate(0.5 * (90 + 45)) = rotate(67.5). + At 3s, the expected transform is rotate(90). +

+

+ The second animateTransform has type='rotate' but has a + rotation center that varies between the from and to values. + The rotation goes from rotate(45,0,0) to rotate(90,-15,-15). + At 0s, the expected transform is rotate(45,0,0). + At 1.5s, the expected transform is rotate(67.5, -7.5, -7.5). + At 3s, the expected transform is rotate(90, -15, -15). +

+

+ The third animateTransform has type='translate' and calcMode='paced'. + The animation goes from translate(-40,40) to translate(-20,20) to + translate(40,-40). + At 0s, the expected transform is translate(-40,40). + At 1.5s, the expected transform is translate(0,0). + At 3s, the expected transform is translate(40,-40). +

+

+ The fourth animateTransform has type='translate' and calcMode='linear'. + The animation goes from translate(-40,40) to translate(-20,-20) to + translate(40,-40). + At 0s, the expected transform is translate(-40,40). + At 1.5s, the expected transform is translate(-20,-20). + At 3s, the expected transform is translate(40,-40). +

+

+ The fifth animateTransform has type='scale' and calcMode='paced'. + The animation goes from scale(1,2) to scale(3,2) to + scale(1,1). + At 0s, the expected transform is scale(1,2). + At 1.5s, the expected transform is scale(3,2). + At 3s, the expected transform is scale(1,1). +

+

+ The sixth animateTransform has type='scale' and calcMode='linear'. + The animation goes from scale(1,2) to scale(3,2) to + scale(1,1). + At 0s, the expected transform is scale(1,2). + At 1.5s, the expected transform is scale(3,2). + At 3s, the expected transform is scale(1,1). +

+

+ The seventh animateTransform has type="rotate" and calcMode='paced'. + The animation goes from rotate(0,0,0) to rotate(45,-15,-20) to + rotate(180,30,50). The total length along the rotation angle component + is (45 - 0) + (180 - 45) = 180. The total length along the rotation + center along the x axis is (0 - (-15)) + (30 - (-15)) = 45 + 15 = 60. + The total length along the rotation center along the y axis is + (0 - (-20)) + (50 - (-20)) = 20 + 70 = 90. + At 0s, the expected transform is rotate(45,-15,-20). + At 1.5s, the expected transform is rotate(90,0,5) to achieve constant + velocity along the rotation angle component, the x-axis rotation center + component and the y-axis rotation center component. At 1.5s, half the + distance has been run on each component. For the rotation angle, this + means that 45 has been reached and that 45 more degrees in the (45 <= r < 180) + interval have been consumed. For the x-axis rotation center, this means + that 30 units have been run: the (0 >= x > -15) interval has been fully consumed + (15 units long) and 15 units on the (-15 <= x < 30) interval have been consumed, + which explains the computed 0 value. For the y-axis rotation center, this + means that 45 units have been run: the (0 >= y > -20) interval has been fully + consumed and 25 units have been consumed in the (-20 <= y < 50) interval, which + explains the computed 5 value. + At 3s, the expected transform is rotate(180,30,50). +

+ + + Run the test. No interaction required. + + +

+ The test is passed if the lightgray rectangles are exactly in the positions indicated by each of the orange rectangles when they are shown with a thick stroke. If any part of the lightgray + rectangles are outside the thick stroked orange rectangles then the test has failed. +

+
+ + $RCSfile: animate-elem-82-t.svg,v $ + + + + + + + + + <animateTransform> + + + + + + + + + + + + + + + + + + + + + + + + + + same rotation + center + + + + + + + + + + + + + + + + + + + different rotation + centers + + + + + + + + + + + + + + + + + + + paced translation + + + + + + + + + + + + + + + + + + + linear translation + + + + + + + + + + + + + + + + + + + + + paced scale + + + + + + + + + + + + + + + + + + + + linear scale + + + + + + + + + + + + + + + + + + + paced rotation + + + + + + + + + + + + + + + + + + + linear rotation + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-83-t.svg b/Tests/W3CTestSuite/svg/animate-elem-83-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b64a7c6504d72be9378dec5761eb99d21cf7f4a1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-83-t.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + +

+ This test validates the operation of the animate element + on the <path> element's d attribute. +

+

+ The following descriptions references to the tests by number. The first test + is the one showing on the top left. The last, sixth test is the one showing + at the bottom right. Test numbers are alocated from left to right and from + top to bottom. + + For each test, there are reference outline markers which show the expected + animated shape at different times in the animation. At the time of the expected + shape, the outline of the expected shape is drawn with a thick stroke for 0.2s + so the test user can visually check that the shapes are matching at the + expected times. +

+

+ The first test validates a simple from-to animation on a path's d attribute + made of M, C and Z commands where both the from and to attributes are specified. + The attributes are compatible with the path element's d attribute. +

+

+ The second test validates a simple to-animation on a path's d attribute + made of M, C and Z commands where the to attribute is specified. + The attribute is compatible with the path element's d attribute. +

+

+ The third test validates a simple values-animation on a path's d attribute + made of M, C and Z commands where the values attribute is specified and + specifies three seperate values. + The attribute is compatible with the path element's d attribute. +

+

+ The fourth, fifth and sixth tests validate that interpolation between compatible + path values (i.e., path values which normalize to the compatible values) is + supported. +

+

+ The fourth tests interpolation between a path value containing H, V and L commands + (in the from value) and a path value containing compatible h, v and l commands + (in the to value). +

+

+ The fifth tests interpolation between a path value containing C and S commands + (in the from value) and a path value containing compatible c and s commands + (in the to value). +

+

+ The sixth tests interpolation between a path value containing Q, T and A commands + (in the from value) and a path value containing compatible q, t and a commands + (in the to value). +

+ + +

Run the test. No interaction required.

+
+ +

The test consists of six sub-tests. In each sub-test, the light gray filled + path must continously morph its shape, starting one second after the document + load and continuing for three seconds. In all sub-tests except for #3, there are + two orange reference shape outlines between which the gray path must morph. + In sub-test #3, there are three reference shapes. The test passes if each of the + gray shapes morphs appropriately according to the following descriptions:

+
    +
  1. The gray shape must morph from the diamond to the flower-like shape.
  2. +
  3. The gray shape must morph just like sub-test #1, from the diamond to the flower-like shape.
  4. +
  5. The gray shape must morph from the diamond, to the flower-like shape, and then to the large, rounded diamond shape.
  6. +
  7. The gray shape must morph from the lower-right pointing kite shape to the upper-left pointing kite shape.
  8. +
  9. The gray shape must morph from the tall shape to the wide shape.
  10. +
  11. The gray shape must morph from the wide "D" shape to the narrow "D" shape.
  12. +
+

In addition, during the animations whenever the gray shape has the same shape as + a reference shape, the stroke of the reference shape must be shown thicker momentarily.

+
+ + $RCSfile: animate-elem-83-t.svg,v $ + + + + + + + + + <animate> on <path>'s d attribute + + + + + + + + + + + + + + + + + + + + + + + + #1: from-to animation + + + + + + + + + + + + + + + + #2: to animation + + + + + + + + + + + + + + + + + + + + #3: values animation + + + + + + + + + + + + + + + + #4: from-to animation + compatible H/h, V/v, + L/l segments + + + + + + + + + + + + + + + + #5: from-to animation + compatible C/c + s/S segments + + + + + + + + + + + + + + + + #6: from-to animation + compatible Q/q, T/t + segments + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-84-t.svg b/Tests/W3CTestSuite/svg/animate-elem-84-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..cdf35fb3700144e9d24fba47a0920df019757d1b --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-84-t.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+ Test animation of color keywords that resolve to animatable RGB values. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if five + black squares are shown, after two seconds, all five squares turn red and + then smoothly animate the fill color to green over the next five seconds. +

+
+ + $RCSfile: animate-elem-84-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + currentColor + green + inherit + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-85-t.svg b/Tests/W3CTestSuite/svg/animate-elem-85-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..cecac6a8fd6fed8912e8d225c697a7205f5fd6f3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-85-t.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + +

+ The first subtest tests animateColor with 'to' and 'from' values including + currentColor. The second subtest checks that the value of currentColor is the + current animated value of the color property, by animating the color property + at the same time as animating fill with a 'from' or 'to' value of currentColor. +

+ + + +

Run the test. No interaction required. +

+
+ +

+ The first subtest is passed if all + four rectangles at the top smoothly animate from black to green over 5 seconds. + During this time the bottom two rectangles must be blue.

+

The second subtest, which starts after the first one completes, is passed if + the bottom two rectangles smoothly animate from green (at five seconds), through + dark cyan (at 7.5 seconds), to cyan (at 10 seconds and above). Colored circles + indicate the appropriate colors at these times. +

+
+ + $RCSfile: animate-elem-85-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-86-t.svg b/Tests/W3CTestSuite/svg/animate-elem-86-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7ef5eb8f9d629f5dc63bb9920b09971b1b014626 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-86-t.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + +

+ [[Describe which section and what specific assertion is being tested + by the test. If the test has a number of sub tests, multiple + "testComponent" elements can be specified within the "testDescription" + element.]] +

+ + +

+ This tests performs tests on fill="freeze" values. +

+

+ Currently, this test does not claim to show correct + behaviour in SVG 1.1. The reason is only to show the + difference between current viewers at this point. +

+

+ When the correct behaviour has been defined, this test + can be adjusted to reflect that. +

+
+ +

+ [[Describe the pass criteria of the test here. The pass criteria is what + should be displayed when the test is run.]] +

+
+ + $RCSfile: animate-elem-86-t.svg,v $ + + + + + + + + + fill="freeze" with discrete calcMode + + + + discrete + + + + > 2s + 0s-2s + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-87-t.svg b/Tests/W3CTestSuite/svg/animate-elem-87-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..812c98e1c5e16dc2c1383644d5a6617f5dd95fa5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-87-t.svg @@ -0,0 +1,89 @@ + + + + + + + + + + +

+ This tests that the underlying value of a scale transformation + is 0. Since SMIL defines a by animation as being equivalent + to an additive values animation where the first value is zero and + the second value is the by value, such an animation would + begin by post-multiplying a scale(0) transformation to + the element's underlying transform list. +

+ + +

+ The test consists of two circles: an orange circle on the left, + which serves as a reference, and a blue circle on the right, + whose transform attribute is animated. Animation of + the circles begins at t=1s and lasts for 3s. +

+

+ The transform animation that applies to the blue circle is of type + "scale", and specifies by="1". Since the animation is + considered to be equivalent to one that specifies from="0" to="1", + when the animation begins the circle will be scaled down to a point, + and then will be scaled up until it reaches its original size at + t=4s. +

+
+ +

+ The test is passed if the blue circle on the right is always the same + size as the orange circle on the left. The test runs from t=0s until + t=4s. +

+
+ + $RCSfile: animate-elem-87-t.svg,v $ + + + + + + + + + + Test zero value of a scale transform animation + + + + + + + Reference + + + + + + + <animateTransform type='scale' by='1'/> + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-88-t.svg b/Tests/W3CTestSuite/svg/animate-elem-88-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d523f7704e128eff5502c8b81a020f6bc34bc1bf --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-88-t.svg @@ -0,0 +1,67 @@ + + + + + + + + + + +

+ This tests that any which space before semicolon separators in + a values="" attribute on an animation element is ignored. +

+

+ The test consists of a single rectangle whose height is animated + with a values=" 0 ; 50 " attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the rectangle is animated from a height of + 0 to a height of 50 over four seconds, starting from when the + test is loaded. +

+
+ + $RCSfile: animate-elem-88-t.svg,v $ + + + + + + + + + + Test values attribute list syntax + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-89-t.svg b/Tests/W3CTestSuite/svg/animate-elem-89-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..07aee20f910bad02857246fc9c00d276667e9e58 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-89-t.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + +

+ Tests clarification of value spacing of keySpline syntax; whitespace, or commas with optional whitespace, are allowed. +

+

+ Test possible values for 'calcMode="spline"', with both commas, whitespace, and mixed separators +

+

+ Six animations (three sets of two) have been defined. The three green ones on the left show rectangles which get smaller. The three orange ones on the right show rectangles of constant size, which move. + The black text and grey ruler lines help show the sizes and movement of the rectangles over time. + +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the bottom edge of all six animated rectangles move together in sync. +

+
+ + $RCSfile: animate-elem-89-t.svg,v $ + + + + + + + + + + + + + 0 sec. + 3 sec. + 6 sec. + 9+ sec. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-90-b.svg b/Tests/W3CTestSuite/svg/animate-elem-90-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1d0d1b08e79b5fe68cd8eac01a5a195707e0280e --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-90-b.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + +

+ Test that the class attribute is animatable and that style + sheets select on the animated value. + + +

+ + +

+ This test uses the following elements : 'set', + and 'animate'. It requires that CSS style sheets are supported. +

+

+ The test shows a circle which is initially hidden, becomes visible and blue at + 3s, abruptly changing to dark red at 5s. Two overlapping animations both animate the + class attribute. The class attribute, as a string value, does not support + linear interpolation so a discrete animation is produced, changing from the + start to the end value midway through the animation duration. +

+

+ The first animation starts at 2s and lasts for 4s so the mid point is at 3s. + The second animation starts at 3s and lasts for 4s so the midpoint is at 5s. + The file includes various guides that can be used to verify the + correctness of the animation. The value of the class attribute + at 02 is "start" so the first CSS rule matches. At 3s it becomes "midway" + so the second rule matches. At 5s it becomes "final midway" so the second and + third rules match; the third rule has higher specificity so determines the fill color. + +

+
+ +

+ The color of the large circle must match the colour of the smaller guide + boxes on the left at times 0s, 3s and 5s. If the text "CSS not supported" + is visible, the test does not apply. +

+
+ + $RCSfile: animate-elem-90-b.svg,v $ + + + + + + + + + + + + Color at start + + + Color at 3s + + + Color at 5s + + + + + + + + + + + + CSS not supported + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-91-t.svg b/Tests/W3CTestSuite/svg/animate-elem-91-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a3b0a67f86ad5af83e43ba64815aa84b3791b1b4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-91-t.svg @@ -0,0 +1,198 @@ + + + + + + + + + + + + +

+ This tests that to-animations on attributes whose values cannot be + interpolated are treated as discrete animations. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if there initially eight red squares in the + left column when the document is loaded and the all move + at the same time to the right column two seconds after the + document is loaded. +

+
+ + $RCSfile: animate-elem-91-t.svg,v $ + + + + + + + + + + Testing <animate to=""> with non-interpolable attributes + + + + 0s-2s + > 2s + + + + (reference) + + + + + + + + + + + + class + + + + + + + + + + + clipPathUnits + + + + + + + + + + + + + in + + + + + + + + + + + + + + + + + + + + + + + preserveAspectRatio + + + + + + + + + + + + + + + + + + + spreadMethod + + + + + + + + + + + + + + + + + + + + + + + xlink:href + + + + + + + + + + + + + + + display + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/animate-elem-92-t.svg b/Tests/W3CTestSuite/svg/animate-elem-92-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..95b5f07034c0f5f4f41efac4032df4b1895362fb --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-elem-92-t.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + +

+ This tests checks the behavior of discrete to-animations. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if after five seconds, in each of the three rows, + the red rectangle is in the column at the times indicated. + Thus, from the document load until 2s afterwards, the red + square in all three rows must be in the left column. At 2s, + all three red squares must move to the right column. At 4s, + the red square in the first row must move to the left column + and the other two red squares must remain in the right column.

+
+ + $RCSfile: animate-elem-92-t.svg,v $ + + + + + + + + + discrete to-animation + + + without freezing + with freezing + with keyTimes + + + + 0s-2s + > 4s + 2s-4s + + + 0s-2s + > 2s + + + + 0s-2s + > 2s + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-interact-events-01-t.svg b/Tests/W3CTestSuite/svg/animate-interact-events-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a0014c5de988788758508bf1eba79a4eff25b92e --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-interact-events-01-t.svg @@ -0,0 +1,116 @@ + + + + + + + + + + +

Tests 'mouseover' event on SVGElementInstance

+

+ What each case tests is as follows. + Case 1: mouseover event on SVGElementInstance. Referenceing an element that contains an event. + Case 2: mouseover event on referencing element. Event bubbling from SVGElementInstance to referencing element. + Case 3: mouseover event on parent of referencing element. Event bubbling from SVGElementInstance to referencing element ancestors. + Case 4: mousedown event on referencing element. SVGElementInstance is not effected by event listener on referencing element. +

+ + +

+ Mouseover each of the red rectangles, and then click on the bottommost rectangle. +

+
+ +

+ This test contains four cases. The cases must produce the following results for the test to pass. +

+
    +
  • Case 1: On a mouseover event on the top square, all four squares must turn blue.
  • +
  • Case 2: On a mouseover event on the top middle square, all four squares must turn blue and a black stroke + must appear on the referencing square (element).
  • +
  • Case 3: On a mouseover event on the bottom middle square, all four squares must turn blue and a black + stroke must appear on the referencing square (element).
  • +
  • Case 4: On a mouseover event on the bottom square, all four squares must turn blue, and on a mousedown event + a black stroke must appear on the referencing square (element).
  • +
+
+ + $RCSfile: animate-interact-events-01-t.svg,v $ + + + + + + + + + + + + + + + + + Shadow tree event listener chain + + + + Case 1: on mouseover all squares must turn blue + + + + + + + + + Case 2: on mouseover all squares must turn blue + and a black stroke must appear on reference square + + + + + + + + + + + + Case 3: on mouseover all squares must turn blue + and a black stroke must appear on reference square + + + + + + + + + + Case 4: on mouseover all squares must turn blue + and on mousedown a black stroke must appear on reference square + + + + + $Revision: 1.2 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-01-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d51b7ea6eb097412eb846392ff435348061d192 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-01-t.svg @@ -0,0 +1,285 @@ + + + + + + + + + + + + +

+ This test tests 'pointer-events' on text. Initially you should see four big rects with black stroke. + In the uppermost rect there should be 10 'O':s with black fill. + In the second rect from the top there should be 10 'O':s with no fill but with black stroke. + In the third and fourth rects there should be no visible 'O':s at all. + In the fourth rect there should be two green rects, and in each of the other three rects there should be one green rect. +

+ + +

+ Using the pointer device move the cursor over each of the four black-stroked rectangles from left to right. + As the mouseover event triggers, the 'O':s will become visible and marked + in either green (a pass) or red (an immediate fail). Some 'O':s will not + change when the pointer is moved over them. +

+
+ +

+ The test has passed if after moving the cursor over all the rects: +

+
    +
  1. all the 'O':s in the green rects have green fill
  2. +
  3. there are no red 'O':s visible
  4. +
  5. there are 9 green 'O':s in the first and second rect, 4 in the third rect and 6 in the fourth rect
  6. +
+
+ + $RCSfile: animate-interact-pevents-01-t.svg,v $ + + + + + + + + + + Test pointer-events on text + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + + + + + + + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + O + + + + + + + + + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + + + + + + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + O + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-02-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9993ec6eb0805274472accc07cdaba47082856df --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-02-t.svg @@ -0,0 +1,116 @@ + + + + + + + + + + +

Testing pointer-events and rendering order

+ + +

+ Move the mouse over the blue and purple shapes. Click the pink circle at the top right of the page. Move the mouse over the blue and purple shapes again. +

+
+ +

+ For the test to pass the blue rectangles must always turn pink on mouseover, and the ovals must turn pink on mouseover only if pointer-events are set to "ALL". + If a shape other than the one currently hovered turns pink then the test has failed. +

+
+ + $RCSfile: animate-interact-pevents-02-t.svg,v $ + + + + + + + + + + + + Testing pointer-events and rendering order + Rectangles should turn RED on mouseover + Ovals should turn RED if Pointer-Events are set to "ALL" + + + + Change "Pointer-Events" of + ovals from "ALL" to "NONE" + + + + + Purple ovals have "Pointer-Events" set to "ALL". + Purple ovals have Pointer-Events set to "NONE". + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-03-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6fff4f9bf89ca2d46d266a7b13a33e7c6d80f2a1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-03-t.svg @@ -0,0 +1,219 @@ + + + + + + + + + + +

Tests the pointer-events attribute with different 'visible' values

+

+ The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke. + The 4th column (most right column) has a non activatable pointer event as the visibility of the column + is set to hidden. +

+

+ The first row tests the default value for pointer-event, i.e. visible fill and stroke will trigger an event. + The second row tests pointer-events="visiblePainted", i.e. visible fill and stroke will trigger an event. + The third row tests pointer-events="visibleFill", i.e. visible fill only an event. + The fourth row tests pointer-events="visibleStroke", i.e. visible stroke only an event. + The fifth row tests pointer-events="visible", i.e. visible fill and stroke will trigger an event. +

+ + +

+ Slowly move the mouse over the rectangles in each row while checking the pass criteria. +

+
+ +

+ The test is passed if the following conditions are met +

+
    +
  • In the first row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the second row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the third row of squares, the fill only of squares 1, 2 and 3 must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fourth row of squares, the stroke only of squares 1, 2 and 3 must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fifth row of squares, the fill and stroke of squares 1, 2 and 3 must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
+
+ + $RCSfile: animate-interact-pevents-03-t.svg,v $ + + + + + + + + + + + Testing pointer-events - pale RED rect should appear on mouseover. + + + 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke + + + + + + + + + + + + + + + + + + + + + + + + + default : + fill and stroke of rects 1 and 3 must trigger + + + + + + + + + + + + + + + + + + + + + + + + visiblePainted : + fill and stroke of rects 1 and 3 must trigger + + + + + + + + + + + + + + + + + + + + + + + + + + + visibleFill : + only fill of rects 1, 2 and 3 must trigger + + + + + + + + + + + + + + + + + + + + + + + + + + + visibleStroke : + only stroke of rects 1, 2 and 3 must trigger + + + + + + + + + + + + + + + + + + + + + + + + + + + visible : + fill and stroke of rects 1, 2 and 3 must trigger + + + + + + $Revision: 1.2 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-interact-pevents-04-t.svg b/Tests/W3CTestSuite/svg/animate-interact-pevents-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c0a45e813f989072f4504c491438a164d21bc44c --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-interact-pevents-04-t.svg @@ -0,0 +1,208 @@ + + + + + + + + + + +

Tests the pointer-events attribute with different painting values

+

+ The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke. + The 4th column has visibility set to hidden. +

+

+ The first row tests pointer-events="painted", i.e. event on fill and stroke that are set. + The second row tests pointer-events="fill", i.e. event on a fill that is set. + The third row tests pointer-events="stroke", i.e. even on a stroke that is et. + The fourth row tests pointer-events="all", i.e. event on fill and stroke that are set. + The fifth row tests pointer-events="none", i.e. no event. +

+ + +

+ Slowly move the mouse over the rectangles in each row while checking the pass criteria. +

+
+ +

+ The test is passed if the following conditions are met: +

+
    +
  • In the first row of squares, the fill and stroke of squares 1, 3 and 4 only must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the second row of squares, the fill only of all squares must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the third row of squares, the stroke only of all must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fourth row of squares, the fill and stroke of all squares must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fifth row of squares, nothing is to trigger on mouseover.
  • +
+
+ + $RCSfile: animate-interact-pevents-04-t.svg,v $ + + + + + + + + + + + Testing pointer-events - pale RED rect should appear on mouseover. + + + 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke + + + + + + + + + + + + + + + + + + + + + + + + + painted : + fill and stroke of rects 1, 3 and 4 must trigger + + + + + + + + + + + + + + + + + + + + + + + + fill : + fill of rects 1 to 4 must trigger + + + + + + + + + + + + + + + + + + + + + + + + stroke : + stroke of rects 1 to 4 must trigger + + + + + + + + + + + + + + + + + + + + + + + + all : + stroke and fill of rects 1 to 4 must trigger + + + + + + + + + + + + + + + + + + + + + + + + none : + nothing is to trigger + + + + + + $Revision: 1.2 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-pservers-grad-01-b.svg b/Tests/W3CTestSuite/svg/animate-pservers-grad-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f0fdb9a92a9964b5a5a5f460e206b5b70d75405 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-pservers-grad-01-b.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + +

+ This test shows rectangles filled with animated gradient which inherits some of their properties: stop-color, stop-opacity. +

+ + +

+ Load the svg and wait 5 seconds for the animation to run, then compare the image to the reference. +

+
+ +

+ The correct result should show: +

+
    +
  • the top-left rectangle filled initially with a linear green-to-red gradient and turning into a solid green color after 5s.
  • +
  • the top-right rectangle filled initially with a green gradient fully opaque on the left and half transparent on the right, but after 5s the rectangle should be filled with a fully opaque solid green.
  • +
  • the bottom-left rectangle filled with a static green-to-black opaque gradient.
  • +
  • the bottom-right rectangle initially filled with a green-to-yellow fully-opaque gradient animated and turning into a fully-opaque green solid color.
  • + +
+
+ + $RCSfile: animate-pservers-grad-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/animate-script-elem-01-b.svg b/Tests/W3CTestSuite/svg/animate-script-elem-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c6da8c51bfa074789a4d2fff3bf103a9cdac8d00 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-script-elem-01-b.svg @@ -0,0 +1,90 @@ + + + + + + + + + + +

+ This tests that the 'xlink:href' attribute on the 'script' element is not animatable. +

+

+ After loading the test and waiting one second, two rectangles + will appear, indicating the result of two sub-tests. The + upper rectangle reflects the result of testing that an + attempt to animate 'xlink:href' on 'script' does not affect + the .href.animVal of the element. The lower rectangle reflects + the result of testing that the animation attempt does not + cause a new script to be loaded and executed. Black indicates + that the sub-test did not run, red that it failed and green + that it passed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if both rectangles are green once they + appear one second after loading the test. +

+
+ + $RCSfile: animate-script-elem-01-b.svg,v $ + + + + + + + + + + Test that <script xlink:href=""> is not animatable + + + + + + Test script.href.animVal does not change + Test animating xlink:href="" does not load a script + + + + + + + + + + $Revision: 1.1 $ + + + + diff --git a/Tests/W3CTestSuite/svg/animate-struct-dom-01-b.svg b/Tests/W3CTestSuite/svg/animate-struct-dom-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..3181b620fa0c33fdda205e1eb36bb999a4fae4f5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/animate-struct-dom-01-b.svg @@ -0,0 +1,93 @@ + + + + + + + + + + +

+ This tests that calling SVGSVGElement.getCurrentTime() before the + document timeline has begun returns 0, and that + calling SVGSVGElement.setCurrentTime() before the document timeline + has begun will queue a seek to that time once the timeline + does begin. + After loading the test, two rectangles will be shown. + The left rectangle indicates whether SVGSVGElement.getCurrentTime() + correctly returned 0 before the document timeline had begun. + The right rectangles indicates whether a call to + SVGSVGElement.setCurrentTime() was acted upon once the timeline + did begin. For each rectangle, red indicates that the sub-test + failed and green indicates that the sub-test passed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if both rectangles are green. +

+
+ + $RCSfile: animate-struct-dom-01-b.svg,v $ + + + + + + + + + + Test getCurrentTime() and setCurrentTime() before timeline begin + + + + + + + + getCurrentTime + setCurrentTime + + + + + + $Revision: 1.2 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/color-prof-01-f.svg b/Tests/W3CTestSuite/svg/color-prof-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..7211dd0b2339b8e78a290841ded97d9bdfc0bcd7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/color-prof-01-f.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ The purpose of this test is to determine if an application can apply ICC + color profiles to raster images. The same image is displayed twice; a color profile + is applied to one by the SVG, so that the colors change. +

+ + + +

+ +

+

+ Run the test. No interaction required. +

+
+ +

+ If the two images (each of 9 colored squares) look identical, the test fails. + If the colours in the lower right image are more saturated, brighter versions of + those in the top left image, as shown by the reference image, the test is passed. +

+
+ + $RCSfile: color-prof-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + Basic test of ICC profile with an image. + + + + $Revision: 1.9 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/color-prop-01-b.svg b/Tests/W3CTestSuite/svg/color-prop-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5b7366a3bc3552e100e5df567b778a1ae1d8dd19 --- /dev/null +++ b/Tests/W3CTestSuite/svg/color-prop-01-b.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+ This tests the 'color' property and the 'currentColor' value on fill, stroke, and stop-color properties. +

+ + +

+ Run the test. No interaction required. +

+ +
+ +

+ There are three subtests. The first subtest, to the top left, is passed if the circle has a green fill. The second subtest, + to the top right, is passed if the circle has a green stroke. The third subtest shows a rectangle + with a gradient fill, which has three stops. The subtest is passed if central stop is green, + fading off to blue to the left and pale yellow to the right. +

+
+ + $RCSfile: color-prop-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fill + stroke + stop-color + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/color-prop-02-f.svg b/Tests/W3CTestSuite/svg/color-prop-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3fcc04d56fe1cea25ee8439d51e29d2c32f0c09e --- /dev/null +++ b/Tests/W3CTestSuite/svg/color-prop-02-f.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + +

+ Tests if the color datatype is supported. There are multiple syntaxes for + specifying the same color, such as #37F and #3377FF. This test is focussed on the + X11 color names, which are not part of the tiny profile. + Each group of circles uses four forms - 6-digit hex, rbg() integer form, rgb() percentage form, + and named ('X11') colors. It does not use 3-digit hex, because the colors used in this test + cannot be represented in three digit form. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ For each of the nine groups of circles shown here, all circles must + be identical in color, and the same color as in the reference image. +

+
+ + $RCSfile: color-prop-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/color-prop-03-t.svg b/Tests/W3CTestSuite/svg/color-prop-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..466542ef87fd9ee26c1553928a30d6b2c1b7231d --- /dev/null +++ b/Tests/W3CTestSuite/svg/color-prop-03-t.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + +

+ Tests if the color datatype is supported. There are multiple syntaxes for + specifying the same color, such as #37F and #3377FF. +For each of the six groups shown here, + each of the circles in the group uses one of the syntactical forms +

+

+ The first row uses five forms - 3-digit hex, 6-digit hex, rbg() integer form, rgb() percentage form, + and the 'HTML' subset of the name ('X11') colors. +

+

+ The second row uses only four forms - 3-digit hex, 6-digit hex, rbg() integer form, rgb() percentage form - + as there are no HTML or X11 names for those colors. +

+ + +

+ Run the test. No interaction required. +

+ +
+ +

+ For each of the six groups of circles shown here, all circles must + be identical in color, and the same color as in the reference image. +

+
+ + $RCSfile: color-prop-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/color-prop-04-t.svg b/Tests/W3CTestSuite/svg/color-prop-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e481fc992693f63468198fb0df875761dfce7c9e --- /dev/null +++ b/Tests/W3CTestSuite/svg/color-prop-04-t.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +

+ This tests the 'system' colors. +

+ + +

Run the test. No interaction required.

+
+ +

+ This test has no specific pass criteria, except that no error must be indicated. +

+

+ The colors on your screen might not match the reference + image at all, but they should at minimum be legible and should + preferably resemble the colors used on menus and other user interface + elements on your computer, pda or phone. +

+
+ + $RCSfile: color-prop-04-t.svg,v $ + + + + + + + + + + + + + + + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Vestibulum pulvinar. Duis laoreet, nunc vitae facilisis + tristique, pede sem iaculis mi, non consectetuer lorem + libero et est. Donec imperdiet purus sed odio. Duis + venenatis tortor eu lectus. Suspendisse sed metus at + metus viverra ultricies. Mauris porttitor, justo a vulputate + + + + + Load + + Save + + + + + + + + File + Edit + + + + Lorem + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/color-prop-05-t.svg b/Tests/W3CTestSuite/svg/color-prop-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..466dcda5f11c41b5f4cb5e5f389d6af3ab32d8a0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/color-prop-05-t.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + +

+ Tests the color that is used for the currentColor value in the fill + attribute when more than one color is specified. +

+

+ This is illustrated using a single rectangle that is a child of a group + element. A fill is specified for the group element but not the + rectangle. Colour is specifed for the rectangle and the group element. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if the user agent renders the rectangle with a green + fill. +

+
+ + $RCSfile: color-prop-05-t.svg,v $ + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/conform-viewers-01-t.svgz b/Tests/W3CTestSuite/svg/conform-viewers-01-t.svgz new file mode 100644 index 0000000000000000000000000000000000000000..a4f1d0338c7b5c1a523a56e7b0bbcf0e1e0193e0 Binary files /dev/null and b/Tests/W3CTestSuite/svg/conform-viewers-01-t.svgz differ diff --git a/Tests/W3CTestSuite/svg/conform-viewers-02-f.svg b/Tests/W3CTestSuite/svg/conform-viewers-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..53e570e77fc0d9d42f6c9b9ba41b7d5312a02561 --- /dev/null +++ b/Tests/W3CTestSuite/svg/conform-viewers-02-f.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + +

+ Test that the viewer can read gzipped content in data uri. +

+ + +

+ Open the test in any SVG player. +

+
+ +

+ The test has passed if you see a star in the middle of the test frame. +

+
+ + $RCSfile: conform-viewers-02-f.svg,v $ + + + + + + + + + Test data uri with svgz content + + FAILED + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/conform-viewers-03-f.svg b/Tests/W3CTestSuite/svg/conform-viewers-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..4cfb4e7ca69ced551b87d38798ee3a23667777ec --- /dev/null +++ b/Tests/W3CTestSuite/svg/conform-viewers-03-f.svg @@ -0,0 +1,123 @@ + + + + + + + + + + +

+ This test checks that namespace prefixes are handled correctly. +

+

+ First, a random 20-character string is generated. The string only contains characters that are valid NCName letters. + This string is then used as a custom prefix for an 'href' attribute in the XLink namespace. + An 'image' element is created and two image references are added, one is in the "http://www.this.is.not.an/xlink" namespace, + and one is in the XLink namespace. Only the attribute with the 20-character prefix is actually in the XLink namespace, + which means that that link should be the one that is used when rendering the 'image' element. This first subtest is + using the setAttributeNS method. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The testcase has passed if after the script execution has taken place these conditions are met: +

+
    +
  • There is one pink image visible.
  • +
  • The image doesn't show the word "Fail"
  • +
  • The status message says "No exceptions"
  • +
+
+ + $RCSfile: conform-viewers-03-f.svg,v $ + + + + + + + + + + + + + Generated prefix 1: ... + + + Status: No exceptions. + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-coord-01-t.svg b/Tests/W3CTestSuite/svg/coords-coord-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0019667ca18f5972d768c2452692c1110a006b62 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-coord-01-t.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Tests the default initial coordinate system used by renderer. +

+

Should be 0,0 if not specified. This is illustrated by comparing blue boxes that are + missing a coordinate or all coordinates with yellow boxes that have the + correct coordinates specified. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are three blue boxes, + with small yellow boxes rendered on top of them. These boxes should be + placed along the origin, and x and y axis. +

+
+ + $RCSfile: coords-coord-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-coord-02-t.svg b/Tests/W3CTestSuite/svg/coords-coord-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a6b0a55c56e3f9128f20ceaa7e1d9fadc76a4cff --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-coord-02-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Tests the default units used for the initial coordinate system. This is + illustrated by comparing blue boxes that have no units specified for their + coordinates, with yellow boxes that have px units specified for their + coordinates. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ This test should produce three blue boxes, with small yellow + boxes rendered on top of them. These boxes should be placed along the + origin, x and y axis. +

+
+ + $RCSfile: coords-coord-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-dom-01-f.svg b/Tests/W3CTestSuite/svg/coords-dom-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c254ae7a2ec5ed683d4b984f6a84d828dad2de8b --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-dom-01-f.svg @@ -0,0 +1,115 @@ + + + + + + + + + + +

+ Tests the liveness of SVGTransform.matrix. +

+ + +

+ Load the svg, you should see a green circle. +

+
+ +

+ The test has passed if: +

+
    +
  • There is no red visible
  • +
  • There is a green circle visible
  • +
+
+ + $RCSfile: coords-dom-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-dom-02-f.svg b/Tests/W3CTestSuite/svg/coords-dom-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..42cac3b3f7a78c0ac02d31bfcd220841303b9f84 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-dom-02-f.svg @@ -0,0 +1,96 @@ + + + + + + + + + + +

+ Tests the liveness of SVGTransform.matrix, that the SVGTransform object is updated when the SVGTransform.matrix object is changed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • There is no red visible
  • +
  • There is a green ellipse visible
  • +
+
+ + $RCSfile: coords-dom-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-dom-03-f.svg b/Tests/W3CTestSuite/svg/coords-dom-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b44d16c6bbefdf962f7126a61d36b9ab4c000e76 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-dom-03-f.svg @@ -0,0 +1,116 @@ + + + + + + + + + + +

+ This tests that SVGTransformList.createSVGTransformFromMatrix(), + SVGSVGElement.createSVGTransformFromMatrix() and SVGTransform.setMatrix() + all do not track changes to the SVGMatrix passed to them. +

+

+ After loading the test, three rectangles will be presented. The + upper rectangle indicates the result of testing whether + SVGTransformList.createSVGTransformFromMatrix() behaved correctly, + the middle rectangle indicates the status for SVGSVGElement.createSVGTransformFromMatrix(), + and the bottom rectangle for SVGTransform.setMatrix(). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the three rectangles are green. +

+
+ + $RCSfile: coords-dom-03-f.svg,v $ + + + + + + + + + + Test that some methods taking an SVGMatrix take a copy of it + + + + + + SVGTransformList.createSVGTransformFromMatrix() + SVGSVGElement.createSVGTransformFromMatrix() + SVGTransform.setMatrix() + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-dom-04-f.svg b/Tests/W3CTestSuite/svg/coords-dom-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..9e620bc689afa09b13595a59b8d4c1c223ee4187 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-dom-04-f.svg @@ -0,0 +1,166 @@ + + + + + + + + + + +

+ The test checks the SVGTransformList.consolidate method. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There must be 13 green rectangles visible. + The text next to the first rectangle must say "Scripting enabled". + The other 12 lines must each say "Passed subtest #n" where n is the subtest number 1..12. + If anything red shows, the test has failed. +

+
+ + $RCSfile: coords-dom-04-f.svg,v $ + + + + + + + + + + + + + + + + + Scripting disabled + + + + + + + $Revision: 1.5 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-01-b.svg b/Tests/W3CTestSuite/svg/coords-trans-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..19431e0fe657ddc645673d3561b944a05338f55c --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-01-b.svg @@ -0,0 +1,239 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + translate (50, 50) + + + + + rotate(-90) + + + + + skew x (45) + + + + + skew y (45) + + + + + scale (2) + + + + + + + + + + + + + + + + + + + + + + + + + + + scale(25, 95) and translate(2, 2) + + + + + scale(25, 95) then translate(2, 2) + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-02-t.svg b/Tests/W3CTestSuite/svg/coords-trans-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ef3ab1a88e29216407eaf94045d5038f10781041 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-02-t.svg @@ -0,0 +1,176 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + translate (50, 50) + + + + + rotate(-90) + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-03-t.svg b/Tests/W3CTestSuite/svg/coords-trans-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b1c507c959f9fc9c9f6ac3034fedd46995e6ebbd --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-03-t.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + skew x (45) + + + + + skew y (45) + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-04-t.svg b/Tests/W3CTestSuite/svg/coords-trans-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..3ca3630878ba8ae312f20d28278fd0e01c213013 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-04-t.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + scale (2) + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-05-t.svg b/Tests/W3CTestSuite/svg/coords-trans-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d0d78bf432e905fa5ff04010af207a5e886939a5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-05-t.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-05-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + scale(25, 95) - translate(2, 2) + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-06-t.svg b/Tests/W3CTestSuite/svg/coords-trans-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9b845b2316b93d59298cf7cb2c4f48da4e6806ac --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-06-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-06-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + scale(25, 95) then translate(2, 2) + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-07-t.svg b/Tests/W3CTestSuite/svg/coords-trans-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f9cb6c44ca3f193a77d7920dc0085dd1e15ec6cc --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-07-t.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ The test uses the rect element, the fill color (solid primary colors) and transforms. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text - a long blue line at four o'clock and a short red line at seven o'clock below the text "translate+rotate", and, below and to the left of that, a long green line at four o'clock and a short red line at seven o'clock below the text "rotate+translate". +

+
+ + $RCSfile: coords-trans-07-t.svg,v $ + + + + + + + + + + + + + + rotate+translate + + + + + + translate+rotate + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-08-t.svg b/Tests/W3CTestSuite/svg/coords-trans-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d1cbf594ade663c62c5437327be0fce12591862b --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-08-t.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ This test will check if the transfomations performed are carried out in the proper order. The result should differ depending on which transformation comes first. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-08-t.svg,v $ + + + + + + + + + + + + + + + + + skewX(45)+skewY(45) + + + + + + + + + skewY(45)+skewX(45) + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-09-t.svg b/Tests/W3CTestSuite/svg/coords-trans-09-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d37ef9cce0122f819b98b9e845aec1afc16609b8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-09-t.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of transforms. It tests elementary transforms + and transform nesting. + Note that for layout purposes, this test uses nesting of translation with the elementary transforms. +

+

+ This test will check if the various matrix operations work +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-trans-09-t.svg,v $ + + + + + + + + + + + + + + + matrix(0 0 0 0 0 0) + + + + + + matrix(1 0 0 1 100 100) + + + + + + matrix(1.5 0 0 1.5 70 60) + + + + + + matrix(1 0 0.5 1 30 170) + + + + + + matrix(1 0.5 0 1 100 200) + + + + + + matrix(0 1 -1 0 450 0) + + + + + + matrix(1 0.8 0.8 1 300 220) + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-10-f.svg b/Tests/W3CTestSuite/svg/coords-trans-10-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b50b4c3faf0b2c89bffccb09b9d400f941b76486 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-10-f.svg @@ -0,0 +1,90 @@ + + + + + + + + + + +

+ Translation is equivalent to the matrix [1 0 0 1 tx ty], where 'tx' + and 'ty' are the distances to translate coordinates in X and Y + respectively. The test overlays a group of black graphics elements + with a 'translate' transform specified on top of an identical group + of red elements with the equivalent 'matrix' transform and vice + versa. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-trans-10-f.svg,v $ + + + + + + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-11-f.svg b/Tests/W3CTestSuite/svg/coords-trans-11-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..a5ed7d51887bb5fbe98cf55da5a429cd21f254df --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-11-f.svg @@ -0,0 +1,86 @@ + + + + + + + + + + +

+ Scaling is equivalent to the matrix [sx 0 0 xy 0 0], where one unit in the X and Y directions in the new coordinate system equals 'sx' and 'sy' units in the previous coordinate system respectively.The test overlays a group of black graphics elements with a 'scale' transform specified on top of an identical group of red elements + with the equivalent 'matrix' transform and vice versa. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-trans-11-f.svg,v $ + + + + + + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + $Revision: 1.8 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-12-f.svg b/Tests/W3CTestSuite/svg/coords-trans-12-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b2f9b90378151b4481f07d252afabfea93244478 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-12-f.svg @@ -0,0 +1,88 @@ + + + + + + + + + + +

+ Rotation about the origin is equivalent to the matrix [cos(a) sin(a) -sin(a) cos(a) 0 0], which has the effect of rotating the coordinate system axes by angle 'a'. The test overlays a group of black graphics elements with a 'rotate' transform specified on top of an identical group of red elements + with the equivalent 'matrix' transform and vice versa. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-trans-12-f.svg,v $ + + + + + + + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-13-f.svg b/Tests/W3CTestSuite/svg/coords-trans-13-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0dba07346e59a4090c63697a15e17a0502ca9d78 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-13-f.svg @@ -0,0 +1,87 @@ + + + + + + + + + + +

+ A skew transformation along the x-axis is equivalent to the matrix [1 0 tan(a) 1 0 0], which has the effect of skewing X coordinates by angle 'a'. +The test overlays a group of black graphics elements with a 'skewX' transform specified on top of an identical group of red elements + with the equivalent 'matrix' transform and vice versa. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-trans-13-f.svg,v $ + + + + + + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-trans-14-f.svg b/Tests/W3CTestSuite/svg/coords-trans-14-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..a224a385d6cbc2fcae2a430906f5e4c0166d2a7c --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-trans-14-f.svg @@ -0,0 +1,89 @@ + + + + + + + + + + +

+ A skew transformation along the y-axis is equivalent to the matrix [1 tan(a) 0 1 0 0], which has the effect of skewing Y coordinates by angle 'a'. +The test overlays a group of black graphics elements with a 'skewY' transform specified on top of an identical group of red elements + with the equivalent 'matrix' transform and vice versa. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-trans-14-f.svg,v $ + + + + + + + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + Filler Text + + + + + + + Filler Text + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-01-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b3914f37c2892781d74eed5d2a83462e930db529 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-transformattr-01-f.svg @@ -0,0 +1,94 @@ + + + + + + + + + + +

+ Tests that separating transform definitions by whitespace and/or a comma is supported. The test draws a red 'rect' element with a valid, non-delimited transform list. It overlays it with an identical black rectangle with + equivalent transform list delimted by commas and numerical Unicode references of space (U+0020), tab (U+0009), carriage + return (U+000D), line feed (U+000A), and combination of all five, +so that no red is visible. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-02-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..7e676c7e48f7ad84e2d26eb71cdfe216d5bff0a2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-transformattr-02-f.svg @@ -0,0 +1,93 @@ + + + + + + + + + + +

+ If a list of transforms is provided, then the net effect is as if each transform had been specified separately in the order provided. +

+

The test overlays a black 'rect' with transform list on top of an equivalent red 'rect' with equivalent nested transforms, and vice + versa, so that there is no red visible on the page.

p> + + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-03-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ce5f7a7b810351c9029ffd79aaf764bf0b7036bc --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-transformattr-03-f.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ If 'ty' is not specified for a 'translate' transform, it is assumed to be zero. +

+

+ Specify a series of various red graphics elements. Specify an equivalent series of black graphics elements that are defined to have positions + that are shifted '10' user units to the right of the red graphics elements. Specify a 'transform' value of 'translate' with only the 'tx' value + specified (i.e., 'translate(10)'). If the 'ty' parameter takes the default value of '0' user units, there will be no red on the page. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-04-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..031c89e093c511f207b2cd15bab8ed521c4f4845 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-transformattr-04-f.svg @@ -0,0 +1,60 @@ + + + + + + + + + + +

+ If 'sy' is not specified for a 'scale' transform, it is assumed to be equal to 'sx'. +

+

+ Specify a series of various red graphics elements. Specify an equivalent series of black graphics elements that are defined to have dimensions + that are half the size as the red elements. Specify a 'transform' value of 'scale' with only the 'sx' value specified (i.e., 'scale(2)'). If the 'sy' + parameter takes the same value as the 'sx', there will be no red on the page. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: coords-transformattr-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/coords-transformattr-05-f.svg b/Tests/W3CTestSuite/svg/coords-transformattr-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..2f14c18ba401b471b4d24310c53ba84b6109793c --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-transformattr-05-f.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ If 'cx' and 'cy' are not specified for a 'rotate' transform, the rotation is about the origin of the current user coordinate system and thus corresponds to the matrix [cos(a) sin(a) -sin(a) cos(a) 0 0]. +

+

+ Specify a series of various black graphics elements inside a 'g' element with 'transform' set to a 'rotate' value with unspecified 'cx' + and 'cy' parameters (i.e., 'rotate(15)'). Specify an equivalent series of red graphics elements inside a 'g' element with 'transform' set + to a 'matrix' value which would rotate the elements 15 degrees about the point (0,0) of the current user coordinate system. If the 'g' element containing the black elements correctly rotates its content by 15 degrees around the origin of the current user coordinate system, there will be no red on the page. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is no red visible on the page. +

+ +
+ + $RCSfile: coords-transformattr-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/coords-units-01-b.svg b/Tests/W3CTestSuite/svg/coords-units-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..830d5b769831f470f3766ff5de6f9de6b4b2ac71 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-units-01-b.svg @@ -0,0 +1,175 @@ + + + + + + + + + + + + +

+ Verify the conversion processing of percentage and fraction values relative to + object bounding boxes. This is used when defining linear and radial gradients + as well as patterns. +

+

+ The test validates conversion for coordinates, width, height and length. The first + test defines three corresponding linear gradients, which specify coordinates + using percentages for one, fractions for the second and user coordinates for the + third. The second test defines three corresponding radial gradients, which specify + a length (radius) using percentages for the first, fractions for the second and + user space for the third. Finally, the third test defines three corresponding patterns, + which specify their width and height using percentages for the first, fractions for the + second and user space coordinates for the last one. +

+

+ The test also assumes that linear and radial gradients, + as well as patterns are implemented. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered image should match the reference image. Also, the text may + show minor differences, per CSS2 rules for font selection and matching. +

+
+ + $RCSfile: coords-units-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bounding box relative coordinates (percentage and fraction) + + + + + + + Percentage + Fraction + User Space + + + + + + + + + + + + + + + + + + + + + + + + + + Bounding box relative length (percentage and fraction) + + + + + Percent. + Fraction + User Space + + + + + + + + + + + + + + + + + + + + + + + + + + Bounding box relative width/height (percentage and fraction) + + + + + Percentage + Fraction + User Space + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-units-02-b.svg b/Tests/W3CTestSuite/svg/coords-units-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b83db377420c72bc9f251c3a375bd798974e068a --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-units-02-b.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + +

+ Verify the conversion processing of CSS units and percentage values for both + coordinates and length values. Note that the test uses the CSS px unit to be usable + in all pixel resolutions. Hence, the conversion from other CSS units to CSS px is + left out of the test. +

+

+ There are six atomic tests in this test. For each, the approach is to draw two similar + elements (circles or rects) with coordinates specified in user space for one and in + CSS units or percentage for the other. Each test is such that these two values (or + value pairs) should match. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ In the first two tests, that validate coordinate processing, the circles + should have the same center. In the following two tests, the rectangles should have + the same height and width. And finally, in the last test, the 3 skewed circles should have the + same radius. +

+

+ The rendered image should match the reference image except for the text which may + show minor differences, per CSS2 rules for font selection and matching. +

+
+ + $RCSfile: coords-units-02-b.svg,v $ + + + + + + + + + + + + + + + + CSS pixel coordinate to user space conversion + + + + + + + + + + + Percentage coordinates to user space conversion + + + + + + + + + + + + + + CSS width/height to user space conversion + + + + + + + + + + + Percentage width/height to user space conversion + + + + + + + + + + + + + + CSS and percentage length conversion + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-units-03-b.svg b/Tests/W3CTestSuite/svg/coords-units-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c9828be4b3c57d1444d841fc09a1ad073079eca1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-units-03-b.svg @@ -0,0 +1,160 @@ + + + + + + + + + + + + +

+ This test verifies both the initial viewport size and the support for the various + unit specifiers. +

+

+ The units in SVG can be: user coordinate and CSS units: em, ex, px, pt, pc, cm, mm, + in and percentages. The test does not check the absolute length accuracy as this + can only be truly validated with a ruler. However, it validates that the different + units are supported by drawing multiple elements who have the same length specified + in different units. +

+

+ The viewport is the "finite rectangular region" where rendering occurs in SVG. + Hence, nothing should be rendered outside the viewport (paragraph 7.1). Furthermore, + when no positioning properties are set on the top svg element, the initial viewport + size should have the value of the top svg element's "width" and "height" attributes. + To check this behavior, the test does not define positioning properties on the top + svg element but defines its "width" and "height" properties. Then it fills a red + rectangle that is bigger than the viewport size. Then, a rectangle, the size of the + viewport is drawn in white. If rendering is limited to the viewport area, none of the + red should show. +

+

+ The line showing the "ex" units will not necessarily appear with the same length + as shown in the reference image because the X-height of a font is not + necessarily half of the font size (which is assumed in the reference image where + 1ex is considered to be .5em). +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if the top three lines (user units, px, em) are the same length, + the fifth line (%) is the same length as the top three lines, and the bottom + five lines (in, cm, mm, pt, pc) are the same length. The fourth line (ex) may have + any non-zero length, since the X-height of the font will depend on the exact font + chosen by the user agent (which may vary).

+
+ + $RCSfile: coords-units-03-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + Initial viewport and CSS units test + + + + + + 200 + User space units (no specifier) + + + + + + + + 200 px + Pixels (px) + + + + 20 em = 200 px (font-size=10px) + Relative to font size (em) + + + + + + 40 ex + Relative to font x-height (ex) + + + + + + + + 41.67% = 200 px + Percentage (%) + + + + + + 1 in + Inches (in) + + + + 2.54 cm = 1 in + Centimeters (cm) + + + + 25.4 mm = 1 in + Millimeters (mm) + + + + 72pt = 1 in + Points (pt) + + + + 6pc = 1 in + Picas (pc) + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-01-b.svg b/Tests/W3CTestSuite/svg/coords-viewattr-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..05fbe99f56253b218e4bb87412b9b897966553db --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-viewattr-01-b.svg @@ -0,0 +1,140 @@ + + + + + + + + "> + "> + "> +]> + + + + + + + + + + + + +

+ This test verifies the implementation of the viewBox and the + preserveAspectRatio attribute. This is a modified version of the sample + file included in the SVG specification. It exercises the various + preserveAspectRatio values and uses a general entity definition in order + to make reading of the SVG source easier. +

+ + +

+ Load the document in the user agent. +

+
+ +

+ The rendered picture should match the reference image exactly except for + variations in the labeling text. +

+
+ + $RCSfile: coords-viewattr-01-b.svg,v $ + + + + + + + + + + Example PreserveAspectRatio - demonstrate available options + Test available options of preserveAspectRatio + SVG to fit + &Smile; + Viewport 1 + &Viewport1; + Viewport 2 + &Viewport2; + + ---------- meet -------------------- + + xMin*&Viewport1; + &Smile; + + + xMid*&Viewport1; + &Smile; + + + xMax*&Viewport1; + &Smile; + + + + ---------- meet ------------------------ + + *YMin&Viewport2; + &Smile; + + + *YMid&Viewport2; + &Smile; + + + *YMax&Viewport2; + &Smile; + + + + ---------- slice ------------------------- + + xMin*&Viewport2; + &Smile; + + + xMid*&Viewport2; + &Smile; + + + xMax*&Viewport2; + &Smile; + + + + ---------- slice --------------------- + + *YMin&Viewport1; + &Smile; + + + *YMid&Viewport1; + &Smile; + + + *YMax&Viewport1; + &Smile; + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-02-b.svg b/Tests/W3CTestSuite/svg/coords-viewattr-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..77a0e19799a892dff51f5cd4c8f1a8f1263e5734 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-viewattr-02-b.svg @@ -0,0 +1,716 @@ +"> + "> +]> + + + + + + + + + + + + +

+ This test verifies the implementation of the preserveAspectRatio attribute on <image> + referencing raster content. +

+ + +

+ This is a modified version of the sample file included in the SVG specification. + It exercises the various preserveAspectRatio values and uses a general entity definition + in order to make reading of the SVG source easier. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-viewattr-02-b.svg,v $ + + + + + + + + + + Example PreserveAspectRatio - demonstrate available options + Test options of preserveAspectRatio on an image element + Raster to fit + + + + Viewport 1 + &Viewport1; + Viewport 2 + &Viewport2; + + ---------- meet -------------------- + + xMin*&Viewport1; + + + + xMid*&Viewport1; + + + + xMax*&Viewport1; + + + + + ---------- meet ------------------------ + + *YMin&Viewport2; + + + + *YMid&Viewport2; + + + + *YMax&Viewport2; + + + + + ---------- slice ------------------------- + + xMin*&Viewport2; + + + + xMid*&Viewport2; + + + + xMax*&Viewport2; + + + + + ---------- slice --------------------- + + *YMin&Viewport1; + + + + *YMid&Viewport1; + + + + *YMax&Viewport1; + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-03-b.svg b/Tests/W3CTestSuite/svg/coords-viewattr-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..02c31605ea1791f7a22437830042e6395ba14ebf --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-viewattr-03-b.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + +

+ This file tests the allowed syntax of the viewBox attribute. The viewBox attribute is a list of + four numbers min-x, min-y, width and height, separated by whitespace and/or a comma. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ In the rendered result, you should see 6 identical light blue shapes. +

+
+ + $RCSfile: coords-viewattr-03-b.svg,v $ + + + + + + + + + <svg> 'viewBox' attribute + + + + + + + viewBox="0 0 200 200" + overflow="visible" + + + + + viewBox="0 0 200 200" + overflow="hidden" + + + + + viewBox="0,0,200,200" + overflow="visible" + + + + + viewBox="0,0,200,200" + overflow="hidden" + + + + + viewBox="0,0, 200, 200" + overflow="visible" + + + + + viewBox="0,0, 200, 200" + overflow="hidden" + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/coords-viewattr-04-f.svg b/Tests/W3CTestSuite/svg/coords-viewattr-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f172ecd2aeb3cdd63a87e5491e9934b9a0d4f282 --- /dev/null +++ b/Tests/W3CTestSuite/svg/coords-viewattr-04-f.svg @@ -0,0 +1,129 @@ +"> + "> +]> + + + + + + + + + + + + +

+ This test verifies the implementation of the preserveAspectRatio attribute on <image> + referencing svg content. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: coords-viewattr-04-f.svg,v $ + + + + + + + + + + Example PreserveAspectRatio - demonstrate available options + Test options of preserveAspectRatio on an image element + SVG to fit + + + + Viewport 1 + &Viewport1; + Viewport 2 + &Viewport2; + + ---------- meet -------------------- + + xMin*&Viewport1; + + + + xMid*&Viewport1; + + + + xMax*&Viewport1; + + + + + ---------- meet ------------------------ + + *YMin&Viewport2; + + + + *YMid&Viewport2; + + + + *YMax&Viewport2; + + + + + ---------- slice ------------------------- + + xMin*&Viewport2; + + + + xMid*&Viewport2; + + + + xMax*&Viewport2; + + + + + ---------- slice --------------------- + + *YMin&Viewport1; + + + + *YMid&Viewport1; + + + + *YMax&Viewport1; + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/extend-namespace-01-f.svg b/Tests/W3CTestSuite/svg/extend-namespace-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e5c111139d1d3cec18e7b310c31aa703d93d2030 --- /dev/null +++ b/Tests/W3CTestSuite/svg/extend-namespace-01-f.svg @@ -0,0 +1,180 @@ + + + + + + + + + + + + +

+ Test mixing a business data namespace with elements in SVG namespace. +

+

+ The test case uses a different namespace to hold fake sales data. + Using ECMAScript to make calls to the DOM, the test case extracts + the sales data and then makes calls to the SVG DOM to build up + a 'path' element and a 'text' element for each individual pie slice. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The result should show five pie slices. + The first pie slice should be exploded, with a pink fill and a blue border. + The other pie slices should have various levels of gray fill and black borders. + The name of each region should appear in black towards the center of + the pie slice. +

+
+ + $RCSfile: extend-namespace-01-f.svg,v $ + + + + + + + + + + + + + + + East + 3 + + + North + 4 + + + West + 5 + + + Central + 3.2 + + + South + 6 + + + + Pie chart built from data in a different namespace. + + + + Pie chart is built within this 'g' element + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-background-01-f.svg b/Tests/W3CTestSuite/svg/filters-background-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..72510dd515136fe3588f884efe5d47106cd04015 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-background-01-f.svg @@ -0,0 +1,159 @@ + + + + + + + + + + +

+ Test background image processing. +

+

+ The first subtest enables background image processing and adds an empty ‘g’ element + which invokes the ShiftBGAndBlur filter. This filter takes the current accumulated + background image (i.e., the entire reference graphic) as input, shifts its offscreen + down, blurs it, and then writes the result to the canvas. Note that the offscreen for + the filter is initialized to transparent black, which allows the already rendered + rectangle, circle and triangle to show through after the filter renders its own + result to the canvas. +

+

+ The second subtest enables background image processing and instead invokes the + ShiftBGAndBlur filter on the inner ‘g’ element. The accumulated background at the + time the filter is applied contains only the rectangle. Because the children + of the inner ‘g’ (i.e., the circle and triangle) are not part of the inner ‘g’ element's + background and because ShiftBGAndBlur ignores SourceGraphic, the children of the inner ‘g’ + do not appear in the result. +

+

+ The third subtest enables background image processing and invokes the ShiftBGAndBlur on the + ‘polygon’ element that draws the triangle. The accumulated background at the time the filter + is applied contains the rectangle plus the circle ignoring the effect of the ‘opacity’ + property on the inner ‘g’ element. (Note that the blurred circle at the bottom does not + let the rectangle show through on its left side. This is due to ignoring the effect of + the ‘opacity’ property.) Because the triangle itself is not part of the accumulated background + and because ShiftBGAndBlur ignores SourceGraphic, the triangle does not appear in the result. +

+

+ The fourth subtest is the same as the third except that filter ShiftBGAndBlur_WithSourceGraphic is + invoked instead of ShiftBGAndBlur. ShiftBGAndBlur_WithSourceGraphic performs the same effect as + ShiftBGAndBlur, but then renders the SourceGraphic on top of the shifted, blurred background + image. In this case, SourceGraphic is the blue triangle; thus, the result is the same as in + the fourth case except that the triangle now appears. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • each blue rectangle has the same shapes twice inside, once without filters applied, once with (blurred)
  • +
  • from left to right, the blue rectangles contain the following shapes: [rectangle, circle, triangle], [rectangle], [rectangle, circle], [rectangle, circle, triangle]
  • +
+
+ + $RCSfile: filters-background-01-f.svg,v $ + + + + + + + + + + + + This filter discards the SourceGraphic, if any, and just produces + a result consisting of the BackgroundImage shifted down 125 units + and then blurred. + + + + + + + This filter takes the BackgroundImage, shifts it down 125 units, blurs it, + and then renders the SourceGraphic on top of the shifted/blurred background. + + + + + + + + + + + + + The second adds an empty 'g' element which invokes ShiftBGAndBlur. + + + + + + + + + + + The third invokes ShiftBGAndBlur on the inner group. + + + + + + + + + + The fourth invokes ShiftBGAndBlur on the triangle. + + + + + + + + + + The fifth invokes ShiftBGAndBlur_WithSourceGraphic on the triangle. + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-blend-01-b.svg b/Tests/W3CTestSuite/svg/filters-blend-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..685a59ee553e802f92d38b03b159e32686793aea --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-blend-01-b.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + +

+ Verify correct operation of the five compositing modes + of the feBlend filter primitive. Seven rectangles are + blended into a gradient, with text strings identifying + which of the the five feBlend modes were used. +

+

+ All rectangles but the fourth one have a blue fill, although the + blend mode will adjust this color. The fourth has a yellow fill. +

+

+ The third and fourth rectangles are grouped and the filter is applied to the group. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image + exactly, except for possible variations in the + labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-blend-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Normal + Multiply + Multiply + Multiply + Screen + Darken + Lighten + + + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-color-01-b.svg b/Tests/W3CTestSuite/svg/filters-color-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..53b993a0e42dc9ec15ba76d0e4d2604ed576f5ff --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-color-01-b.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + +

+ Test which verifies the basic facilities of + feColorMatrix. +

+

+ This test uses the following elements : a nested + <svg> with a viewBox attribute, <linearGradient>, + <filter>, <feColorMatrix>, <feComposite>. +

+

+ The test case shows five rectangles filled with a + gradient showing the effects of feColorMatrix: an + unfiltered rectangle acting as a reference, use of the + feColorMatrix matrix option to convert to grayscale, + use of the feColorMatrix saturate option, use of the + feColorMatrix hueRotate option, and use of the + feColorMatrix luminanceToAlpha option. +

+

+ The test is somewhat self-explanatory as the strings + document the type of feColorMatrix operation that is + being used. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image + exactly, except for possible variations in the + labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-color-01-b.svg,v $ + + + + + + + + + + Example feColorMatrix - Examples of feColorMatrix operations + Five rectangles filled with a gradient showing the effects of feColorMatrix: an unfiltered rectangle acting as a reference, use of the feColorMatrix matrix option to convert to grayscale, use of the feColorMatrix saturate option, use of the feColorMatrix hueRotate option, and use of the feColorMatrix luminanceToAlpha option. + + + + + + + + + + + + + + + + + + + + + + + + + Unfiltered + + type="matrix" (grayscale matrix) + + type="saturate" values=".4" + + type="hueRotate" values="90" + + type="luminanceToAlpha" + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-color-02-b.svg b/Tests/W3CTestSuite/svg/filters-color-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..ac399b9805ae8c2cbe85227168a58ad2d05342c6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-color-02-b.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + +

+ Tests the default behaviour of feComponentTransfer +

+

+ The test displays two rects with the same gradient fill. The gradient + fill has the stops red, green, blue and black all of which are evenly + spaced. +

+

+ The first rect with the 'Reference' label beneath it has an + feComponentTransfer filter applied to it. This filter specifies a + 'linear' transform for the Red component such that Red is transformed to + Black. The Green component is specified as an 'identity' transform. The + remaining components (Green, Alpha) are unspecified and by default + must be treated as 'identity' transforms. +

+

+ The second rect with the 'Default' label beneath it has an + feComponentTransfer filter applied to it. This filter specifies a + multiple transforms from the Red component. The last transform + specified for the Red component is a 'linear' transform that shifts Red + to Black. This is the transform that should be used by a conforming + implementation. There are no other components specified for the filter + of the second rect. A conforming implementation should treat + unspecified components in an feComponentTransfer as 'identity'. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ For this test to pass both rects must have a gradient fill that has the + stop colors Black, Green, Blue and Black, equally spaced. +

+
+ + $RCSfile: filters-color-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference + Default + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-composite-02-b.svg b/Tests/W3CTestSuite/svg/filters-composite-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..23e4b9adfe8708fffd98fc7967b5b65f2240da1f --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-composite-02-b.svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + +

+ Test which verifies the basic facilities of feComposite. +

+

+ This test uses the following elements: <path>, <filter> + <feImage> <feComposite>. +

+

+ The test case shows six pairs of overlapping triangles + depicting the six different feComposite operators. The + first row shows compositing when both triangles have + opacity=1. The second row shows compositing when both + triangles have opacity=.5. The six columns illustrate the + six types of compositing operations. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image + exactly, except for possible variations in the + labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-composite-02-b.svg,v $ + + + + + + + + + + Example feComposite - Examples of feComposite operations + Six pairs of overlapping triangles depicting the six different feComposite operators. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + on first Row : opacity 1.0 + on second row opacity 0.5 + + + + over + + + + + + + + + in + + + + + + + + + out + + + + + + + + atop + + + + + + + + xor + + + + + + + arith- + metic + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-composite-03-f.svg b/Tests/W3CTestSuite/svg/filters-composite-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..39c9dca9e7c5f621f363d247ad2f5a22c2f84d10 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-composite-03-f.svg @@ -0,0 +1,87 @@ + + + + + + + + + + +

+ Tests the arithmetic operator in feComposite. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are four filled squares visible, and the + fill color matches the respective reference stroke exactly. +

+
+ + $RCSfile: filters-composite-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-composite-04-f.svg b/Tests/W3CTestSuite/svg/filters-composite-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..78404f10ee492838c77ddad328b306ce90a87320 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-composite-04-f.svg @@ -0,0 +1,78 @@ + + + + + + + + + + +

+ Test feComposite and the arithmetic operator to implement a simple dissolve operation. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if there are four images visible, each in + different stages of dissolving the bird in the foreground into the + tree in the background. +

+
+ + $RCSfile: filters-composite-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-composite-05-f.svg b/Tests/W3CTestSuite/svg/filters-composite-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0d4ffe8e46a6ef6f8f1340e7e601ec1ead226dfc --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-composite-05-f.svg @@ -0,0 +1,68 @@ + + + + + + + + + + +

+ Testing the feComposite element and that the 'k2' and 'k3' attributes + are animatable. The result is an animated dissolve between two images. +

+ + +

+ Reload the testcase or click the image to run animation again. +

+
+ +

+ The test has passed if there is an animation effect that gradually + dissolves a photo of a tree into an image of a bird over the course + of two seconds. The final result is that the bird is fully visible + and the tree photo is invisible. +

+
+ + $RCSfile: filters-composite-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-comptran-01-b.svg b/Tests/W3CTestSuite/svg/filters-comptran-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..4f94d941282dacd4453f39cb049fd3110f908b4f --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-comptran-01-b.svg @@ -0,0 +1,126 @@ + + + + + + + + + + + + +

+ Test which verifies the basic facilities of + feComponentTransfer. +

+

+ This test uses the following elements : a nested <svg> + with a viewBox attribute, <linearGradient>, <filter>, + <feComponentTransfer>. +

+

+ The test case shows four rectangles filled with a + gradient showing the effects of feComponentTransfer: an + identity function acting as a reference, use of the + feComponentTransfer table option, use of the + feComponentTransfer linear option, and use of the + feComponentTransfer gamma option. +

+

+ The test is somewhat self-explanatory as the strings + document the type of feComponentTransfer operation that + is being used. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image + exactly, except for possible variations in the + labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-comptran-01-b.svg,v $ + + + + + + + + + + Example feComponentTransfer - Examples of feComponentTransfer operations + Four rectangles filled with a gradient showing the effects of feComponentTransfer: an identity function acting as a reference, use of the feComponentTransfer table option, use of the feComponentTransfer linear option, and use of the feComponentTransfer gamma option. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type: identity + + type: table + + type:linear slope:.5 intercepts:.25/0/.5 + + type: gamma ampl:2 exponents:5/3/1 + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-conv-01-f.svg b/Tests/W3CTestSuite/svg/filters-conv-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3ca53f6bb56fe20bb1f7f730eaa863058b499a76 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-conv-01-f.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + +

+ Test which verifies the basic facilities of + feConvolveMatrix. +

+

+ This test defines six filters that exercise traditional + convolutions: uniform blur, vertical and horizontal + blurs, edge detection, embossing and sharpening. Note + that the edge detection filter produces a fully + transparent image because the alpha channel is convolved + and produces 0 values. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image + exactly, except for possible variations in the + labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-conv-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Blur (3x3) + + + + Edge Detection (3x3) + + + + Sharpening (3x3) + + + + Embossing (3x3) + + + + Horizontal blur (3x1) + + + + Vertical blur (1x3) + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-conv-02-f.svg b/Tests/W3CTestSuite/svg/filters-conv-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..5912f422b73d6a615ddf3fea525139c4a649e764 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-conv-02-f.svg @@ -0,0 +1,77 @@ + + + + + + + + + + +

+ Tests feConvolveMatrix with different values for the 'order' attribute. +

+ + +

Run the test. No interaction required. + +

+
+ +

You should see three filtered images. Each image is the same + and has the same filter applied to it. + The test has passed if all the three filtered images look the same, and the filtered result shows bright white edges on a dark background. + The rendered picture should match the reference image. +

+
+ + $RCSfile: filters-conv-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + feConvolveMatrix 'order' attribute + + + without order + + + order="3" + + + order="3 3" + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-conv-03-f.svg b/Tests/W3CTestSuite/svg/filters-conv-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..cb9d8448e481832afe1b6367a6da58f040bca011 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-conv-03-f.svg @@ -0,0 +1,102 @@ + + + + + + + + + + +

+ Tests the 'in1' DOM attribute on 'feConvolveMatrix'. +

+

+ Load the testcase, you should see three nearly identical images that say "FAIL". + After 3 seconds all three images should be replaced by the same image of a bird. + The two images to the right have filters applied, while the one on the left is always unfiltered. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • the two images inside the blue rects look exactly the same
  • +
  • the same base image is used in all three rects
  • +
  • the purple image that says "FAIL" is replaced after 3 seconds by an image of a bird
  • +
+
+ + $RCSfile: filters-conv-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + PASS + + + + + feConvolveMatrix 'in1' DOM + + + + + + + Original image + Animated filter + Scripted filter + + + $Revision: 1.8 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-conv-04-f.svg b/Tests/W3CTestSuite/svg/filters-conv-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e1291c03d1684f41d245a42443acff4edb3dbba2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-conv-04-f.svg @@ -0,0 +1,163 @@ + + + + + + + + + + +

+ Tests the 'bias' attribute on 'feConvolveMatrix'. +

+

+ The test uses a raster image and a vector graphic to test the effect + that the 'bias' attribute on 'feConvolveMatrix' has. +

+

+ The first row of images in the test are four identical raster images. + The first image is the original unfiltered image. The second has the + filter kernel applied with no bias value specified. The third and fourth + images both have a bias value specified for the filter. +

+

+ The second row of images in the test are four rectangle objects with a + gradient fill. The gradient fill transitions from opaque green to + transparent green. The first image is the original unfiltered graphic. The + second graphic has a filter kernel applied with no bias value specified. + The third and forth images both have a bias value specified for the + filter. +

+

+ Behind each filter result there's a checkerboard pattern placed, to help + verify that there's transparency in the lower row, but not in the upper. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • + The raster images in the top row appears more faded and coarse for each instance + further to the right. +
      +
    • The first image (left most) must be smooth and clear
    • +
    • + The second image (second from the left) must contain the same colours as + the first image but have course outlining around the objects. +
    • +
    • + The third image (second from the right) must contain colour that is very faded + but have course outlining around the faded objects. +
    • +
    • + The last image (right most) must be completed faded such that all the colour + in the first image appears to have gone to white. Some course outlining should + appear in the image. +
    • +
    +
  • +
  • + The top row has no checkerboard pattern visible where the filtered results are. +
  • +
  • + The rectangle with a green gradient going from left to right appears + more faded for each instance further to the right. +
      +
    • + The first image (left most) must be a rect filled with a linear gradient that + transitions from solid green to transparent green. +
    • +
    • The second image (second from the left) must be identical to the first image.
    • +
    • + The third image (second from the right) must contain a linear gradient that transitions + from a solid faded green to transparent faded green. +
    • +
    • + The last image (right most) must contain a linear gradient that transitions from + solid white to transparent white. +
    • +
    +
  • +
  • + The bottom row must show 95% of the checkerboard pattern where the filtered results are + since the gradients are transparent. +
  • +
+
+ + $RCSfile: filters-conv-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-conv-05-f.svg b/Tests/W3CTestSuite/svg/filters-conv-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b60f774ee5efbaa3ba890c59619805890241a102 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-conv-05-f.svg @@ -0,0 +1,83 @@ + + + + + + + + + + +

+ Tests feConvolveMatrix and the 'edgeMode' attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ You should see three filtered images, each result should be slightly different, if they all look the same the test has failed. + The rendered picture should match the reference image. +

+
+ + $RCSfile: filters-conv-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + feConvolveMatrix 'edgeMode' + + + none + + + wrap + + + duplicate + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-diffuse-01-f.svg b/Tests/W3CTestSuite/svg/filters-diffuse-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..5f8c3f0800af1ece3c4e7f3d2c0dcab750b76fc1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-diffuse-01-f.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + +

+ Verify the basic operation of the feDiffuseLighting + element. The test shows three rows of 3 images. Each + rows tests a different aspect of the filter and shows + the result of the filtering operation. +

+

+ The first row shows the result of varying the + surfaceScale attribute. The second row shows the result + of varying the diffuse constant (kd) attribute. The last + row shows the result of varying the lighting-color + property. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image. +

+
+ + $RCSfile: filters-diffuse-01-f.svg,v $ + + + + + + + + + + Filters: feDiffuseLighting + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Various values for surfaceScale: 1, 10 and -10 + + + + + + + Various values for diffuseConstants: 0, 1 and 2 + + + + + + + Various values for lighting color: red, yellow and blue + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-displace-01-f.svg b/Tests/W3CTestSuite/svg/filters-displace-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..2ff17a780cd2abba7f897c456918dd12609986ac --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-displace-01-f.svg @@ -0,0 +1,141 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the feDisplacementMap filter + node. Six images should appear in 2 rows of 3. On the left in each + row a test image of a checker board is displayed. In the middle + column is the displacement map. In the right-hand column is the + result. All displacement maps are generated as png files with gamma + 1.0 and must be interpreted linearly for the proper geometric + displacement to occur. +

+

+ The top row tests a displacement map which displaces each pixel by an + amount equivalent to a rotation of 20 degrees around the center of the + image. A blue reference rectangle is drawn on the result using an svg + transform attribute to mimick the same 20 degree rotation. The edges + of the blue rectangle should be parallel to the grid lines in the + displaced image. Distortion of the grid pattern such that the grid + lines are slightly curved is indicative of improper gamma handling in + the viewer. +

+

+ The bottom row tests a displacement map which distorts the image + spherically. +

+

+ In addition to feDisplacementMap, this test uses the 'feImage' and + 'rect' elements. Figure labeling uses the text element. The + reference blue rectangle uses fill, fill-opacity, and transform. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered image should match the reference image. The edges + of the blue rectangle must be parallel to the grid lines in the + displaced image. The center of the bottommost right distorted image + should be on a gridpoint. +

+
+ + $RCSfile: filters-displace-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Checkerboard Image + + + + + Displacement Map + (20 deg. rotation) + + + + + + + + Result + (overlayed with 20 deg. + rotated blue rectangle) + + + + + + Checkerboard Image + + + + + + Displacement Map + (spherical distortion) + + + + + Result + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-displace-02-f.svg b/Tests/W3CTestSuite/svg/filters-displace-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..1fc1d1bc5195222c818151fe2af6f8e0aef82420 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-displace-02-f.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + +

+ This tests feDisplacementMap without feImage. The input geometry is also used as the displacement map. +

+

+ The bottom subtest tests that not specifying the 'xChannelSelector' attribute has the same effect as if 'A' was specified. +

+

+ In both cases the filter input image consists of a gradient that is rendered using the default 'color-interpolation' which is 'sRGB'. + The default colorspace for filter primitives is 'linearRGB'. The filtering operation happens in 'linearRGB' space and the + result is then transformed back to 'sRGB' space for display. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • the top rectangle is overlapped by a gradient that has its blackest part centered around the vertical green line that splits the top rectangle
  • +
  • the bottom right corner of the area covered by the top gradient is aligned with the corner just below the top rectangle
  • +
  • the bottom rectangle is overlapped by a gradient that is displaced upwards with the maximum displacement the middle indicated by the vertical green line that splits the bottom rectangle
  • +
  • no part of the bottom gradient extends outside the bottom rectangle
  • +
  • both gradients use the same gradientcolors
  • +
+
+ + $RCSfile: filters-displace-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-example-01-b.svg b/Tests/W3CTestSuite/svg/filters-example-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..825f309b5834e5c29d240d33c39ae86f4a926900 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-example-01-b.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ A single filter that uses a combination of filter + primitives. You should see a gray rectangle that + contains a green outer ring and a green inner button + with "SVG" on it, both having a 3D appearance. +

+

+ Verify that a typical usage of filtering is operation. + This test case creates a 3D lighting effect and requires + that several filters are working: feGaussianBlur, feOffset, + feSpecularLighting, feComposite and feMerge. The graphic + consisting of the string "SVG" sitting on top of oval + filled in green and surrounded by an oval outlined in green. +

+

+ The test uses a nested 'svg' element, 'rect' element, + 'path' element, as well as basic fill (solid + colors), stroke (solid colors with stroke-width + lines), font-family (Verdana and Arial) and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image + exactly, except for possible variations in the labelling + text (per CSS2 rules). +

+
+ + $RCSfile: filters-example-01-b.svg,v $ + + + + + + + + + + + Example filters01.svg - introducing filter effects + An example which combines multiple filter primitives to produce a 3D lighting effect on a graphic consisting of the string "SVG" sitting on top of oval filled in green and surrounded by an oval outlined in green. + + + + + + + + + + + + + + SVG + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-felem-01-b.svg b/Tests/W3CTestSuite/svg/filters-felem-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..4ad95869d053c534cb19910d27e297499d02fb27 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-felem-01-b.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + +

+ Test which verifies null filters and filter regions. +

+

+ Four subtests each consist of a small red circle overdrawn with a larger green circle. + Filters are applied to three of the red circles, hiding them and showing the green circle. +

+

+ The top left subtest has no filter applied to the circle, so the green circle is visible and the red one is not. + The top right subtest applies a filter to the red circle, but there is no corresponding filter element. + Thus, a null filter is applied and the red circle is not shown, allowing the green circle to be seen. +

+

+ The bottom left subtest applies an empty filter element with the default filterRegion, and the bottom right + subtest applies an empty filter with a non-default filterRegion. In both cases where empty filters are applied, + the result of the filter is a transparent black offscreen, thus showing the green circle underneath. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are four green circles visible. +

+
+ + $RCSfile: filters-felem-01-b.svg,v $ + + + + + + + + + + + + + + + + No filter + + + + + Null filter + + + + + Non-existent filter + + + + + Null with small region filter + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-felem-02-f.svg b/Tests/W3CTestSuite/svg/filters-felem-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ebcdac5e0649cc0c629c8481ba45701a90354ad5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-felem-02-f.svg @@ -0,0 +1,127 @@ + + + + + + + + + + +

+ This tests the 'primitiveUnits' attribute and how it affects other attribute values. +

+ + +

+ You should see three rectangles in a row, then a row of three circles, then a row of three stars. +

+
+ +

+ The test has passed if: +

+
    +
  • There is no red visible anywhere
  • +
  • The first row has three green rectangles
  • +
  • The second row has three black circles, and the middle one has more blurred edges than the other two.
  • +
  • The third row has three green stars.
  • +
+
+ + $RCSfile: filters-felem-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-gauss-01-b.svg b/Tests/W3CTestSuite/svg/filters-gauss-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d1cd3a5f8c938c8f6345d66e1c896fa9ca9d7908 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-gauss-01-b.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ In the upper left corner of the output are blue and yellow rectangles that overlap, + they appear normally, no gaussianBlur has been applied. + In the upper right the same rectangles are displayed with a blur filter applied, + the standard deviation is the same for both the x and y axis. + In the lower right corner the rectangles appear again, + this time the standard deviation is different along the x (20) and y (1) axis. +

+

+ On top of the rectangles in the upper right and lower right, thin (half-pixel-wide) blue + lines are drawn to show the outline of the object bounding box (the inside lines) and the + outline of the filter region (the outside lines). The blur effect should be clipped + to the bounds of the filter region. +

+

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel and blue half-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-gauss-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-gauss-02-f.svg b/Tests/W3CTestSuite/svg/filters-gauss-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..003fc59eeb757b8fe60831f44e994c3f1839c5a6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-gauss-02-f.svg @@ -0,0 +1,85 @@ + + + + + + + + + + +

+ Test that when 'stdDeviation' is zero in one of X or Y the filter input image is + blurred only in the non-zero direction. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • the left subtest shows a blue and yellow rectangle fused together, with blur applied only in the vertical direction
  • +
  • the right subtest shows a blue and yellow rectangle fused together, with blur applied only in the horizontal direction
  • +
  • the blurred shapes are within the blue guidelines
  • +
+
+ + $RCSfile: filters-gauss-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-gauss-03-f.svg b/Tests/W3CTestSuite/svg/filters-gauss-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ea7c54cabd4572682a3b3b78cdb8be9afffa0ad5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-gauss-03-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Test that when 'stdDeviation' is zero the result is a non-blurred image. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there's a green rectangle visible, and no red. +

+
+ + $RCSfile: filters-gauss-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-image-01-b.svg b/Tests/W3CTestSuite/svg/filters-image-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..837850adfd94c87cb2a5e8d74a80a3527af18e83 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-image-01-b.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + +

+ An image should be displayed in the middle of the view area. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image. +

+
+ + $RCSfile: filters-image-01-b.svg,v $ + + + + + + + + + + + + + + Basic test of feImage filter support. + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-image-02-b.svg b/Tests/W3CTestSuite/svg/filters-image-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..ee30a730740ba7c7bdc6eedccf745507669b9c97 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-image-02-b.svg @@ -0,0 +1,79 @@ + + + + + + + + + + +

+ Tests the animatability of 'xlink:href' on the 'feImage' element. + The test will first show two blue images that should look exactly the same, + then after two seconds both images should simultaneously change to show two + pink images that also look exactly the same. +

+ + +

Run the test. No interaction required. + +

+
+ +

+ The test has passed if: +

+
    +
  • at first there are two identical blue images shown next to each other
  • +
  • after two seconds the two blue images are simultaneously replaced by two pink images
  • +
+
+ + $RCSfile: filters-image-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + Animation in filters + 'feImage' + 'image' + + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-image-03-f.svg b/Tests/W3CTestSuite/svg/filters-image-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..d8b2b92c6550cc40dc1941a67d3ae674ad4f9fbd --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-image-03-f.svg @@ -0,0 +1,179 @@ + + + + + + + + + + +

+ This tests the feImage element with a number of different filter primitive subregion values. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • the first row show four smiley faces of the same size, each framed by a blue rectangle
  • +
  • the first image on the left on the second row shows half a smiley face (horizontally offset)
  • +
  • the second image on the left on the second row shows half a smiley face (vertically offset)
  • +
  • the third image on the left on the second row shows the upper-lefthand quarter of the smiley face enlarged to fit the blue rectangle
  • +
  • the rightmost image on the second row shows the upper-lefthand quarter of the smiley face (horizontally and vertically offset)
  • +
+
+ + $RCSfile: filters-image-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-image-04-f.svg b/Tests/W3CTestSuite/svg/filters-image-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ab2475dc4007de7c55bed355865da0382f12992e --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-image-04-f.svg @@ -0,0 +1,119 @@ + + + + + + + + + + + + +

+ This tests the feImage element with a number of different filter primitive subregion values. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • the first row show four smiley faces of the same size, each framed by a blue rectangle
  • +
  • the first image on the left on the second row shows half a smiley face (horizontally offset)
  • +
  • the second image on the left on the second row shows half a smiley face (vertically offset)
  • +
  • the third image on the left on the second row shows the upper-lefthand quarter of the smiley face enlarged to fit the blue rectangle
  • +
  • the rightmost image on the second row shows the upper-lefthand quarter of the smiley face (horizontally and vertically offset)
  • +
+
+ + $RCSfile: filters-image-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + primitiveUnits = "objectBoundingBox" + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-image-05-f.svg b/Tests/W3CTestSuite/svg/filters-image-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..eab4872dbc7b9ff12a49a24e621d0f6ceb8b1255 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-image-05-f.svg @@ -0,0 +1,195 @@ + + + + + + + + + + + + +

+ This test verifies the implementation of the preserveAspectRatio attribute on <feImage> + referencing raster content. +

+ + +

+ This test copies coords-viewattr-02-b, substituting feImage for image. + It exercises the various preserveAspectRatio values. An external bitmap + is referenced. +

+
+ +

+ The rendered picture should match the reference image exactly except for variations in the labeling text. +

+
+ + $RCSfile: filters-image-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Example PreserveAspectRatio - demonstrate available options + Test preserveAspectRatio on an feImage element. + Raster to fit + + + + Viewport 1 + + Viewport 2 + + + ---------- meet -------------------- + + xMin* + + + + + xMid* + + + + + xMax* + + + + + + ---------- meet ------------------------ + + *YMin + + + + *YMid + + + + *YMax + + + + + ---------- slice ------------------------- + + xMin* + + + + xMid* + + + + xMax* + + + + + ---------- slice --------------------- + + *YMin + + + + + *YMid + + + + + *YMax + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-light-01-f.svg b/Tests/W3CTestSuite/svg/filters-light-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..eb53871a57563eb990943fa2e903f6ab70209585 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-light-01-f.svg @@ -0,0 +1,187 @@ + + + + + + + + + + + + +

+ Verify the basic operation of the different lights used in the feDiffuseLighting + and feSpecularLighting elements. The test uses the same feDiffuseLighting filter, + using different lights. +

+

+ The first row shows different settings for feDistantLight. The second row shows + different settings for fePointLight. The last row shows different settings for + feSpotLight. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered image should look approximately like the reference image, except for the last + feSpotLight test for which a reference image could not be created. The reference image may not be pixel accurate. However, the rendered image should show + at least 'similar' lighting results and bump maps. +

+
+ + $RCSfile: filters-light-01-f.svg,v $ + + + + + + + + + + Filters: feDistantLight, fePointLight, feSpotLight + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Various values for feDistantLight azimuth and elevation + (0, 0) + (45, 0) + (0, 45) + (45, 45) + + + + + + + + Various values for fePointLight's x, y and z + (0, 0, 10) + (50, 0, 10) + (0, 30, 10) + (50, 30, 10) + + + + + + + + + + Various values for feSpotLight's x, y, z, pointsAtX, pointsAtY, pointsAtZ + (25, 0, 25) + (25, 30, 0) + (25, 30, 25) + (25, 0, 0) + np=1 + limitingConeAngle=30 + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-light-02-f.svg b/Tests/W3CTestSuite/svg/filters-light-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c5b61328e001df20736343e1ae662433a4773f5d --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-light-02-f.svg @@ -0,0 +1,97 @@ + + + + + + + + + + +

+ This test verifies that the 'azimuth' attribute is interpreted as a clockwise value in degrees. +

+

The test should show four arrows, indicating the direction of the incoming distant light. + As the four circles are lit by a specular lighting filter a faint shaded arc should appear. + The middle of each such arc should be where the corresponding arrow points.

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if the shaded arcs are displayed only on the side indicated by the arrows. +

+
+ + $RCSfile: filters-light-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 'feDistantLight' azimuth + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/filters-light-03-f.svg b/Tests/W3CTestSuite/svg/filters-light-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..65238a99f8f6dabee13b0c05dbe39673129e870c --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-light-03-f.svg @@ -0,0 +1,124 @@ + + + + + + + + + + +

+ Test resolving of 'primitiveUnits' on the 'z' attribute of 'fePointLight'. +You should see some shapes that have a black border, three circles and three rectangles. + The fill of these shapes should look the same. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • All of the circles look identical
  • +
  • The shapes all look like they have been filled with a gradient
  • +
  • No parts of the fill extend outside the black borders
  • +
  • All of the rects look identical
  • +
  • The circles must be fully filled by the filter output, which should resemble a radial gradient with a white focal point in the lower right position (about four o'clock, as shown by the small white circles)
  • +
  • The rects must be fully filled by the filter output, which should resemble a radial gradient with a white focal point in the lower right corner.
  • +
+
+ + $RCSfile: filters-light-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + primitiveUnits="objectBoundingBox" + + + + + + + + + primitiveUnits="userSpaceOnUse" + + + + + + + + + primitiveUnits unspecified + + + + + + $Revision: 1.10 $ + + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-light-04-f.svg b/Tests/W3CTestSuite/svg/filters-light-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..807380cf8d12f394f24da2058fa8d771db28ba6e --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-light-04-f.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + +

+ Test various values for limitingConeAngle in feSpotLight. +

+

+ There should be four rects in two rows. Each of the rects has a different filter applied, + and each of those filters uses different values for limitingConeAngle. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered image should look approximately like the reference image, and the third rectangle from the left + in each row must be animated. +

+
+ + $RCSfile: filters-light-04-f.svg,v $ + + + + + + + + + + feSpotLight's limitingConeAngle + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 30 + 20 + Animated (0..50) + 5 + + -30 + -20 + Animated (0..-50) + -5 + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-light-05-f.svg b/Tests/W3CTestSuite/svg/filters-light-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..339837efe445150ae71fe7dcefc5361d2b7dc966 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-light-05-f.svg @@ -0,0 +1,252 @@ + + + + + + + + + + +

+ This test verifies that the 'elevation' attribute is interpreted as a + complementary value to the z-axis in degrees. +

+

+ The test shows four different elevation angles that can be used for feDistantLight source. + The four different feDistantLight light sources are used in three different filter cases; feDiffuseLight, feSpecularLight + and feMerge which merges both feDiffuseLight and feSpecularLight to form a single filter. Using four different elevation values + in three different filter cases gives twelve different filters. All twelve filter cases are applied to a vector graphic and + then to a raster graphic. The vector graphic results are shown to the left and the raster graphic results are shown to the right. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if +

+
    +
  • The top row has from left to right for a single graphic set: +
      +
    • A green square with a black circle inside of it
    • +
    • A black square
    • +
    • A black square with a green semicircle inside the lefthand side of the rect
    • +
    • A black square with a green semicircle inside the righthand side of the rect
    • +
    +
  • +
  • The middle row has from left to right for a single graphic set: +
      +
    • A green square with a white circle inside of it
    • +
    • A green semicircle pointing to the right on top of a white background
    • +
    • A green square with a white crest inside pointing to the right
    • +
    • A green square with a white crest inside pointing to the left
    • +
    +
  • +
  • The bottom row has from left to right for a single graphic set: +
      +
    • A green square with a black circle inside of it
    • +
    • A black square with a green semicircle inside pointing to the right
    • +
    • A green square with a circle inside that has a shadow on the righthand side and a reflection on the lefthand side
    • +
    • A green square with a circle inside that has a shadow on the lefthand side and a reflection on the righthand side
    • +
    +
  • +
+

+ If the test shows any red, the test has failed. +

+
+ + $RCSfile: filters-light-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + feDiffuseLight using feDistantLight source + + + + + + + 90 deg + 270 deg + 180 deg + 0 deg + + feSpecularLight using feDistantLight source + + + + + + + 90 deg + 270 deg + 180 deg + 0 deg + + feDiffuseLight and feSpecularLight using feDistantLight + + + + + + + 90 deg + 270 deg + 180 deg + 0 deg + + + + + + + + 90 deg + 270 deg + 180 deg + 0 deg + + + + + + + + 90 deg + 270 deg + 180 deg + 0 deg + + + + + + + + 90 deg + 270 deg + 180 deg + 0 deg + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-morph-01-f.svg b/Tests/W3CTestSuite/svg/filters-morph-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..af9a6b02f764bc9523ad5e3ba3ef63c8007f5e55 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-morph-01-f.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + +

+ Test which verifies the basic facilities of feMorphology. +

+

+ The test shows the same graphics filtered with four different feMorphology + settings. The top two have the type erode and a radius of 1(left) and 2(right). + The bottom two have the type dilate and a radius of 1(left) and 3(right). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-morph-01-f.svg,v $ + + + + + + + + + Filter Effect: feMorphology + + + + + + + + + + + + + + + + + + + + + + + + + + + + + type=erode radius=1 + + + + type=erode radius=2 + + + + type=dilate radius=1 + + + + type=dilate radius=3 + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-offset-01-b.svg b/Tests/W3CTestSuite/svg/filters-offset-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d00ad44a6877824d92d060e07b7b8e205cc1f743 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-offset-01-b.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + +

+ The target crosshairs should align with + lower left bounds of the associated circle. + The color of each crosshair should match + the associated circle. +

+

+ Verify the basic capability to handle the feOffset, feMerge and + feFlood filter nodes. Four copies of a filled circle should appear at + various offsets and colors. For each circle a reference crosshair is + drawn at the lower left of the circle to indicate the expected color, + opacity and position for the filtered element. The targets are drawn + with the standard svg path element. +

+

+ In addition to feFlood, feMerge, and feOffset, this test uses + 'feComposite' to recolor the SourceGraphic with the feFlood color. + The source graphic uses 'circle'. The target cross hairs are drawn + with 'path' and use 'fill' and 'fill-opacity'. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered image should match the reference image. Additionally, the + target crosshairs should match the color, lower left corner, and + opacity of each copy of the filtered circle. +

+
+ + $RCSfile: filters-offset-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-offset-02-b.svg b/Tests/W3CTestSuite/svg/filters-offset-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..bb933b9e2a788855138bc6c4824fd4b0e06210d4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-offset-02-b.svg @@ -0,0 +1,83 @@ + + + + + + + + + + +

+ Tests primitiveUnits="objectBoundingBox" and relative values. +There should be three green rectangles with thick black stroke. +

+ + +

Run the test. No interaction required. + +

+
+ +

+ The test has passed if there is nothing red visible and there are three + green rectangles with black stroke. If any green is visible outside the + black stroked rectangles the test has failed. +

+
+ + $RCSfile: filters-offset-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/filters-overview-01-b.svg b/Tests/W3CTestSuite/svg/filters-overview-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c5b9621c69dcff5d203902bde2919dceee8bf161 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-overview-01-b.svg @@ -0,0 +1,165 @@ + + + + + + + + + + + + +

The purpose of this file is to test the 'in' attribute on filter primitives.

+ + +

+ Run the test. No interaction required. +

+
+ +

+ To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly. +

+
    +
  1. The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).
  2. +
  3. The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).
  4. +
  5. The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).
  6. +
  7. The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).
  8. +
  9. The results for in="FillPaint" and in="StrokePaint" are the same. They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blue rectangle with blurred edges.
  10. +
  11. The size of the blue rectangles are bigger than the blurred circles.
  12. +
+
+ + $RCSfile: filters-overview-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SourceAlpha + + =========================================================================================== + + + + + + + + SourceGraphic + + =========================================================================================== + + + + + + + + BackgroundAlpha + + =========================================================================================== + + + + + + + + BackgroundImage + + =========================================================================================== + + + + + + + + FillPaint + + =========================================================================================== + + + + + + + + StrokePaint + + + + Filter input test + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-overview-02-b.svg b/Tests/W3CTestSuite/svg/filters-overview-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..e690e9c93452aec7bdfd9cbafb9b9259c20fc2f3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-overview-02-b.svg @@ -0,0 +1,178 @@ + + + + + + + + + + + + +

+ The purpose of this file is to test the 'in' attribute on filter primitives. + This test is the same as filters-overview-01-b.svg but uses gradients with gradientUnits="userSpaceOnUse" instead for the + FillPaint/StrokePaint. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly. +

+
    +
  1. The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).
  2. +
  3. The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).
  4. +
  5. The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).
  6. +
  7. The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).
  8. +
  9. The results for in="FillPaint" and in="StrokePaint" are the same. They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blurred gradiant (blue/white/red/yellow).
  10. +
  11. The size of the gradients are bigger than the blurred circles.
  12. +
+
+ + $RCSfile: filters-overview-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SourceAlpha + + =========================================================================================== + + + + + + + + SourceGraphic + + =========================================================================================== + + + + + + + + BackgroundAlpha + + =========================================================================================== + + + + + + + + BackgroundImage + + =========================================================================================== + + + + + + + + + FillPaint + + =========================================================================================== + + + + + + + + + StrokePaint + + + + Filter input test + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-overview-03-b.svg b/Tests/W3CTestSuite/svg/filters-overview-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c5688b3a8845713836fd6bb9d499dff45ed945de --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-overview-03-b.svg @@ -0,0 +1,166 @@ + + + + + + + + + + + + + +

The purpose of this file is to test the 'in' attribute on filter primitives.

+ + +

+ Run the test. No interaction required. +

+
+ +

+ To pass this test, the UA must render all 6 cases (SourceGraphic, SourceAlpha, BackgroundImage, BackgroundAlpha, FillPaint, StrokePaint) correctly. +

+
    +
  1. The result for in="SourceGraphic" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (red/green/blue with dashed stroke).
  2. +
  3. The result for in="SourceAlpha" is a non blurred vertical rectangle (green with dashed stroke) overlayed with three blurred circles (dark gray with dashed stroke).
  4. +
  5. The result for in="BackgroundImage" is a blurred vertical rectangle (green with dashed stroke).
  6. +
  7. The result for in="BackgroundAlpha" is blurred vertical rectangle (dark gray with dashed stroke).
  8. +
  9. The results for in="FillPaint" and in="StrokePaint" are the same. They consists of a non blurred vertical rectangle (green with dashed stroke) overlayed with a blurred gradiant (blue/white/red/yellow).
  10. +
  11. The size of the gradients are bigger than the blurred circles.
  12. +
+
+ + $RCSfile: filters-overview-03-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SourceAlpha + + =========================================================================================== + + + + + + + + SourceGraphic + + =========================================================================================== + + + + + + + + BackgroundAlpha + + =========================================================================================== + + + + + + + + BackgroundImage + + =========================================================================================== + + + + + + + + FillPaint + + =========================================================================================== + + + + + + + + StrokePaint + + + + Filter input test + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/filters-specular-01-f.svg b/Tests/W3CTestSuite/svg/filters-specular-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..a49e4b3bda48d75258f3bb617842fdadfd11724b --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-specular-01-f.svg @@ -0,0 +1,195 @@ + + + + + + + + + + + + +

+ Verify the basic operation of the feSpecularLighting element. The test shows + four rows of 3 images. Each row tests a different aspect of the filter and + shows the result of the filtering operation. +

+

+ The first row shows the result of varying the surfaceScale attribute. The second + row shows the result of varying the specular constant (ks) attribute. The third + row shows the result of varying the specular exponent (np) attribute. The last + row shows the result of varying the lighting-color property. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image. +

+
+ + $RCSfile: filters-specular-01-f.svg,v $ + + + + + + + + + + Filters: feSpecularLighting + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Various values for surfaceScale: 1, 10 and -10 + + + + + + + + + + + + Various values for specularConstants: 0, 1 and 2 + + + + + + + + + + + + Various values for specularExponents: 1, 2 and 4 + + + + + + + + + + + + Various values for lighting color: red, yellow and blue + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-tile-01-b.svg b/Tests/W3CTestSuite/svg/filters-tile-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..df49b53aada91f3d615c924f7c0fc14b98f1b695 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-tile-01-b.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+ The test case constructs a filter that uses feTile to tile the entire specified filter region. + The tile consists of a green rectangle over a larger transparent rectangle. + The green rectangle is created with feFlood and feOffset. There is also a semi-transparent + blue rectangle that should exactly cover one of the tiled rectangles, creating a purple + tile with a black stroke (4 tiles down and 3 across). +

+

+ The test uses the 'rect' element, feTile, feFlood, feOffset, feMerge, fill style, stroke, + font-family and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible variations + in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-tile-01-b.svg,v $ + + + + + + + + + feTile filter test: a tiled pattern + + + + + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-turb-01-f.svg b/Tests/W3CTestSuite/svg/filters-turb-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d0ef617b1e9f67bed1e7b76c0dfe9c78b51f4e2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-turb-01-f.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + +

+ Test which verifies the basic facilities of feTurbulence. Six rectangular areas showing the + effects of various parameter settings for feTurbulence. The sample image indicates the + parameter settings to produce the given image. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible variations + in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: filters-turb-01-f.svg,v $ + + + + + + + + + Six rectangular areas showing the effects of various parameter settings for feTurbulence. + + + + + + + + + + + + + + + + + + + + + + + type=turbulence + baseFrequency=0.05 + numOctaves=2 + + type=turbulence + baseFrequency=0.1 + numOctaves=2 + + type=turbulence + baseFrequency=0.05 + numOctaves=8 + + type=fractalNoise + baseFrequency=0.1 + numOctaves=4 + + type=fractalNoise + baseFrequency=0.4 + numOctaves=4 + + type=fractalNoise + baseFrequency=0.1 + numOctaves=1 + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/filters-turb-02-f.svg b/Tests/W3CTestSuite/svg/filters-turb-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..779bacc77610c01d53646f71cd7abf3cc4743c79 --- /dev/null +++ b/Tests/W3CTestSuite/svg/filters-turb-02-f.svg @@ -0,0 +1,147 @@ + + + + + + + + + + +

+ This tests the 'seed' attribute on 'feTurbulence'. +

+ + +

+ Run the test. No interaction required. + +

+
+ +

You should see three rectangles with black stroke. In each of these rectangles there should be + a series of numbers indicating the value for 'seed' that was used on the small rectangle + directly above the number. The top stroked rectangle should contain 7 smaller rects that all + have a different filter applied to them, the lower two rectangles should contain 2 smaller rects + each. The filtered rectangles in each stroked rectangle should all look exactly the same. + If the filtered rectangles are red, that indicates that the test has failed. +

+

+ The test has passed if: +

+
    +
  • the top stroked rectangle contains 7 smaller rectangles that are all identical
  • +
  • the lower left stroked rectangle contains 2 smaller rectangles that are identical
  • +
  • the lower right stroked rectangle contains 2 smaller rectangles that are identical
  • +
  • there's no red visible inside the stroked rectangles
  • +
+
+ + $RCSfile: filters-turb-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + feTurbulence seed + + + + -0.8 + + -0.5 + + -0.2 + + 0 + + 0.2 + + 0.5 + + 1.5 + + + + -1 + + -1.5 + + + + -2 + + -2.6 + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-desc-01-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e5e4c73ef995fb208e1a88b5031cdfb414f46db1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-desc-01-t.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + +

+ This tests case show the behaviour of CSS font matching + based on the font-size attribute. +

+ + + +

+ Run the test. No interaction required. +

+
+ +

+ The most correct output is + two squares, the exact match of the size, but as these are + vector fonts, and therefore scalable, the user agent can + use a margin of error, so conformant results may vary. +

+
+ + $RCSfile: fonts-desc-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + a + + + + $Revision: 1.6 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/fonts-desc-02-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7bd720b5c0cf2cff8d5f62bea44449658f722c94 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-desc-02-t.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + +

+ This tests the behaviour of CSS font matching based on font-variant attribute. +

+

+ The first line of text tests that the small-caps font is used for the second text element. +

+

+ The second line of text tests that the order of font specification does not effect the selection + of these fonts. +

+

+ The third line of text tests that the correct font is selected when a font in the list does not support + the variant required. Note that the fonts provide no x-height so scaling + (allowed by CSS) cannot be used to simulate a small cap from a regular font. +

+

+ The last line tests if small-caps are synthesized. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The first line of text should be 'square' 'triangle'. +

+

+ The second line of text should be 'square' 'triangle'. +

+

+ The third line of text should be 'square', 'diamond', 'square', 'diamond'. + Note that the fonts provide no x-height so scaling + (allowed by CSS) cannot be used to simulate a small cap from a regular font. +

+

+ The last line of test can be 'square', 'a', 'a' (from a fallback font), + 'diamond'. The first 'a' + can be replaced with a smallcaps 'A', if there is a smallcaps font installed + or if synthesis is supported. +

+
+ + $RCSfile: fonts-desc-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + a + + + a + a + + + a + a + a + a + + + a + a + a + a + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-desc-03-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d6de08d04a7c8f4f68f166c635dc90ba6affba89 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-desc-03-t.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + +

+ This test demonstrates CSS font matching based on the + font-weight attribute. +

+

+ The first line tests selecting a bold font. +

+

+ The second line tests that order of font definition does not + effect selection. +

+

+ The last line tests basic font-weight selection using + font-weight numbers. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The first line should show a square and then a triangle. +

+

+ The second line should show a triangle and then a square. +

+

+ The last line should show a square then a triangle. +

+
+ + $RCSfile: fonts-desc-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + a + + a + a + + a + a + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-desc-04-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..fb77128d2e2501a5e2eecb7d69dd8d194306dbb1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-desc-04-t.svg @@ -0,0 +1,154 @@ + + + + + + + + + + + + +

+ This test demonstrates CSS font matching based on the + font-style attribute. +

+

+ The first line of text tests selecting an italic font. +

+

+ The second line tests that order of font definition + does not effect correct matching. +

+

+ The third line tests selecting an italic and an oblique font. + Italic can match against oblique or italic, but all other values must match exactly. + The letter 'a' will be an UA-dependent default font-family, + it should be oblique, possiblely a transformation of a + normal font. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The first line of text should produce a square followed + by a triangle. +

+

+ The second line should produce a square followed + by a triangle. +

+

+ The third line should produce in first place + either a triangle, a diamond, or a letter 'a' in some fallback font. + (All are correct,and depend on which font is chosen for fallback). + This is followed by two diamonds. +

+
+ + $RCSfile: fonts-desc-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + a + + + a + a + + + a + a + a + + + + $Revision: 1.7 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/fonts-desc-05-t.svg b/Tests/W3CTestSuite/svg/fonts-desc-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..41cff386f1cb55f75d6ad28db9d723bbce1623c8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-desc-05-t.svg @@ -0,0 +1,136 @@ + + + + + + + + + + + + +

+ This tests a combination of font attribute matching. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The correct result for the first line is diamond, diamond, upward-triangle, + downard-triangle. The correct result for the second line is + upward-triangle, downard triangle, and a right-triangle. +

+

+ Reasoning for glyphs on the first line: + The first character is a diamond because it is matched purely + on the font-style attribute. The second character is a diamond + because font-style (italic) is of highest precedence, followed + by font-variant (normal), then font-weight (bold). The third + character matches upward-triangle because again font-variant + (small-caps) is a higher precedence than font-weight. The + fourth character undisputedly matches the downward-triangle. +

+

+ Reasoning for the glyphs on the second line: + The first character is a upward-triangle because the font + matching must fall back to SVGFont1 to get a match + for small-caps. The second character is a downward-triangle + because there is no match for small-caps in SVGFont2. + The third character is a right facing triangle because + italic should match oblique in SVGFont2. +

+
+ + $RCSfile: fonts-desc-05-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a + a + a + a + + + a + a + a + + + + $Revision: 1.7 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-01-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9ff421cf65c00537986e675f39a791295702b0a5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-01-t.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + +

+ This is a basic test for embedded SVG fonts. The font "Comic Sans" + (available from Microsoft) has been converted into an SVG font and embedded + in the SVG file. The test contains two text areas, each with the character + string "AyÖ@ç" drawn at the same font size. +

+

+ The upper area contains the glyphs from the embedded font placed in + the SVG file as path elements. Each glyph is placed at the location it + would be if rendered using normal text rendering (ie. the horizontal + advance between characters has been preserved). +

+

+ The lower area contains the text string rendered using the embedded + SVG font. It should appear exactly the same as the upper text area, + ie. font size, character baseline and horizontal advance should be + the same. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passes if the string "AyÖ@ç" is visible and fontsize, + character baseline and horizontal advances are the same on both lines, + as shown in the reference image. +

+
+ + $RCSfile: fonts-elem-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + Basic SVG font element + + + + + Placed Glyphs + + + + + + + + + + + + + + + + + + + + + + + + + + SVG Font + + + AyÖ@ç + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-02-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7a8e347676ceb98f8462ac5f3bef1950ccc5be7b --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-02-t.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + +

+ This is an accuracy test for embedded SVG fonts. The font "Comic Sans" + (available from Microsoft) has been converted into an SVG font and embedded + in the SVG file. The test contains two text areas, each with the character + string "AyÖ@ç" drawn at the same font size. +

+

+ The upper area has the placed glyphs as path elements filled with + white over a solid black background (creating a white cutout). The + embedded SVG font text is then drawn over the cutout. +

+

+ The lower area is the reverse of the upper area, with the placed + black glyphs filling the cutout created by white SVG font text. + An implementation that passes this test should completely fill the + cutout, leaving a solid black area (some slight antialiasing effects + may remain). +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed iff the black text exactly overlays the white text + on black, giving a solid black area. Some slight antialiasing effects may + remain and do not cause the test to fail. +

+
+ + $RCSfile: fonts-elem-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + SVG font element accuracy + + SVG over Glyphs + + + + + + + + + + + + + + + + + + + AyÖ@ç + + Glyphs over SVG + + AyÖ@ç + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-03-b.svg b/Tests/W3CTestSuite/svg/fonts-elem-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..6d73067056b3610df45a59549450d7954c80eef6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-03-b.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + +

+ This is a basic test for external SVG fonts. The font "Comic Sans" + (available from Microsoft) has been converted into an SVG font and placed + in an external SVG file referenced by a font-face-src element. + The test contains two text areas, each with the character + string "AyÖ@ç" drawn at the same font size. +

+

+ The upper area contains the glyphs from the font placed in + the SVG file as path elements. Each glyph is placed at the location it + would be if rendered using normal text rendering (ie. the horizontal + advance between characters has been preserved). +

+

+ The lower area contains the text string rendered using the external + SVG font. It should appear exactly the same as the upper text area, + ie. font size, character baseline and horizontal advance should be + the same. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if the upper and lower lines show the same glyphs with + the same glyph positioing and inter-glyph spacing. +

+
+ + $RCSfile: fonts-elem-03-b.svg,v $ + + + + + + + + + + + + + + + + + External SVG font element (xml) + + + + + Placed Glyphs + + + + + + + + + + + + + + + + + + + + + + + + + + SVG Font + + + AyÖ@ç + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-04-b.svg b/Tests/W3CTestSuite/svg/fonts-elem-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..07362e5124d48e2f34158563c4515d80f91dfd35 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-04-b.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + +

+ This is a basic test for external SVG fonts. The font "Comic Sans" + (available from Microsoft) has been converted into an SVG font and placed + in an external SVG file referenced by a CSS stylesheet with an @font-face rule. + The test contains two text areas, each with the character + string "AyÖ@ç" drawn at the same font size. +

+

+ The upper area contains the glyphs from the font placed in + the SVG file as path elements. Each glyph is placed at the location it + would be if rendered using normal text rendering (ie. the horizontal + advance between characters has been preserved). +

+

+ The lower area contains the text string rendered using the external + SVG font. It should appear exactly the same as the upper text area, + ie. font size, character baseline and horizontal advance should be + the same. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if the upper and lower lines show the same glyphs with + the same glyph positioing and inter-glyph spacing. +

+
+ + $RCSfile: fonts-elem-04-b.svg,v $ + + + + + + + + + + + + + External SVG font element (css) + + + + + Placed Glyphs + + + + + + + + + + + + + + + + + + + + + + + + + + SVG Font + + + AyÖ@ç + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-05-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7460c158cb3cadac8b49f7b3b44fd3227dd06304 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-05-t.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + +

+ This tests the horiz-origin-x attributes on the font and glyph elements. +

+ + +

Run the test. No interaction required. +

+
+ +

+ There are three subtests. The test is passed if for each subtest there is labelling text on the left and on the right, a series of black squares whose lower-left corner aligns with the centre of the corresponding small, pale blue square as shown in the reference graphic. +

+
+ + $RCSfile: fonts-elem-05-t.svg,v $ + + + + + + + + + <font> horiz-origin-x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horiz-origin-x unspecified (0) + + + + + 1234 + + + + horiz-origin-x=500 + + + + + 1234 + + + + + horiz-adv-x=1000 but ignored + + + + + 1234 + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-06-t.svg b/Tests/W3CTestSuite/svg/fonts-elem-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a6116e1ee448629df3b5551f2569e7861b0c4dfd --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-06-t.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + + +

+ This test validates that the font element's horiz-adv-x is used as + the default glyph's advance when there is no glyph advance specified. + All fonts have a units-per-em of 1000. +

+

+ The first row shows a layout with a default advance of 1000. + Glyphs have no advance so the 1000 default should be used. +

+

+ The second row shows a layout with a default advance of 2000. + Glyphs have no advance so the 2000 default should be used. +

+

+ The last row shows a layout with a default advance of 0. + Glyphs have a specified advance so the 0 default should be ignored. +

+

+ Blue reference markers show the expected glyph positions. +

+ + +

Run the test. No interaction required. +

+
+ +

+ There are three subtests. The test is passed if for each subtest there is labelling text on the left and on the right, a series of black squares whose lower-left corner aligns with the centre of the corresponding small, pale blue square as shown in the reference graphic. +

+
+ + $RCSfile: fonts-elem-06-t.svg,v $ + + + + + + + + + <font> horiz-adv-x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + horiz-adv-x=1000 + + + 12 + + + + horiz-adv-x=2000 + + + 12 + + + + + horiz-adv-x=1000 but ignored + + + 12 + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-elem-07-b.svg b/Tests/W3CTestSuite/svg/fonts-elem-07-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..f9167aeb31ab88c5e821f434fb0b8e868567a4db --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-elem-07-b.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + +

+ This is a basic test for embedded SVG fonts. The font "Comic Sans" + (available from Microsoft) has been converted into an SVG font and embedded + in the SVG file. The test contains two text areas, each with the character + string "AyÖ@ç" drawn at the same font size. +

+

+ The upper area contains the glyphs from the embedded font placed in + the SVG file as path elements. Each glyph is placed at the location it + would be if rendered using normal text rendering (ie. the horizontal + advance between characters has been preserved). +

+

+ The lower area contains the text string rendered using the embedded + SVG font, referenced with a CSS @font-face declaration. The SVG font does not have a font-family attribute, so the reference is via the @font-face block which points to a font element by ID. It should appear + exactly the same as the upper text area, + ie. font size, character baseline and horizontal advance should be + the same. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passes if the string "AyÖ@ç" is visible and fontsize, + character baseline and horizontal advances are the same on both lines, + as shown in the reference image. +

+
+ + $RCSfile: fonts-elem-07-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Basic SVG font element + + + + + Placed Glyphs + + + + + + + + + + + + + + + + + + + + + + + + + + SVG Font + + + AyÖ@ç + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-glyph-02-t.svg b/Tests/W3CTestSuite/svg/fonts-glyph-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..68ce4fa7356193ce99dfcd7faf9ec4941b55a847 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-glyph-02-t.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ The first subtest tests the arabic-form attribute on the glyph element, + the second subtest is the same, but with glyphs for the letter khah. + It should match the reference image. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The first subtest must produce a + 'downward triangle', a 'space', a 'square', a 'diamond' + and then an 'upward triangle' in this order. Remembering + that arabic text is right to left. +

+

The second subtest must produce the isolated, initial, medial, final and + glyphs of the letter khah. Again in the writing direction, from right to left. +

+
+ + $RCSfile: fonts-glyph-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ښ ښښښ + + + + خ خخخ + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-glyph-03-t.svg b/Tests/W3CTestSuite/svg/fonts-glyph-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e7bcc10b148832334d08aea033e56fd49f1b0e29 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-glyph-03-t.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

ISSUE: http://www.w3.org/2011/02/27-svg-irc#T22-20-51 - unapprove test for now

+

+ This files tests the lang attribute support of the glyph + element. The test should produce an upward-triangle for + the first (en) test element and a square for the second (fr) + and third (fr-ca) text element. In the third case, a glyph for + fr is also suitable for a more specific language text fr-ca. + In the fourth case, no suitable language specific or general + glyph is provided by the test so a fallback font for the letter + 'a' should be used. A triangle or square must not be + displayed in the fourth case. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if, from top to bottom, you see an upward pointing triangle, then two squares, and finally the letter "a". +

+
+ + $RCSfile: fonts-glyph-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + a + + a + + a + + a + + + + $Revision: 1.6 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/fonts-glyph-04-t.svg b/Tests/W3CTestSuite/svg/fonts-glyph-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..498244b841ba91ca20a0dedd9fafa19f82d65e0b --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-glyph-04-t.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + +

+ This tests that glyph selection is done in the + order in the definition of the font element. + The first line of text should be represented by + two triangles and an 'l'. The second line should + be represented by a square. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if on the first line you see two upward pointed triangles + followed by the letter "l". On the second line, a single square. +

+
+ + $RCSfile: fonts-glyph-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + ffl + ffl + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-kern-01-t.svg b/Tests/W3CTestSuite/svg/fonts-kern-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0b52ff662c804425ae286cb66e956684f1b924f1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-kern-01-t.svg @@ -0,0 +1,293 @@ + + + + + + + + + + + + +

+ This test validates handling of the hkern element. +

+

+ In all instances, a text element matching a font with hkern + is displayed along with reference markers showing the expected + glyph positioning. +

+

+ The 'fontA' cell shows the string "12" with "fontA" for which there + in a kerning pair defined with u1="1" and u2="2". +

+

+ The 'fontB' cell shows the string "12" with "fontB" for which there + in a kerning pair defined with g1="gl_1" and g2="gl_2", + where "gl_1" has unicode="1" and "gl_2" has unicode="2". +

+

+ The 'fontC' cell shows the string "1234" with "fontC" were the same kerning pair + uses u1/u2 to match "12" and g1/g2 to match "34". +

+

+ The 'fontD' cell shows the string "1234" with "fontD" were the same kerning pair + uses u1/u2 to match "12" and "34" (u1/u2 are lists of character vales). +

+

+ The 'fontE' cell shows the string "1234" with "fontE" were the same kerning pair + uses g1/g2 to match "12" and "34" (g1/g2 are lists of names). +

+

+ The 'fontF' cell shows the string "1234" with "fontF" were the same kerning pair + uses u1/u2 to match "12" and "34" (u1/u2 are unicode ranges). +

+

+ The 'fontG' cell shows the string "12" with "fontG" were for which there + is a kerning pair with u1 matching "1" and g2 matching "gl_2". +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if for each of the seven subtests there is a series of black squares whose lower-left corner aligns with the centre of the corresponding small, red square as shown in the reference graphic. +

+
+ + $RCSfile: fonts-kern-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <hkern> + + + + + font A + + + u1="1" u2="2" + + + + + + + + + 12 + + + + + + + font B + + + g1="gl_1" g2="gl_2" + + + + 12 + + + + + + + font C + + + u1="1" u2="2" g1="gl_3" g2="gl_4" + + + + + + + + 1234 + + + + + + + font D + + + u1="1,3" u2="2,4" + + + + + + 1234 + + + + + + + font E + + + g1="gl_1,gl_3" g2="gl_2,gl_4" + + + + + + 1234 + + + + + + + font F + + + u1="U+003?" u2="U+0031-34" + + + + + + + + + 1234 + + + + + + + font G + + + u1="1" g2="gl_2" + + + + + + + + + 12 + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/fonts-overview-201-t.svg b/Tests/W3CTestSuite/svg/fonts-overview-201-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..65de3f474c0ed0e3804678f00aa7cb46674f828e --- /dev/null +++ b/Tests/W3CTestSuite/svg/fonts-overview-201-t.svg @@ -0,0 +1,122 @@ + + + + + + + + + + + +

+ This tests a range of values for the 'units per em' attribute. +

+

+ The same glyph is defined three times in three fonts, but with different values + for units-per-em - 1,000, 10, and 10,000 - and with the other numerical values + that depend on units-per-em scaled accordingly. Text using these fonts must all be displayed at the same size, + because the same font-size is used throughout. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the three letter β are all the same size. +

+
+ + $RCSfile: fonts-overview-201-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + β + β + β + + 1,000 + 10 + 10,000 + varying units-per-em values + + + $Revision: 1.2 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/imp-path-01-f.svg b/Tests/W3CTestSuite/svg/imp-path-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..1cae43261993bca43746614abec91f563244ecca --- /dev/null +++ b/Tests/W3CTestSuite/svg/imp-path-01-f.svg @@ -0,0 +1,54 @@ + + + + + + + + + + +

+ Tests that markers are drawn on zero-length 'path' and 'line' segments. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there are two blue boxes, positioned as in the reference image. +

+
+ + $RCSfile: imp-path-01-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/interact-cursor-01-f.svg b/Tests/W3CTestSuite/svg/interact-cursor-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ff7d7165044bbe45cbfb53a3f1b75e2e763924ba --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-cursor-01-f.svg @@ -0,0 +1,158 @@ + + + + + + + + + + + + +

+ Purpose of test is to determine if the cursor property and cursor element are + supported. +

+ + +

+ This test requires user interaction. Firstly, the default cursor behaviour should be examined. + Move the cursor to the top left corner, in the white area. This is the default + cursor. Now move the cursor over the text at the top of the example. The cursor + changes to the text cursor. Lastly, move the cursor to the blue link + text - the cursor changes to the pointer cursor. +

+

+ Now, move the cursor in turn to each of the gray rectangles (but not on top + of the white text label text). From top to bottom in the first row, the cursor + should change to: +

+

+ A crosshair or other 'accurate positioning' cursor + The 'default' cursor, as noted above + The 'pointer' cursor, as noted above + A cursor indicating movement, such as panning +

+

Now from top to bottom in the second row, the cursor should change to:

+

+ The 'text' cursor, as noted above + A 'wait' cursor + A 'help' cursor + A special cursor which looks like a small magnifying glass. This is a downloaded image cursor. + +

+

+ Moving to the bottom-leftmost of the eight red triangles, and moving around them clockwise, the + cursor should change to: +

+

+ SouthEast-resize, South-resize, SouthWest resize, West-resize, + NorthWest-resize, North-resize, NorthEast-resize, East-resize. +

+

+ Lastly, move the cursor to the target in the bottom-right of the test. The cursor must not + change to the 'pointer' cursor, but instead to the custom magnifying glass cursor as noted + above. +

+
+ +

+ The test is passed if, at each position, the cursor changes as described in the operator script. +

+
+ + $RCSfile: interact-cursor-01-f.svg,v $ + + + + + + + + + + + + + Text Cursor + Pointer Cursor + + + + + + + + + + crosshair + + + + default + + + + pointer + + + + move + + + + text + + + + wait + + + + help + + + + <url> + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-dom-01-b.svg b/Tests/W3CTestSuite/svg/interact-dom-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..907cc20bcda6ea479825a0bfd259236226fcaa63 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-dom-01-b.svg @@ -0,0 +1,133 @@ + + + + + + + + + + + + +

+ Verify basic support for DOM event listener registration. The root svg element + has an onload handler where a click event listener is registered on group element 'Start Button'. +

+

+ If UI events listener registration is supported (and UI events), + when the user clicks on the button a text node is inserted reading "Event Listeners supported". +

+

+ At the end of the test, the start test button is changed to green, + and the click event listener is removed from the the start button. +

+

+ Subsequent clicks on the start button should cause no effect if + the event listener has been removed successfully. + If additional lines of text appear in the document that say "Event Listeners supported", + then the implementation has not successfully removed the event listener. +

+ + +

This test requires user interaction. Run the test, then click on the grey rectangle. + If it turns green, click it again. +

+
+ +

+ After clicking once on the button, the rectangle should have a green fill + and the text "Event listeners supported" should appear, once. + +

+
+ + $RCSfile: interact-dom-01-b.svg,v $ + + + + + + + + + + + + + + + + + Start Test + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-events-01-b.svg b/Tests/W3CTestSuite/svg/interact-events-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..e31961e3459584a0ddde3caa583c28d6554c990e --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-events-01-b.svg @@ -0,0 +1,123 @@ + + + + + + + + + + + + +

+ Test 'onload' event attribute. +

+

+ Six blue rectangles have been defined, each initially defined with + 'visibility:hidden'. 'onload' event attributes are assigned in + a variety of ways, usually to set 'visibility:visible'. + The red text indicates the correct behavior + (whether a given rectangle should appear in the visual result). +

+

+ The first rectangle has no associated 'onload' event so it remains invisible. + The second rectangle has an 'onload' event on itself, which invokes a script + which sets 'visibility:visible', so it should appear. + The third rectangle has an 'onload' event on its parent 'g', which invokes a script + which sets 'visibility:visible' on the rectangle, so it should appear. + The fourth rectangle has an 'onload' event on an ancestor 'svg', which invokes a script + which sets 'visibility:visible' on the rectangle, so it should appear. + The fifth rectangle has an 'onload' event both itself and its parent 'g'. + The rectangle's script sets 'visibility:visible' on the rectangle + but the parent's script sets 'visibility:hidden' on the rectangle, + which should happen afterwards, so the rectangle should not appear. + The sixth rectangle has an 'onload' event on the outermost 'svg', which invokes a script + which sets 'visibility:visible' on the rectangle, so it should appear. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if blue squares are visible for subtests 2, 3, 4 and 6 (only) +

+
+ + $RCSfile: interact-events-01-b.svg,v $ + + + + + + + + + + + + + 'onload' event attribute. + + + + + 1: No + + + + 2: Yes + + + + + + 3: Yes + + + + + + 4: Yes + + + + + + 5: No + + + + 6: Yes + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-events-02-b.svg b/Tests/W3CTestSuite/svg/interact-events-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..60e377cc745e808701c00b2f70c0898a3b1a0a63 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-events-02-b.svg @@ -0,0 +1,77 @@ + + + + + + + + + + +

+ This tests that the SVGLoad event does not bubble. +

+

+ After loading the tests, two rectangles are displayed. + The left rectangle indicates whether the SVGLoad event + dispatched to the root 'svg' element did not bubble + and the right rectangle indicates whether the SVGLoad + event dispatched to an 'image' element did not bubble. + Each rectangle is red if the sub-test failed or green + if it passed. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test is passed if both rectangles are green + once the document has loaded. +

+
+ + $RCSfile: interact-events-02-b.svg,v $ + + + + + + + + + + Testing that SVGLoad does not bubble + + + + + On root <svg> + On an <image> + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/interact-events-202-f.svg b/Tests/W3CTestSuite/svg/interact-events-202-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b544e1bb172801d185a0d20aa221df79be385f7c --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-events-202-f.svg @@ -0,0 +1,83 @@ + + + + + + + + + + +

+ Testing event bubbling through 'use' element. +

+ + +

+ Mouseover the blue rect, then the green rect and then away from the rects. +

+
+ +

+ Moving the mouse over the blue rect should make a yellow rect visible underneath it. + Moving the mouse over the green rect should make a purple rect visible underneath it. + Moving the mouse away from the blue/green rect should hide the rect underneath it again. +

+
+ + $RCSfile: interact-events-202-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/interact-events-203-t.svg b/Tests/W3CTestSuite/svg/interact-events-203-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6b3f94492e46a6cfef0aa671321ca1a0f4dcd9c9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-events-203-t.svg @@ -0,0 +1,109 @@ + + + + + + + + + + +

Tests 'mouseover' event on SVGElementInstance

+

+ What each case tests is as follows. + Case 1: mouseover event on SVGElementInstance. Referenceing an element that contains an event. + Case 2: mouseover event on referencing element. Event bubbling from SVGElementInstance to referencing element. + Case 3: mouseover event on parent of referencing element. Event bubbling from SVGElementInstance to referencing element ancestors. + Case 4: mousedown event on referencing element. SVGElementInstance is not effected by event listener on referencing element. +

+ + +

+ Mouseover each of the red rectangles, and then click on the bottommost rectangle. +

+
+ +

+ This test contains four cases. The cases must produce the following results for the test to pass. +

+
    +
  • Case 1: On a mouseover event on the top square, all four squares must turn blue.
  • +
  • Case 2: On a mouseover event on the top middle square, all four squares must turn blue and a black stroke + must appear on the referencing square (element).
  • +
  • Case 3: On a mouseover event on the bottom middle square, all four squares must turn blue and a black + stroke must appear on the referencing square (element).
  • +
  • Case 4: On a mouseover event on the bottom square, all four squares must turn blue, and on a mousedown event + a black stroke must appear on the referencing square (element).
  • +
+
+ + $RCSfile: interact-events-203-t.svg,v $ + + + + + + + + + + + + + + + Shadow tree event listener chain + + + + Case 1: on mouseover all squares must turn blue + + + + + + + + Case 2: on mouseover all squares must turn blue + and a black stroke must appear on reference square + + + + + + + + + + Case 3: on mouseover all squares must turn blue + and a black stroke must appear on reference square + + + + + + + + Case 4: on mouseover all squares must turn blue + and on mousedown a black stroke must appear on reference square + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/interact-order-01-b.svg b/Tests/W3CTestSuite/svg/interact-order-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c552a96095c08f4a6dc5c0c9322f2c4fd8c15c15 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-order-01-b.svg @@ -0,0 +1,105 @@ + + + + + + + + + + + + +

+ Test event bubbling of event attributes, part a. +

+

+ The two circles test whether event bubbling is occurring + to parents of the target object, and whether the target object + is able to prevent bubbling. The supplemental text next to + the circles describes what should occur. +

+ + +

This test requires user interaction. Firstly, move the pointer + over the top circle. Then, move it over the bottom circle.

+
+ +

+ The test is passed if two black circles are displayed. The top circle +must turn pink when the pointer is over the circle, and go back to black once +the pointer leaves. The second circle must turn blue when the pointer is over +the circle, and go back to black once the pointer leaves. +

+
+ + $RCSfile: interact-order-01-b.svg,v $ + + + + + + + + + + + + Event bubbling - a + + + + + + + + + + + + Pointer in circle, + + + circle turns pink + + + Pointer in circle, + + + circle turns blue + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-order-02-b.svg b/Tests/W3CTestSuite/svg/interact-order-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..175a739c9d3643e78144eb2118d3d414b50c54f4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-order-02-b.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + +

+ Test event bubbling of event attributes, part b. +

+

+ The two circles test whether events are handled in the + proper order. Events listeners and event attributes are processed + before hyperlink processing, which is processed before text selection. + +

+ + +

Click on the first circle, then the second, and lastly the new third circle.

+
+ +

+ Clicking on the first circle should change the circle from black to red. Clicking + on the second circle should take you to another SVG file titled "Hyperlink target for + interact-order-02.svg. Cliking on the circle in this SVG file should return you to the orginal + two circles. +

+
+ + $RCSfile: interact-order-02-b.svg,v $ + + + + + + + + + + + + Event bubbling - b + + + + + + + + + + + + + Click on circle, + + + circle turns red + + + Click on circle, + + + hyperlink + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-order-03-b.svg b/Tests/W3CTestSuite/svg/interact-order-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..da13af3e8bafa6fb9a9ad84f147230ba0c1655d0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-order-03-b.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + +

+ Test event bubbling of event attributes, part c. +

+

+ The three strings tests event handling behavior on text. + Text selection only is available after event listeners and event + attributes have been processed, and after hyperlink processing + has occurred. +

+ + +

+ First, click the string on the first line; then the second. Lastly, all text should be selectable. +

+
+ +

+ The supplemental text below the text strings describes what should occur. +

+
+ + $RCSfile: interact-order-03-b.svg,v $ + + + + + + + + + + + + Event bubbling - c + + + + + + + + String turns red on click + + + + String hyperlinks to + + + interact-order-03b-targ.svg + + + + All strings are selectable. + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-01-b.svg b/Tests/W3CTestSuite/svg/interact-pevents-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..75c11e92b5ad8004ceb4ea7b6d780df911927476 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-01-b.svg @@ -0,0 +1,197 @@ + + + + + + + + + + + + +

+ This test tests 'pointer-events' on text. Initially you should see four big rects with black stroke. + In the uppermost rect there should be 10 'O':s with black fill. + In the second rect from the top there should be 10 'O':s with no fill but with black stroke. + In the third and fourth rects there should be no visible 'O':s at all. + In the fourth rect there should be two green rects, and in each of the other three rects there should be one green rect. +

+

+ For UA debugging purposes it's possible to click the "Toggle freeze" button before running the test. + That will reset the visibility, fill and stroke on each 'O' as the cursor moves over them so that it's + possible to trigger the change more than once. If the "Toggle freeze" button is clicked once again that + means the change will remain after the cursor moves out. +

+ + +

+ Using the pointer device move the cursor over the rects all the rects from left to right. + As the mouseover event triggers the 'O':s will become visible and marked in either green (a pass) or red (a fail). +

+
+ +

+ The test has passed if after moving the cursor over all the rects: +

+
    +
  1. all the 'O':s in the green rects have green fill
  2. +
  3. there are no red 'O':s visible
  4. +
  5. there are 9 green 'O':s in the first and second rect, 4 in the third rect and 6 in the fourth rect
  6. +
+
+ + $RCSfile: interact-pevents-01-b.svg,v $ + + + + + + + + + + + + Test pointer-events on text + + + O + O + O + O + O + O + O + O + O + O + + + + + + + + + + O + O + O + O + O + O + O + O + O + O + + + + + + + + + + O + O + O + O + O + O + O + O + O + O + + + + + + + + + + O + O + + O + O + O + + O + + O + O + O + + O + + + + + + + + + + + + Toggle freeze + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-03-b.svg b/Tests/W3CTestSuite/svg/interact-pevents-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5da26cfbb0d90497aaaa001e037d6b3d57cbb68e --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-03-b.svg @@ -0,0 +1,131 @@ + + + + + + + + + + + + +

Tests that pointer events are not delivered to text elements when the pointer is + over any white space due to letter-spacing.

+ + +

For each line of text, slowly move the mouse from left to right over and between all of the visible glyphs. + When the mouse is at various points along each line of text, the text will become green.

+
+ +

For all of the lines of text, when the mouse is over a visible glyph, that line of text + must be green. When the mouse is between the visible glyphs, it must be either green or + black as follows:

+
    +
  • For the first, third and fifth lines, the text must be black when the mouse + is between any of the visible glyphs.
  • +
  • For the second and fourth lines, the space between each pair of visible glyphs is divided into + three parts (not necessarily of equal size): +
      +
    • When the mouse is over the first (left) part of the space between a pair of visible glyphs, the text must be black.
    • +
    • When the mouse is over the second (middle) part of the space between a pair of visible glyphs, the text must be green.
    • +
    • When the mouse is over the third (right) part of the space between a pair of visible glyphs, the text must be black.
    • +
  • +
+
+ + $RCSfile: interact-pevents-03-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test pointer-events on text + + + + + @ A y Ö ç + + + + @ A y Ö ç + + + + @AyÖç + + + + + + @ A y Ö ç + + + + @AyÖç + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-04-t.svg b/Tests/W3CTestSuite/svg/interact-pevents-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..2ed7c6eeecebdfc3527f129ac2c147123576fadb --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-04-t.svg @@ -0,0 +1,132 @@ + + + + + + + + + + + + +

+ Tests where text is considered intersected by the cursor when letter-spacing is used. +

+

+ The first two lines should look the same, but the second line is using a slightly different svgfont that defines an empty path for the space glyph. +

+

+ The third line doesn't have any spaces, just letter-spacing, so there are no glyphs in between the letters. Hovering the whitespace between the letters should not highlight the line. +

+

+ The fourth line has a space glyph between the other glyphs, and letter-spacing. +

+

+ The fifth line has no spaces only letter-spacing. +

+ + +

+ Slowly move the mouse over the characters on each row. +

+
+ +
    +
  • The first two lines must behave the same way, and must turn green only when a glyph is hovered, note that this includes the space glyph which covers about half the distance between each pair of the other glyphs.
  • +
  • The third line must turn green only when hovering each of the visible glyphs, not the whitespace.
  • +
  • The fourth line must turn green only when a glyph is hovered, note that this includes the space glyph which covers about half the distance between each pair of the other glyphs.
  • +
  • The fifth line must turn green only when hovering each of the visible glyphs, not the whitespace.
  • +
+
+ + $RCSfile: interact-pevents-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test pointer-events on text + + + + + @ A y Ö ç + + + + @ A y Ö ç + + + + @AyÖç + + + + + + @ A y Ö ç + + + + @AyÖç + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-05-b.svg b/Tests/W3CTestSuite/svg/interact-pevents-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..7a6f6815a0ac5d9ad74f37557091a28c5123b71c --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-05-b.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + +

+ Tests when text is considered hit by pointer-events. + According to SVG 1.1 pointer-events on text is not supposed to use the text boundingbox, instead it should use the 'character cells'. +

+ + +

Consider each of the two light blue boxes to be divided up into nine vertical strips: + five consisting of areas just wide enough to fit each of the glyphs, and four + consisting of the white space between those five other strips. For each of these + vertical strips, move the mouse slowly from the top of the light blue box to the bottom, + keeping the mouse within the strip. At various points, all of the glyphs within + the box will be green and at others they will all be black.

+
+ +

When the mouse is over a glyph, then all of the glyphs within the light blue box + must be green.

+

When the mouse is within one of the white space strips, then all of the glyphs + within the light blue box must be black.

+

When the mouse is within the strip containing the first, second or fourth + glyph ("@", "A" or "Ö") and it is below the glyph, then all of the glyphs + within the light blue box must be black.

+

When the mouse is within the strip containing the second, third, fourth or + fifth glyph ("A", "y", "Ö" or "ç") and it is above the glyph, then all of the glyphs + within the light blue box must be black.

+
+ + $RCSfile: interact-pevents-05-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test pointer-events on text + + @AyÖç + @AyÖç + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-07-t.svg b/Tests/W3CTestSuite/svg/interact-pevents-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e78f68ee2efbcd58707e7d24c03762ab947a1283 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-07-t.svg @@ -0,0 +1,114 @@ + + + + + + + + + + +

Testing pointer-events and rendering order

+ + +

+ Move the mouse over the blue and purple shapes. Click the red circle on the top left. Move the mouse over the blue and purple shapes again. +

+
+ +

+ For the test to pass the blue rectangles must always turn red on mouseover, and the ovals must turn red on mouseover only if pointer-events are set to "ALL". + If a shape other than the one currently hovered turns red then the test has failed. +

+
+ + $RCSfile: interact-pevents-07-t.svg,v $ + + + + + + + + + + + + Testing pointer-events and rendering order + Rectangles should turn RED on mouseover + Ovals should turn RED if Pointer-Events are set to "ALL" + + + + Change "Pointer-Events" of + ovals from "ALL" to "NONE" + + + + + Purple ovals have "Pointer-Events" set to "ALL". + Purple ovals have Pointer-Events set to "NONE". + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-08-f.svg b/Tests/W3CTestSuite/svg/interact-pevents-08-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f3a3d3bd0f6383c393026edaad0a9eb9727dc510 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-08-f.svg @@ -0,0 +1,185 @@ + + + + + + + + + + +

Tests the pointer-events attribute with different 'visible' values, same as the interact-pevents-201-t test but with script instead of declarative animation

+

+ The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke. + The 4th column (most right column) has a non activatable pointer event as the visibility of the column + is set to hidden. +

+

+ The first row tests the default value for pointer-event, i.e. visible fill and stroke will trigger an event. + The second row tests pointer-events="visiblePainted", i.e. visible fill and stroke will trigger an event. + The third row tests pointer-events="visibleFill", i.e. visible fill only an event. + The fourth row tests pointer-events="visibleStroke", i.e. visible stroke only an event. + The fifth row tests pointer-events="visible", i.e. visible fill and stroke will trigger an event. +

+ + +

+ Slowly move the mouse over the rectangles in each row while checking the pass criteria. +

+
+ +

+ The test is passed if the following conditions are met: +

+
    +
  • In the first row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the second row of squares, the fill and stroke of squares 1 and 3 only must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the third row of squares, the fill only of squares 1, 2 and 3 must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fourth row of squares, the stroke only of squares 1, 2 and 3 must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fifth row of squares, the fill and stroke of squares 1, 2 and 3 must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
+
+ + $RCSfile: interact-pevents-08-f.svg,v $ + + + + + + + + + + + + Testing pointer-events - pale RED rect should appear on mouseover. + + + 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke + + + + + + + + + + + + + + + + default : + fill and stroke of rects 1 and 3 must trigger + + + + + + + + + + + + + + + visiblePainted : + fill and stroke of rects 1 and 3 must trigger + + + + + + + + + + + + + + + + + + visibleFill : + only fill of rects 1, 2 and 3 must trigger + + + + + + + + + + + + + + + + + + visibleStroke : + only stroke of rects 1, 2 and 3 must trigger + + + + + + + + + + + + + + + + + + visible : + fill and stroke of rects 1, 2 and 3 must trigger + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-09-f.svg b/Tests/W3CTestSuite/svg/interact-pevents-09-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..44d7372ece7fc1db2b8349292e38f418f5690bf0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-09-f.svg @@ -0,0 +1,174 @@ + + + + + + + + + + +

Tests the pointer-events attribute with different painting values, same as the interact-pevents-202-t test but with script instead of declarative animation

+

+ The 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke. + The 4th column has visibility set to hidden. +

+

+ The first row tests pointer-events="painted", i.e. event on fill and stroke that are set. + The second row tests pointer-events="fill", i.e. event on a fill that is set. + The third row tests pointer-events="stroke", i.e. even on a stroke that is et. + The fourth row tests pointer-events="all", i.e. event on fill and stroke that are set. + The fifth row tests pointer-events="none", i.e. no event. +

+ + +

+ Slowly move the mouse over the rectangles in each row while checking the pass criteria. +

+
+ +

+ The test is passed if the following conditions are met: +

+
    +
  • In the first row of squares, the fill and stroke of squares 1, 3 and 4 only must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the second row of squares, the fill only of all squares must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the third row of squares, the stroke only of all must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fourth row of squares, the fill and stroke of all squares must trigger a pale red rectangle to appear + over the squares on mouseover.
  • +
  • In the fifth row of squares, nothing is to trigger on mouseover.
  • +
+
+ + $RCSfile: interact-pevents-09-f.svg,v $ + + + + + + + + + + + + Testing pointer-events - pale RED rect should appear on mouseover. + + + 2nd and 3rd columns represent respectively rects with no fill/stroke and transparent fill/stroke + + + + + + + + + + + + + + + + painted : + fill and stroke of rects 1, 3 and 4 must trigger + + + + + + + + + + + + + + + fill : + fill of rects 1 to 4 must trigger + + + + + + + + + + + + + + + stroke : + stroke of rects 1 to 4 must trigger + + + + + + + + + + + + + + + all : + stroke and fill of rects 1 to 4 must trigger + + + + + + + + + + + + + + + none : + nothing is to trigger + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pevents-10-f.svg b/Tests/W3CTestSuite/svg/interact-pevents-10-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c05e2b361b4fb8af6c2beaee72f444401d8a9c60 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pevents-10-f.svg @@ -0,0 +1,82 @@ + + + + + + + + + + +

+ An element with 'display' set to 'none' or an element whose parent has 'display' set to 'none' is not a target of pointer events. +

+

+ Stack a 'circle' element with 'display' equal to 'none' on another 'circle' element. + Specify an 'onclick' event handler on the 'circle' with 'display' set to 'none' that will change the 'visibility' of 'FAIL' text to 'visible'. + Verify that the event handler does not fire which clicking on the top 'circle' element. + Repeat with another set of 'circle' elements with the parent of one of the 'circle' elements having its 'display' set to 'none'. +

+ + +

+ Click on both black circles. +

+
+ +

+ Test passes if there is no red visible on the page after clicking the black circles. +

+
+ + $RCSfile: interact-pevents-10-f.svg,v $ + + + + + + + + + + + + + + + FAIL + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pointer-01-t.svg b/Tests/W3CTestSuite/svg/interact-pointer-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..086d1203395f6ff80f904e25213794a7287bb042 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pointer-01-t.svg @@ -0,0 +1,78 @@ + + + + + + + + + + +

+ This tests that zero opacity pixels in a mask do not affect + hit testing for the purpose of pointer event targetting. +

+ + +

+ After loading the test, a rectangle will be displayed. + Move the pointer over the rectangle, and it will change color + to indicate whether the test was passed. +

+
+ +

+ If the rectangle turns green once the pointing device is moved over it, + the test was passed. If instead it turns red (or remains black), + then the test failed. If the rectangle was initially red when + the document was loaded, then that also indicates that the test failed. +

+
+ + $RCSfile: interact-pointer-01-t.svg,v $ + + + + + + + + + + Test pointer events with zero opacity mask pixels + + + + + + + Move the pointing device over the rectangle. + If it is red, you've already failed. + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pointer-02-t.svg b/Tests/W3CTestSuite/svg/interact-pointer-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..2e57e378d8e0cc4761f83b8fa23bf377035e7b58 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pointer-02-t.svg @@ -0,0 +1,77 @@ + + + + + + + + + + +

+ This tests that clipped-out parts of shapes do not receive pointer events. +

+ + +

+ After loading the test, a rectangle will be displayed. + Move the pointer over the rectangle, and it will change color + to indicate whether the test was passed. +

+
+ +

+ If the rectangle turns green once the pointing device is moved over it, + the test was passed. If instead it turns red (or remains black), + then the test failed. If the rectangle was initially red when + the document was loaded, then that also indicates that the test failed. +

+
+ + $RCSfile: interact-pointer-02-t.svg,v $ + + + + + + + + + + Test pointer events with shapes that have clip paths + + + + + + + Move the pointing device over the rectangle. + If it is red, you've already failed. + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pointer-03-t.svg b/Tests/W3CTestSuite/svg/interact-pointer-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7e0c062e905ab18e0be491c5e73277a47e28f69c --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pointer-03-t.svg @@ -0,0 +1,77 @@ + + + + + + + + + + +

+ This tests that the "painted" keyword for the pointer-events property + does not cause pointer events to be captured when a shape's fill falls + back to "none" because a referenced paint server was not available. +

+ + +

+ After loading the test, a rectangle will be displayed. + Move the pointer over the rectangle, and it will change color + to indicate whether the test was passed. +

+
+ +

+ If the rectangle turns green once the pointing device is moved over it, + the test was passed. If instead it turns red (or remains black), + then the test failed. If the rectangle was initially red when + the document was loaded, then that also indicates that the test failed. +

+
+ + $RCSfile: interact-pointer-03-t.svg,v $ + + + + + + + + + + Test pointer-events="painted" with paint server fallback + + + + + + Move the pointing device over the rectangle. + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/interact-pointer-04-f.svg b/Tests/W3CTestSuite/svg/interact-pointer-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..7c8ec0e3c1da16918f8aac89bfc67ae0ce2e5dc0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-pointer-04-f.svg @@ -0,0 +1,88 @@ + + + + + + + + + + +

+ +

+ + +

+ +

+
+ +

+ +

+

+ +

+
+ + $RCSfile: interact-pointer-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/interact-zoom-01-t.svg b/Tests/W3CTestSuite/svg/interact-zoom-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e9f615823d92a299f5946c257ae8a76a3b57216d --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-zoom-01-t.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + +

+ Verify correct handling by Dynamic (interactive) viewers for the + "zoomAndPan" attribute on the 'svg' element. This is the second of three + tests, and tests the default value. +

+

+ The test consists of a set of black circles with a blue stroke. +

+ + +

+ After the initial picture is displayed, the user should attempt to use + the magnify controls that are required on conforming Dynamic SVG + viewers. +

+
+ +

+ The correct behaviour is that magnification and panning works + correctly, as required by a conformant viewer. +

+
+ + $RCSfile: interact-zoom-01-t.svg,v $ + + + + + + + + + + Test default value of + zoomAndPan attribute. + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-zoom-02-t.svg b/Tests/W3CTestSuite/svg/interact-zoom-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..2c211f552893d5d8ed3e100cd1abfda4d6fb3ac1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-zoom-02-t.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + +

+ Verify correct handling by Dynamic (interactive) viewers for the + "zoomAndPan" attribute on the 'svg' element. This is the second of three + tests, and tests the value "magnify". +

+

+ The test consists of a set of black circles with a blue stroke. +

+ + +

+ After the initial picture is displayed, the user should attempt to use + the magnify controls that are required on conforming Dynamic SVG + viewers. +

+
+ +

+ The correct behaviour is that magnification and panning works + correctly, as required by a conformant viewer. +

+
+ + $RCSfile: interact-zoom-02-t.svg,v $ + + + + + + + + + + Test "magnify" value of + zoomAndPan attribute. + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/interact-zoom-03-t.svg b/Tests/W3CTestSuite/svg/interact-zoom-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6821e1a4e07c9e87d52ef265507b10e99dafb924 --- /dev/null +++ b/Tests/W3CTestSuite/svg/interact-zoom-03-t.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ Verify correct handling by Dynamic (interactive) viewers for the + "zoomAndPan" attribute on the 'svg' element. This is the third of three + tests, and tests the value "disable". +

+

+ The test consists of a set of black circles with a blue stroke. +

+ + + + +

+ After the initial picture is displayed, the user should attempt to use + the magnify controls that are required on conforming Dynamic SVG + viewers. +

+
+ +

+ The correct behaviour is that the magnify and pan controls + shall have no effect -- the viewer shall disable them. +

+
+ + $RCSfile: interact-zoom-03-t.svg,v $ + + + + + + + + + + + Test "disable" value of + zoomAndPan attribute. + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-01-b.svg b/Tests/W3CTestSuite/svg/linking-a-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..cf397adace4637775e427b6ab3f0e7637367da8b --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-01-b.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+ This is the first of a set of three tests that verify the capability to + handle links into SVG content, using + each of the three fragment identifier forms permissible in SVG. +

+

+ There is a colored arrow comprising the content of an 'a' element. The + link destination is in an auxiliary file, linkingCircle-f.svg, and + is expressed by xlink:href="linkingCircle-f.svg#fragmentValue". + The initial view of this test contains one pale blue arrow plus labelling text. +

+

+ The (blue) arrow uses the "bare name" fragment identifier + form, "#circle-2", to target the circle with id "circle-2" in the external + file. +

+ + +

+ The user should activate the link on the center blue arrow. +

+
+ +

+ Upon clicking the first arrow, the full image of the linkingCircle-f.svg + file should replace the initial view of this test case in the viewer frame. +

+

+ The reference image illustrates the correct image after the link is + activated (full view of linkingCircle-f.svg). +

+
+ + $RCSfile: linking-a-01-b.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-03-b.svg b/Tests/W3CTestSuite/svg/linking-a-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..8e5ef764bca43b2cd93170a67bc0a47b8a6ccf5f --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-03-b.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ This is the third of a set of three tests that verify the capability to + handle links into SVG content, using + each of the three fragment identifier forms permissible in SVG. +

+

+ There is a colored arrow comprising the content of an 'a' element. The + link destination is in an auxiliary file, linkingCircle-f.svg, and + is expressed by "xlink:href=linkingCircle-f.svg#fragmentValue". + The initial view of this test contains one green arrow plus labelling text. +

+

+ The (green) arrow uses the SVG view specification form, + "linkingCircle-f.svg#svgView(viewBox(63,226,74,74))", + to target the circle with id "circle-2" + in the external file. +

+ + +

+ The user should activate the link on the center green arrow. +

+
+ +

+ Upon clicking this arrow, circle-2 should fill most of the + viewer frame (white space on each side is 25% of the diameter of the circle). +

+

+ The reference image illustrates the correct image after the link is + activated, with the circle-2's + framing rect filling the viewer frame, uniformly scaled. +

+
+ + $RCSfile: linking-a-03-b.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-04-t.svg b/Tests/W3CTestSuite/svg/linking-a-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..02db16bfc96858c7138b791e47034a495d486000 --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-04-t.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + +

+ Verify the capability to handle basic links out of SVG content + using the 'a' element, with the xlink:href attributes. + There are three subtests, in each of which one + of three colored arrows comprise the content of an 'a' element. The + link destination is expressed by "xlink:href=". + The initial view of this test contains the three arrows, a colored + circle, labelling text, and the usual template legend and frame. +

+ +

+ There are several reference images associated with this test case. The first + illustrates the correct "start" or initial state of the rendered SVG file. + The second illustrates the correct image after the first link is activated + (to the linkingToc.svg file). The third (for browser-environment viewers) + should match the current image of the W3C home page, as viewed with a + conventional browser. (Note. This harness does not yet + provide access to multiple PNGs; the first, initial-state PNG is shown.) +

+

+ The test uses the 'rect' and 'polygon' elements, as well as basic fill (solid simple colors), + stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ The user should interact with each of the arrows activating each of the links, + using the UA's back mechanism to restart each link test. +

+ +
+ +

+ The top-most (yellow) arrow links to an external SVG file, which is + local (in the same directory). The target file contains SVG 'text' elements + which comprise a TOC and brief description of all of the test files + for Linking. Upon clicking the first arrow, the image of the linkingToc-t.svg + file should replace the initial view of this test case in the viewer frame. +

+

+ The middle (green) arrow links to an object in this SVG test file, the yellow + circle (id="internal-circle") immediately to its right, using "#circle-object" + as the value of of the xlink:href attribute. + There should be no change to the viewer frame upon clicking this arrow. +

+

+ The bottom-most (blue) arrow links to remote non-SVG content, the W3C home page + using xlink:href attribute value "http://www.w3.org". For viewers in a Web + browser environment, the W3C home page should replace the initial view + of this test case in the browser/viewer frame. For other viewers (e.g., + interactive but SVG-only standalone viewers), the result is undefined, but could + include such actions as a diagnostic "Error parsing..." message. +

+
+ + $RCSfile: linking-a-04-t.svg,v $ + + + + + + + + + Basic out-bound links and the 'a' element. + + + + + + + + + + + + + + + + + + + + id="internal-circle" + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-05-t.svg b/Tests/W3CTestSuite/svg/linking-a-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7a6360e066dcbdb82aefd41f02fa1c0e6f9b6f7e --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-05-t.svg @@ -0,0 +1,102 @@ + + + + + + + + + + + + +

+ Verify if the 'a' element properly accept the transform + attibute. There are three subtests, in each of which one + of three sets of colored arrows comprise the content of + an 'a' element. The link destination is expressed by + "xlink:href=" as in the test 'linking-a-04-t.svg'. + The arrows transformed is in the brighter color, and the + arrows before transformation is shown in the darker color. + The transformation parameters used for each 'a' element is + shown on the left side of each arrow. +

+

+ The top-most arrow (yellow) is rotated for 20 degree. + The middle arrow (green) is skewed horizontally for + -30 degree, and the last arrow (cyan) is translated + for (-10, -20). +

+ +

+ The test uses the 'rect' and 'polygon' elements, as well as basic fill (solid simple colors and RGB values), + stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ The user should interact with each of the arrows activating each of the links, + using the UA's back mechanism to restart each link test. +

+
+ +

+ Each arrow, i.e. link, should behave as described + in 'linking-a-04-t.svg'. The arrows in this test + have the same 'xlink:href' attribute as the 'linking-a-04-t' + test. +

+
+ + $RCSfile: linking-a-05-t.svg,v $ + + + + + + + + + Verify transform attributes in the 'a' element. + + + + + + transform="rotate(20,225,65) + + + + + + + transform="skewX(-30) + + + + + + + + + transform="translate(-10,-20) + + + + id="internal-circle" + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-07-t.svg b/Tests/W3CTestSuite/svg/linking-a-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7ea4441c788ea128adaf172eedb936b6312e959e --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-07-t.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + +

+ Verify that the target attribute on the 'a' element takes precedence over the xlink:show attribute. + There are three subtests, in each of which two similarly + colored arrows comprise the content of an 'a' element. The arrow on the left, outlined + in blue, has no "target" attribute; the arrow on the right, outlined in red, has a + "target" attribute. The + link destination is expressed by "xlink:href=". + The initial view of this test contains the six arrows, labelling text, and the usual template legend and frame. +

+

+ The top-most (yellow) arrows link to an external SVG file, which is + local (in the same directory). The target file contains SVG 'text' elements + which comprise a TOC and brief description of all of the test files + for Linking. +

+

+ The middle (green) arrows links to the same external SVG file, but with xlink:show="new". +

+

+ The bottom-most (blue) arrows links to the same external SVG file, but with xlink:show="replace". +

+ + +

+ Click each of the arrows once. +

+
+ +

+ The test has passed if: +

+
    +
  • Upon clicking the left-most yellow arrow, the image of the linkingToc-t.svg + file replaces the initial view of this test case in the viewer frame. On clicking the right-most yellow arrow, + the image of the linkingToc-t.svg appears in a new frame.
  • +
  • Upon clicking any of the green arrows the image of the linkingToc-t.svg appears in a new frame.
  • +
  • Upon clicking the left-most blue arrow, the image of the linkingToc-t.svg file replaces the initial + view of this test case in the viewer frame. + On clicking the right blue arrow produces the image of the linkingToc-t.svg in a new frame.
  • +
+
+ + $RCSfile: linking-a-07-t.svg,v $ + + + + + + + + + xlink 'show' attribute on 'a' element. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-08-t.svg b/Tests/W3CTestSuite/svg/linking-a-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c0c2ccdf80127c00669e9ef464d93e02d586ff9d --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-08-t.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + +

+ This is a simple test for links on text elements. The upper subtest has an 'a' element + inside a 'text' element; the lower subtest has the 'a' outside the 'text'. +

+ + +

+ Click each of the links once. +

+
+ +

+ Both lines of text must be working links, and must take you to the linking TOC svg in the same frame. +

+
+ + $RCSfile: linking-a-08-t.svg,v $ + + + + + + + + + + + Link inside text + + + Link around text + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-09-b.svg b/Tests/W3CTestSuite/svg/linking-a-09-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1099cd75a9046fb01d0748689f835c3a7f85ff85 --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-09-b.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ This is a simple test for links on tspan elements. The upper subtest has an 'a' element + inside a 'tspan' element; the lower subtest has the 'a' outside the tspan. +

+ + +

+ Click each of the links once. +

+
+ +

+ Both lines of text must be working links, and must take you to the linking TOC svg in the same frame. +

+
+ + $RCSfile: linking-a-09-b.svg,v $ + + + + + + + + + + + A + + link + inside tspan + for testing + + + + A + + link + around tspan + + for testing + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-a-10-f.svg b/Tests/W3CTestSuite/svg/linking-a-10-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..5138de88b62abd5cd6ce362ebcb4813834989122 --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-a-10-f.svg @@ -0,0 +1,83 @@ + + + + + + + + + + +

+ Test that the 'a' element supports various types of graphics and container elements as content. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there are fourteen blue shapes on the page, in the sizes and positions + shown in the reference image. +

+
+ + $RCSfile: linking-a-10-f.svg,v $ + + + + + + + + + + + + + + + X + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/linking-frag-01-f.svg b/Tests/W3CTestSuite/svg/linking-frag-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f69c50208cb5a8c5d6097bbc2025cafa9d5dadf2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-frag-01-f.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + +

+ Tests svgView(viewBox();transform()) syntax, with and without escaped semicolons. +

+ + +

+ Run the test. Click on the green arrow. If that results in circle-2 being displayed, go back to this test and click on the blue arrow. If that shows a quarter of circle-2, go back to this test and click on the purple arrow. +

+
+ +

+ The test is passed if you clicked on three arrows, and clicking the purple arrow results in a quarter of circle-2 being displayed. +

+
+ + $RCSfile: linking-frag-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/linking-uri-01-b.svg b/Tests/W3CTestSuite/svg/linking-uri-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..eebc9f62854259f54e0a07f06b9f083001078b7f --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-uri-01-b.svg @@ -0,0 +1,149 @@ + + + + + + + + + + + + +

+ Verify the capability to handle links to 'view' elements, and the + permissible attributes on those elements. All of the links in this + test case are internal, i.e., to 'view' elements in the same SVG file. +

+

+ This test is identical to linking-uri-02-b except that the links there are external. +

+

+ In the four quadrants of the initial picture are four graphical objects. + Clockwise from upper right, they are + a purple rectangle, blue ellipse, green polygon (pentagon), and yellow + circle. Each is labelled and tightly boxes with a rectangular frame. + These are identical to their counterparts in linking-uri-01-b.svg, in which + file each has an associated 'view' element, with attributes + per the labels in the initial picture. +

+

+ In the center is a gray box with four lines of text, each of which says + "Go to" followed by Rectangle, Ellipse, Polygon, and Circle, respectively. + Each of these is contained within an 'a' element, whose xlink:href names + the respective 'view' element of the respective graphical object. +

+

+ There are several reference images associated with this test case. The first + illustrates the correct initial state of the rendered SVG file, which should + also be the correct picture after the Rectangle link is executed. + The second, third, and fourth illustrate the correct images as described + above after respectively the Ellipse, Polygon, and Circle links are activated. + (Note. This harness does not yet provide access to multiple PNGs; the PNG for the + initial view is shown.) +

+

+ The test uses the 'rect', 'circle', 'ellipse', and 'polygon' elements, + as well as basic fill (solid simple colors), + stroke (black and colored 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ In turn, activate each of the "Rectangle", "Ellipse", "Polygon" and "Circle" links + in the gray box in the middle of the document, navigating back (for example with + the Back button if in a browser) after activating each one. +

+
+ +

+ The test is passed if all of the sub-tests have the correct behavior: +

+
    +
  • After activating the "Rectangle" link, the whole of the linking-uri-01-b.svg + document must be displayed; that is, there will be no visual change. (The + 'view' element has no attributes (other than id), so the correct view in + the frame is of the parent 'svg' element, which is the whole picture.)
  • +
  • After navigating back and activating the "Ellipse" link, the view must change so that it is + zoomed (uniformly scaled) and centered on the ellipse. The black rectangle + surrounding the ellipse must be just within the frame.
  • +
  • After navigating back and activating the "Circle" link, the view must change so that it is + zoomed and centered on the yellow circle. The view is scaled non-uniformly, however, + so that the circle is stretched horizontally ito an ellipse. The black rectangle + surrounding it must be just within the frame.
  • +
  • After navigating back and activating the "Polygon" link, the view must not change.
  • +
+
+ + $RCSfile: linking-uri-01-b.svg,v $ + + + + + + + + + Link test of the 'view' element and its attributes, 1 of 2, internal. + + + + + Go to Rectangle + + + Go to Ellipse + + + Go to Circle + + + Go to Polygon + + Click element's line + to link to its view + + + + + + Rectangle + + No view attributes except id. + + + + Ellipse + + viewBox, should fill frame. + + + + Circle + + viewBox & non-uniform + preserveAspectRatio + + + + Polygon + + viewTarget, no + changes to viewport + + + + $Revision: 1.12 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-uri-02-b.svg b/Tests/W3CTestSuite/svg/linking-uri-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..69d8a47195f5195071e01eda488860c42c57f28d --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-uri-02-b.svg @@ -0,0 +1,156 @@ + + + + + + + + + + + + +

+ Verify the capability to handle links to 'view' elements, and the + permissible attributes on those elements. All of the links in this + test case are external, i.e., to 'view' elements in another SVG file. + That file is linking-uri-01-b.svg. +

+

+ This test is identical to linking-uri-01-b except that the links here are external. +

+

+ In the four quadrants of the initial picture are four graphical objects. + Clockwise from upper right, they are + a purple rectangle, blue ellipse, green polygon (pentagon), and yellow + circle. Each is labelled and tightly boxes with a rectangular frame. + These are identical to their counterparts in linking-uri-01-b.svg, in which + file each has an associated 'view' element, with attributes + per the labels in the initial picture. +

+

+ In the center is a gray box with four lines of text, each of which says + "Go to" followed by Rectangle, Ellipse, Polygon, and Circle, respectively. + Each of these is contained within an 'a' element, whose xlink:href names + the respective 'view' element of the respective graphical object. +

+

+ There are several reference images associated with this test case. The first + illustrates the correct initial state of the rendered SVG file, which should + also be the correct picture after the Rectangle link is executed. + The second, third, and fourth illustrate the correct images as described + above after respectively the Ellipse, Polygon, and Circle links are activated. + (Note. This harness does not yet provide access to multiple PNGs; the PNG for the + initial view is shown.) +

+

+ The test uses the 'rect', 'circle', 'ellipse', and 'polygon' elements, + as well as basic fill (solid simple colors), + stroke (black and colored 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ In turn, activate each of the "Rectangle", "Ellipse", "Polygon" and "Circle" links + in the gray box in the middle of the document, navigating back (for example with + the Back button if in a browser) after activating each one. +

+
+ +

+ The test is passed if all of the sub-tests have the correct behavior: +

+
    +
  • After activating the "Rectangle" link, the whole of linking-uri-01-b.svg + must be displayed, which is visually similar to this document, linking-uri-02-b.svg. + (The 'view' element has no attributes (other than id), so the correct view in + the frame is of the parent 'svg' element, which is the whole picture.)
  • +
  • After navigating back and activating the "Ellipse" link, the view must change so that it is + zoomed (uniformly scaled) and centered on the ellipse in linking-uri-01-b.svg. + The black rectangle surrounding the ellipse must be just within the frame.
  • +
  • After navigating back and activating the "Circle" link, the view must change so that it is + zoomed and centered on the yellow circle in linking-uri-01-b.svg. The view is scaled non-uniformly, however, + so that the circle is stretched horizontally ito an ellipse. The black rectangle + surrounding it must be just within the frame.
  • +
  • After navigating back and activating the "Polygon" link, the whole of + linking-uri-01-b.svg must be displayed.
  • +
+
+ + $RCSfile: linking-uri-02-b.svg,v $ + + + + + + + + + Link test of the 'view' element and its attributes, 2 of 2, external. + + + + + Go to Rectangle + + + Go to Ellipse + + + Go to Circle + + + Go to Polygon + + Click element's line + to link to its view in + linking-uri-01-b. + + + + + + + Rectangle + + No view attributes except id. + + + + + Ellipse + + viewBox, should fill frame. + + + + + Circle + + viewBox & non-uniform + preserveAspectRatio + + + + + Polygon + + viewTarget, no + changes to viewport + + + + $Revision: 1.10 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/linking-uri-03-t.svg b/Tests/W3CTestSuite/svg/linking-uri-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..52c766e027380461265388f4de574d17b4fc2c48 --- /dev/null +++ b/Tests/W3CTestSuite/svg/linking-uri-03-t.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + +

+ Verify the handling of the allowable xlink attributes on the 'a' element. + The initial view of this test contains a single green triangle, labelling text, + and the usual template legend and frame. +

+

+ The purpose of the test is to + verify that viewers tolerate the presence of xlink attributes on the 'a' + element. The presence of the attributes should not change the behavior of + the test in any way. +

+

+ There are two reference images associated with this test case. The first + illustrates the correct "start" or initial state of the rendered SVG file. + The second illustrates the correct image after the link is activated + (to the linkingToc-t.svg file). (Note. This harness does not yet + provide access to multiple PNGs; the first, initial-state PNG is shown.) +

+

+ The test uses the 'rect' element, as well as basic fill (solid simple colors), + stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

Click on the center green triangle.

+
+ +

+ There is a link on the triangle, pointing to an external SVG file, which is + local (in the same directory). The target file contains SVG 'text' elements + which comprise a TOC and brief description of all of the BE test files + for Linking. Upon clicking the triangle, the image of the linkingToc-t.svg + file should replace the initial view of this test case in the viewer frame. +

+

+ The results of executing the link should be identical + to executing the first (topmost) link of linking-a-04-t. +

+
+ + $RCSfile: linking-uri-03-t.svg,v $ + + + + + + + + + Simple exercise of xlink attributes on the 'a' element. + + + + Click for TOC + Link to local file + linkingToc-t.svg. + + xlink:type="simple" + xlink:show="replace" + xlink:actuate="onRequest" + xlink:href="linkingToc-t.svg" + xlink:role="figure-out-a-role" + xlink:title="TOC of Linking BE tests." + target="_self" + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-filter-01-f.svg b/Tests/W3CTestSuite/svg/masking-filter-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..777c6c6933c30ec15560182bcb46a358936123e3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-filter-01-f.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+ This tests that the 'filter' property does not apply to 'mask'. +

+

+ The mask 'm' covers a rectangular area (200 x 200) except for a window + (100 x 100) in the top left hand corner. Initially the mask window is + set on top of the green square. Hence, the green square is shown and + the red square is covered. If filters are supported the window within + the mask will be shifted by an offset of 100,100 placing it on top of + the red square. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if a green square is shown. If any + red shows, the test has failed. +

+
+ + $RCSfile: masking-filter-01-f.svg,v $ + + + + + + + + + + Testing 'filter' applied to 'mask' + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-intro-01-f.svg b/Tests/W3CTestSuite/svg/masking-intro-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..4a0357bd722f4eacd3743d52b18b9a84a7bcaf67 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-intro-01-f.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+ The rules are different regarding the geometry of a shape when clipping and masking. + For example, a clip-path does not take into account the stroke of the shape used for clipping. + It is however, used when masking. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two identical darkblue circles at the top of the illustration, and + below those two circles, two more circles should appear. They are of lighter appearance, + the one on the left has a darker and thick stroke. +

+
+ + $RCSfile: masking-intro-01-f.svg,v $ + + + + + + + + + + masking-mask-04-f.svg + Tests the impact of strokes within clipPath and mask + Testing stroke inclusion for 'clip-path' and 'mask' + + + + + + + + + + With a 'clip-path': + + + + + + + + + + With a 'mask': + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-mask-01-b.svg b/Tests/W3CTestSuite/svg/masking-mask-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5928d57ea392342cda329185deaf23a4a45c5788 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-mask-01-b.svg @@ -0,0 +1,131 @@ + + + + + + + + + + + + +

+ Test to see if the masking features using the mask element and mask + property are available. +

+

+ A red rectangle is displayed in the background to help view the result + of transparency and masking. +

+

+ From top to bottom, the tests are as follows. +

+

+ In the top test, a linear gradient is used inside the mask to change the opacity + of the rectangle from 1.0 (at the top) to 0.5 (at the bottom). +

+

+ In the second test, a simple 50% opaque rectangle is used as a mask. +

+

+ In the third test, no mask is used, but a rectangle is shown with 50% opacity. + The second and third test should look the same. +

+

+ Lastly, a string of text has a mask applied to it. The mask only covers a partial + area of the text, so the text should only be half visible. Also the mask consists + of 4 rectangles with various levels of opacity. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except + variations are possible in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: masking-mask-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + Test for mask support + + + + + + + + + + + + + + Mask with linear gradient from + opacity=1 to opactity=0.5 + + + + + + Mask with uniform opacity of 0.5 + + + Rectangle with uniform opacity of 0.5 + + + + + + + + SVG + Text with mask containing rectangles + of various opacities + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-mask-02-f.svg b/Tests/W3CTestSuite/svg/masking-mask-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..38cd9420ee7a8a9dfc4a9beb625d5133a5b36114 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-mask-02-f.svg @@ -0,0 +1,50 @@ + + + + + + + + + + +

+ If the 'mask' property references a 'mask' element containing no children, the element referencing it is not rendered. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is a single green rectangle, with no red visible on the page. +

+
+ + $RCSfile: masking-mask-02-f.svg,v $ + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/masking-opacity-01-b.svg b/Tests/W3CTestSuite/svg/masking-opacity-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..ce34caeb623df6ed6d37abef94b0b006d3e2d96d --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-opacity-01-b.svg @@ -0,0 +1,125 @@ + + + + + + + + + + + + +

+ Test to see the effect of applying an opacity property to a group. +

+

+ A blue rectangle with a green rectangle on top are contained in a + group. This opacity of the group and the opacity of the rectangles are + changed in this test. A red rectangle is provided in the background so + that opacity changes are obvious visually. +

+

+ From top to bottom, the tests are as follows. +

+

+ In the top test, the opacities of the group and the individual rectangles are + all set to 1. +

+

+ In the second test, the group is given an opacity of 0.5. +

+

+ In the third test, the group maintains a group opacity of 1 whereas each individual + rectangle is given an opacity of 0.5 in the group. +

+

+ Lastly, the group and individual rectangles are all given an opacity of 0.5. +

+ + + + +

+ Run the test. No interaction required. +

+
+ +

+ In the top test, the green rectangle should appear on top of the blue + rectangle. +

+

+ In the second test, the blue + rectangle should not show through in the region where the green and blue overlap. +

+

+ In the third test, the blue rectangle + should show through in the overlap region. +

+

+ Lastly, the + result should be similar to the previous test only fainter (because the opacity) is + resulting in less contribution. +

+

+ The rendered picture should match the reference image exactly, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: masking-opacity-01-b.svg,v $ + + + + + + + + + Test for opacity property on a group. + + + + + + Group opacity: 1 + Blue rectangle opacity: 1 + Green rectangle opacity: 1 + + + + + Group opacity: 0.5 + Blue rectangle opacity: 1 + Green rectangle opacity: 1 + + + + + Group opacity: 1 + Blue rectangle opacity: 0.5 + Green rectangle opacity: 0.5 + + + + + Group opacity: 0.5 + Blue rectangle opacity: 0.5 + Green rectangle opacity: 0.5 + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-01-b.svg b/Tests/W3CTestSuite/svg/masking-path-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..81dbc8da5e30d0f6dea124f81eb70edfac6f5b02 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-01-b.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + +

+ Test to see if the basic clipping works using the clipPath element + and the clip-path property. +

+

+ This test uses the following elements : <clipPath> and the following + properties : clip-path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test at the top shows an orange rectangle (with black stroke) being clipped by another rectangle. + So only the middle portion of the orange rectangle should be visible. Also the black stroke should + only be visible along the top and bottom edge of the rectangle. +

+

+ The example at the bottom has a group containing a text string and two rectangles. The group + has a clipping path defined using two overlapping rectangles. Of concern is the overlapping area + shared by the two rectangles. There should not be holes in this overlapping area, the + clip region is the union of the two rectangles. For clarity, + guide rectangles in grey show the position of the clipping rectangles. +

+

+ The rendered picture should match the reference image exactly, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: masking-path-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + Rectangle being clipped + + + + Line of text to be clipped + + Group being clipped + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-02-b.svg b/Tests/W3CTestSuite/svg/masking-path-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d952df142295b11669b9cdf29c7fac916338e25d --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-02-b.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + +

+ Test to see if clipPathUnits attribute is handled properly on a + clipPath element. Only tests the userSpaceOnUse and + objectBoundingBox items of the clipPathUnits. userSpace has been + tested by the previous test as it is the default. +

+

+ The test at the top shows a pink rectangle that has been clipped by a + rectangular clipping path. The clipping path is defined using clipPathUnits=objectBoundingBox. + +

+

+ The example at the bottom a rotated blue rectangle that has been clipped by a + rectangular clipping path. The clipping path is defined using clipPathUnits=userSpaceOnUse. + +

+

+ The rendered picture should match the reference image exactly, except for possible + variations in the labelling text (per CSS2 rules). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if the pink rectangle and blue diamond do not have any + color painted outside of their black borders. +

+
+ + $RCSfile: masking-path-02-b.svg,v $ + + + + + + + + + + + + + + + clipPathUnits=objectBoundingBox + + + + + + clipPathUnits=userSpaceOnUse + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-03-b.svg b/Tests/W3CTestSuite/svg/masking-path-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..92186a6c5065e1c7372dfc95ce18caa0c449b7b5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-03-b.svg @@ -0,0 +1,134 @@ + + + + + + + + + + + + +

+ Test 'overflow'/'clip' on outermost and inner 'svg' elements. +

+

+ There are two parts to the test. The first part tests viewport clipping + on outermost 'svg' elements. The second part tests viewport clipping + on inner 'svg' elements. +

+

+ The test case also tests the initial value of the 'overflow' property + to ensure that it is set to 'hidden' for all 'svg' elements. + Tester should zoom out and/or pan to check this. +

+

+ To test clipping to the outermost 'svg' element, + a rectangle with a light blue interior, a light red border and a black + string that says "Clip to outer 'svg'" is painted four times such that + it will overflow each of the top, left, right and bottom + sides of the bounds of the outermost 'svg' element, respectively. +

+

+ To test clipping to inner 'svg' elements, a rectangle with a light red + interior, a light blue border and a black string that says "Clip to + inner 'svg'" is painted four times such that it will overflow each of + the top, left, right and bottom sides of the bounds of an inner 'svg' + element, respectively. +

+

+ Note that minor text layout differences, as are permissible under CSS2 + rules, can lead to slightly different visual results regarding where + the text strings get clipped. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if:

+
    +
  • The four "Outer Clip" boxed strings must not render outside the + outermost 'svg' element (the 480x360 rectangular viewport) and + must continue to be clipped to this viewport if the image is zoomed in or out, + or panned.
  • +
  • The four "Inner Clip" boxed strings must not render outside the + bounds of the green rectangle.
  • +
+
+ + $RCSfile: masking-path-03-b.svg,v $ + + + + + + + + + + + Test 'overflow'/'clip' on outermost and inner 'svg' elements + + + + + Outer Clip + + + + Outer Clip + + + + Outer Clip + + + + Outer Clip + + + + + + + + + Inner Clip + + + + Inner Clip + + + + Inner Clip + + + + Inner Clip + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-04-b.svg b/Tests/W3CTestSuite/svg/masking-path-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..983bfd1b4a703c88a5dd89c1c2754fcba7a3315b --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-04-b.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

+ This test exercises basic user-specified clip paths, using a text + string (i.e., content of a 'text' element) as the clip path. +

+

+ There is a rectangular image of a swirly blue pattern with large + yellow text, "Clip Test" superimposed. The image is a PNG file, + imported into the picture via the 'image' element. +

+

+ The test uses the 'rect' element, as well as basic fill (solid primary + colors), stroke (black 1-pixel lines), font-family (Arial and + Impact) and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for + possible variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: masking-path-04-b.svg,v $ + + + + + + + + + + + + Clip Test + + + + + + Clip Test + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-05-f.svg b/Tests/W3CTestSuite/svg/masking-path-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e6146eabd4d4a962fe846bf3b59d92c06fcb6e29 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-05-f.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ Test to see if clip-rule property has been implemented properly. +

+

+ The test at the top shows a red rectangle that has been clipped by a + clipping path that overlaps itself. +

+

+ The test at the bottom shows a blue rectangle that has been clipped by a + clipping path that overlaps itself. +

+

+ The rendered picture should match the reference image exactly, except for possible + variations in the labelling text (per CSS2 rules). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ In the first rectangle, the clip-rule is defined to be evenodd so the overlap should have a hole in it. + The clip-rule is defined to be nonzero so the overlap should be filled. +

+
+ + $RCSfile: masking-path-05-f.svg,v $ + + + + + + + + + + Test for clip-rule property. + + + + + clip-rule=evenodd + + + + + cliprule=nonzero + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-06-b.svg b/Tests/W3CTestSuite/svg/masking-path-06-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..6d0425ab5dd0c3533edcfe15a5de2a6c8b5a0c7a --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-06-b.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ The intent of this file to test the 'clip' property. In this test, the clipped objects are + raster and SVG images. + + +

+ + +

+ Run the test. No interaction required. +

+
+ +

The UA should render two images inside the red rectangles.

+
+ + $RCSfile: masking-path-06-b.svg,v $ + + + + + + + + + + 'clip' property on images + + + + + <-- raster image + + + + + SVG image --> + + + + $Revision: 1.8 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/masking-path-07-b.svg b/Tests/W3CTestSuite/svg/masking-path-07-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..63f73d821f53e04739244a70ef7b349095afb2f5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-07-b.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + +

+ This tests that 'clipPath' elements can be used together and how the clipping paths are intersected. +

+

+ There is a gray-white pattern as a background for the two subtest rectangles. This is to show that the holes that are cut out using clip-paths are transparent. + The first subtest verifies that when you use the 'clip-path' property on a child element inside a 'clipPath' element the child element is clipped correctly. + The second subtest verifies that when a 'clipPath' element has a 'clip-path' property the result is the intersection of the two clip paths. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if the following conditions are met: +

+
    +
  • There is no red visible.
  • +
  • No shapes extend outside of the rects that have a thick black border.
  • +
  • For the left subtest: +
      +
    • There must be a large blue rect with a transparent smaller rect in it, and the intersection of two circles.
    • +
    • The borders of the clipregions are shown with black stroke.
    • +
    • The blue shapes must be visible only inside of these stroked regions.
    • +
    +
  • +
  • For the right subtest: +
      +
    • The test on the right must show part of the large blue rect shape with a transparent rect in it, and part of a circle.
    • +
    • The blue shapes must only be visible inside of the circle that has black stroke.
    • +
    +
  • +
+
+ + $RCSfile: masking-path-07-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test clip unions and intersections + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.11 $ + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-08-b.svg b/Tests/W3CTestSuite/svg/masking-path-08-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..17291ade903b355ddb221d6a05880ced69a0b3a5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-08-b.svg @@ -0,0 +1,140 @@ + + + + + + + + + + +

+ This tests a few 'clip-path' cases to see that clipping paths are applied and constructed properly. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There are nine subtests in this test. There should be a big stroked rectangle with nine smaller rectangles inside. If all of the smaller rectangles are green the test has passed. +

+

+ The test has passed if: +

+
    +
  • There is no red visible.
  • +
  • Each of the nine small rectangles are green.
  • +
+
+ + $RCSfile: masking-path-08-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Establishing a new clipping path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-09-b.svg b/Tests/W3CTestSuite/svg/masking-path-09-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d272e605ce86ade4db6a4497de63d351c95ae43f --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-09-b.svg @@ -0,0 +1,73 @@ + + + + + + + + + + +

+ This tests that a clip path applied to an element does not affect + bounding box computation. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the rectangle is green. The test is failed + if any part of the rectangle is red. +

+
+ + $RCSfile: masking-path-09-b.svg,v $ + + + + + + + + + + Test bounding box calculations with clip paths + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-10-b.svg b/Tests/W3CTestSuite/svg/masking-path-10-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..251d34bdf013757ccea8e0d0ab2fe4678958d565 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-10-b.svg @@ -0,0 +1,138 @@ + + + + + + + + + + +

+ This tests a few 'mask' cases to see that masks are applied and constructed properly. +

+

+ There are nine subtests in this test. There should be a big stroked rectangle with nine smaller rectangles inside. If all of the smaller rectangles are green the test has passed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • There is no red visible.
  • +
  • Each of the nine small rectangles are green.
  • +
+
+ + $RCSfile: masking-path-10-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Establishing a new masking path + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-11-b.svg b/Tests/W3CTestSuite/svg/masking-path-11-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..957f85319ab398c354593b013a12ac5eb6595ea4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-11-b.svg @@ -0,0 +1,67 @@ + + + + + + + + + + +

+ Test the mask element with child elements with white and black fills, + to create a mask that clips out some text in the middle. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the letters 'ABC' are visible inside a blue + circle, and the letters are transparent, showing the checkered + background image. +

+
+ + $RCSfile: masking-path-11-b.svg,v $ + + + + + + + + + + + + + ABC + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/masking-path-12-f.svg b/Tests/W3CTestSuite/svg/masking-path-12-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..60c6894931b116b32d2bf1d69fe2a547fc234641 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-12-f.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ Properties inherit into the 'clipPath' element and its children. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is a green rect visible, and no red. +

+
+ + $RCSfile: masking-path-12-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/masking-path-13-f.svg b/Tests/W3CTestSuite/svg/masking-path-13-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..89b85421baef2ca1239e0ffe6c3196176c73f6b3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-13-f.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + +

+ Test that the children of the 'clipPath' element are not rendered directly. +

+ + +

+ Test passes if there is a green rectangle, and no red visible on the page. +

+
+ + $RCSfile: masking-path-13-f.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/masking-path-14-f.svg b/Tests/W3CTestSuite/svg/masking-path-14-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b0c39c0f43ac2a7d90fa6d6977d018723b8808b4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/masking-path-14-f.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + +

+ The 'clipPath' element itself and its children elements do not inherit clipping paths from ancestors of the 'clipPath' element. +

+

+ Overlay a red 'rect' with a black 'rect' of a larger size. Define a 'clipPath' with a 'rect' of the same size as the red 'rect', but different 'x' and 'y' offsets. Reference that 'clipPath' from a 'g' element containing another 'clipPath' element. In this latter 'clipPath', specify a 'rect' of the same size and same 'x' and 'y' offsets as the red 'rect', and reference it from the black 'rect' element. Reference the same 'clipPath' elements, but this time with a black 'rect' which overlays a red 'rect' of a larger size. If there is no red on the page, the first 'clipPath' was not inherited by the second 'clipPath'. +

+ + +

+ Run the test. No interaction required +

+
+ +

+ Test passes if there are two black rectangles, and there is no red visible on the page. +

+
+ + $RCSfile: masking-path-14-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/metadata-example-01-t.svg b/Tests/W3CTestSuite/svg/metadata-example-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..69eda51c95dc9d047f0e43c8918ddc229bb64fbe --- /dev/null +++ b/Tests/W3CTestSuite/svg/metadata-example-01-t.svg @@ -0,0 +1,160 @@ + + + + + + + + + + + + +

+ Check that metadata in a variety of namespaces, inside a metadata + element, does not affect rendering in any way. The file is not valid to + the SVG 1.1 DTD, but is well formed. +

+

The diagram on the table is, by the way, a visualization of the + RDF metadata in the graphic.

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered result should match the reference image and there should be + no error messages or warnings +

+
+ + $RCSfile: metadata-example-01-t.svg,v $ + + + + + + + + + + + + + Line drawing of woman in antique attire, + which looks legal or perhaps mystical. + image/svg+xml + Sibyll Trelawney + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + http://prismstandard.org/vocabularies/1.0/resourcetype.xml#birdsEye + http://prismstandard.org/vocabularies/1.0/resourcetype.xml#illustration + image/svg+xml + Line drawing of woman in antique attire, ... + online: + Sibyll Trelawney + + + http://purl.org/dc/elements/1.1/type + http://purl.org/dc/elements/1.1/format + http://purl.org/dc/elements/1.1/subject + http://purl.org/dc/elements/1.1/type + http://purl.org/dc/elements/1.1/description + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-control-01-f.svg b/Tests/W3CTestSuite/svg/painting-control-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..07c1261d58f954ce7e792d6ee1ae47fda9caa082 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-control-01-f.svg @@ -0,0 +1,107 @@ + + + + + + + + + + +

+ Elements are rendered when the 'display' attribute is set to any valid value other than 'none'. +

+

+ For each valid 'display' value (except none), the test creates a 'rect' element with that 'display' value assigned. Under that + element, a red 'rect' is placed at the exact same 'x', 'y' position with the same height and width. Test passes if the 'rect' + with 'display' covers the red 'rect'. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if 16 black rectangles are shown and there is no red visible on the page. +

+
+ + $RCSfile: painting-control-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-control-02-f.svg b/Tests/W3CTestSuite/svg/painting-control-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..8177e60bfccccdea42ba87bb8a36dad7c1f06f85 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-control-02-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ 'Stroke' attributes affected by directionality start at the point at which the graphics element starts. +

+

+ The test creates two 'path' elements that have the same 'stroke-dasharray' assignment. The paths will create the same visual shape, + but the start and end points will be opposite. Test passes if the 'stroke-dasharray' of each path is drawn differently. + Second subtest is the same but with stroke-dashoffset. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there are two lines, each composed of alternating black and orange boxes. +

+
+ + $RCSfile: painting-control-02-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-control-03-f.svg b/Tests/W3CTestSuite/svg/painting-control-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..d76402359e6b579b12925505ea88f8c29ef1bc6f --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-control-03-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Open polyline and path elements are filled as if they were closed with the last point linked to the first point. +

+

+ The test specifies two polylines and two paths on the page with five points each. One polyline/path closes the shape with the fifth + point linking to the first. One polyline/path is open (no link from fifth point to first). Both polylines/paths are filled. + The open subpath is placed over the closed one. Test passes if the open subpath fills over the closed path. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if two black shapes are shown and no red visible on the page. +

+
+ + $RCSfile: painting-control-03-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-control-04-f.svg b/Tests/W3CTestSuite/svg/painting-control-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..95b5262811e4a85e3cdbb0417e0fa8b2a25eacf4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-control-04-f.svg @@ -0,0 +1,58 @@ + + + + + + + + + + +

+ A zero length subpath with 'stroke-linecap' set to 'square' or 'round' is stroked, but not stroked when 'stroke-linecap' is set to 'butt'. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is a blue circle, a blue square, and no red on the page. +

+
+ + $RCSfile: painting-control-04-f.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-control-05-f.svg b/Tests/W3CTestSuite/svg/painting-control-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..48a984d212d3d302d7dc51646057d812f6389b59 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-control-05-f.svg @@ -0,0 +1,114 @@ + + + + + + + + + + +

+ This tests setting the 'display' property to 'none' on an element that is a child of a 'mask' or 'clipPath' element, which should cause the element to not be + included in the 'mask' or 'clip' region. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are 8 green rectangles visible, and no red. +

+
+ + $RCSfile: painting-control-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-control-06-f.svg b/Tests/W3CTestSuite/svg/painting-control-06-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..58e4efd3204388d9c1faf09942bbb8a97cfe5b4f --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-control-06-f.svg @@ -0,0 +1,64 @@ + + + + + + + + + + +

+ Setting the 'visibility' property to 'hidden' on a 'g' tag will affect its children, unless the children of the 'g' tag override the parent setting. +

+

+ Have a 'g' tag with an red filled shape as a child. Set 'visibility: hidden' on the 'g' tag. Verify no red is on the page. + Also, have a 'g' tag with a green filled shape as a child. Set 'visibility: hidden' on the 'g' tag. Set 'visibility: visible' on + the child tag. Verify that the green 'rect' renders on the page. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two green squares visible on the page, and no red. +

+
+ + $RCSfile: painting-control-06-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-fill-01-t.svg b/Tests/W3CTestSuite/svg/painting-fill-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..bb66cb0d9194e3c2822a703a00c9bac26ef1c9a8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-fill-01-t.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the fill properties fill:none, + and fill with a color (fill:green) +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There should be two rectangles, the rectangle on the left hollow (fill:none) and the rectangle on the right filled with green. +

+
+ + $RCSfile: painting-fill-01-t.svg,v $ + + + + + + + + + Basic paint: fill properties. + + + + + + + + + + fill="none" + fill="green" + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-fill-02-t.svg b/Tests/W3CTestSuite/svg/painting-fill-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..36413ac731d88492ad2fd5412be0d5937727e846 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-fill-02-t.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + +

+ The test uses the "currentColor" value for the "fill" attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rectangle on the left should be green filled, the rectangle on the right should be blue. + The text above the rectangles should be black. +

+
+ + $RCSfile: painting-fill-02-t.svg,v $ + + + + + + + + + + + Basic paint: fill properties. + fill="currentColor" + + + + + + + + + green + blue + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-fill-03-t.svg b/Tests/W3CTestSuite/svg/painting-fill-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..158f7cf4d58f5ef704ecbb962cb5332a0b810b49 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-fill-03-t.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the fill rule properties evenodd and nonzero +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There should be two green filled stars, the leftmost star should be unfilled in the very center. +

+
+ + $RCSfile: painting-fill-03-t.svg,v $ + + + + + + + + + Basic paint: fill properties. + + + + + + + + fill-rule="evenodd" + fill-rule="nonzero" + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-fill-04-t.svg b/Tests/W3CTestSuite/svg/painting-fill-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..73381091e60617dc7e1ff04a45fe080e21cf31e3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-fill-04-t.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ This tests inheritance of three properties: "fill", "stroke" and "stroke-width". There is a "g" element (id="G1") which + sets fill="blue", stroke="purple", and stroke-width="5". The first two rectangles on top should inherit all those + properties. The middle left rectangle has fill="yellow" and stroke-width="2", it should inherit the stroke="purple" + from the parent container. The middle rectangle on the right has stroke="yellow", it should inherit fill and + stroke-width from the parent "g". The bottom two rectangles are in another "g" element (id="G2") which is a child + of "G1". "G2" sets fill="yellow". It should inherit the stroke and stroke width from the parent "G1". The two + bottom rectangles set no fill or stroke properties, they should inherit through the parents, stroke="purple" + and stroke-width="5". +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labeling text (per CSS2 rules). +

+

+ The test uses the "rect" element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Arial) and font-size properties. +

+
+ + $RCSfile: painting-fill-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-fill-05-b.svg b/Tests/W3CTestSuite/svg/painting-fill-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..a508b69b98b00b811af4201d2aefb3b3f0fbbf7e --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-fill-05-b.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + +

+ Test using "fill-opacity" values for "rect" element. + This test verifies that opacity is clamped to the + specified range. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The six rect elements on the left have varying 'fill-opacity' values + within the valid range of 0 to 1. The six elements on the right have + 'fill-opacity' values outside the 0 to 1 range, and must be clamped. + The top three rect elements on the right must have their 'fill-opacity' + clamped to 0, while the bottom three rect elements on the right must + be clamped to 1. +

+
+ + $RCSfile: painting-fill-05-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-01-f.svg b/Tests/W3CTestSuite/svg/painting-marker-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b48c390fcaa37a9c8658634ee8a68dbac0193665 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-01-f.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + +

+ Tests the basic support for markers. +

+

+ The top test examines the basic support for the marker element and style. The markers are purple rectangles. +

+

+ The middle test examines the support for the different styles of marker properties. The + "marker-start" property defines the marker to use at the first vertex of the marked path, + in this case a purple rectangle. The "marker-end" property defines the marker to use at the + last vertex of the marked path, in this case a blue triangle. The "marker-mid" property + defines the marker to use at all vertices, other than the first and last, of the marked path, + in this case a green circle. +

+

+ The bottom test examines the support for marker orientation along the + path direction. The second vertex, the top right corner of the path, has a marker that + is rotated 45 degrees, since that is the average of the horizontal and vertical segments + each side. The last vertex, the bottom right corner of the path, has a marker rotated 90 + degrees since that is the direction of the last path segment. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ For the three tests, there should be two identical paths with markers drawn. + The path on the left is rendered using the marker elements. The path on the + right is rendered using the equivalent SVG, showing what the marked path should + look like. +

+

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: painting-marker-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Basic Markers + + + + + + + + + + + + + + + + + + + + Start, Middle and End + + + + + + + + + + + + + + + + + + + + Automatic Orientation + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-02-f.svg b/Tests/W3CTestSuite/svg/painting-marker-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..bab08fc2791772a4f7cdb39a3c56d320a7847463 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-02-f.svg @@ -0,0 +1,245 @@ + + + + + + + + + + + + +

+ Tests the rendering of markers, specifically property inheritance. For the four tests, there should + be two identical paths with markers drawn. +

+

+ The top two tests examine the rendering of markers when the marker and the path + referencing it share the same parent and all painting properties are specfied on + that parent. The first test show inheritance of the 'fill' property and the + second the inheritance of the 'paint' property. In both tests, the marker + is painting using the same properties as the referencing object. Because of + scaling transformations on the marker, the stroke on the second test is thinner + than on the referencing object. +

+

+ The third and fourth tests examine the rendering of markers in a situation where the + marker and referencing path do NOT share the same parent and painting + properties are specified both on the parent of the marked path and on the contents + of the marker itself. In both cases, the marker's parent specifies + fill="green" stroke="blue" stroke-width="8". For the third test, the marker contents + override with stroke="black". For the fourth test, the marker contents + override with fill="black". In neither case should you see + fill="orange" or stroke="blue" or "stroke="purple" on the markers as these properties + are specified on the ancestor of the referencing object or the referencing object itself + and thus shouldn't affect the marker. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The path on the left is rendered using the marker elements. + The path on the right is rendered using the equivalent SVG, + showing what the marked path should look like. These should be + identical and match the image to the right. +

+
+ + $RCSfile: painting-marker-02-f.svg,v $ + + + + + + + + + + + + + + + + + + Marker Rendering Properties + + + + + + + + Fill Property + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stroke Property + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mixed Properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Mixed Properties + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-03-f.svg b/Tests/W3CTestSuite/svg/painting-marker-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..220935193287731b5f86da9540f36f64259edc84 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-03-f.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + +

+ The SVG specification defines three properties to reference markers: marker-start, marker-mid, + marker-end. It also provides a shorthand property,marker. Using the marker property from a style sheet + is equivalent to using all three (start, mid, end). However, shorthand properties cannot be used as presentation attributes. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if the two rows of shapes are identical, and that + all of the shapes have small blue markers (26 in total per row). +

+
+ + $RCSfile: painting-marker-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + 'marker' property test + + 'marker' property + + + + + + + + + 'marker-start', 'marker-mid' & 'marker-end' attribute + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-04-f.svg b/Tests/W3CTestSuite/svg/painting-marker-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..6abd8cefb5162bdec52448ebc52852706f76f35e --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-04-f.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + +

+ The SVG specification defines three properties to reference markers: marker-start, marker-mid, + marker-end. It also provides a shorthand property,marker. Using the marker property from a style sheet + is equivalent to using all three (start, mid, end). However, shorthand properties cannot be used as presentation attributes. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if the shapes in the top row have no markers, + while the shapes in the bottom rom have small blue markers + (26 in total). +

+
+ + $RCSfile: painting-marker-04-f.svg,v $ + + + + + + + + + + + + + + + + + + 'marker' attribute test + + 'marker' attribute + + + + + + + + + 'marker-start', 'marker-mid' & 'marker-end' attributes + + + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-05-f.svg b/Tests/W3CTestSuite/svg/painting-marker-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..72aab38205a1444faf92a331057f8e75d217029a --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-05-f.svg @@ -0,0 +1,240 @@ + + + + + + + + + + + + +

+ Test all the 'overflow' property values except 'inherit' on the 'marker' element. +

+

+ Each column tests a value of the 'overflow' property. + The first row uses the 'marker' property to set the same marker on start-, mid- and end-points on the path. + The second row uses 'marker-start', 'marker-mid' and 'marker-end' to give each point its own marker. + The third row uses the 'marker' property like the first row, but here the marker has orient="auto" set. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: + + The columns labeled 'visible' and 'auto' show markers without clipping them. + All other columns show clipped markers. + The rendered picture matches the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: painting-marker-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Test marker overflow + + + default + 'visible' + 'auto' + 'scroll' + 'hidden' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-06-f.svg b/Tests/W3CTestSuite/svg/painting-marker-06-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..c1929f81e3d59f41286850fd7c1e1e707dd47442 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-06-f.svg @@ -0,0 +1,159 @@ + + + + + + + + + + +

+ Tests the basic support for markers. For the three tests, there + should be two identical paths with markers drawn. The path on the left is + rendered using the marker elements. The path on the right is rendered using + the equivalent SVG, showing what the marked path should look like. +

+

+ This test is similar to the painting-marker-01-f.svg test, but has some viewBox attributes + that have a non-zero offset. +

+

+ The top test examines the basic support for the marker element and style. The markers are purple rectangles. +

+

+ The middle test examines the support for the different styles of marker properties. The + "marker-start" property defines the marker to use at the first vertex of the marked path, + in this case a purple rectangle. The "marker-end" property defines the marker to use at the + last vertex of the marked path, in this case a blue triangle. The "marker-mid" property + defines the marker to use at all vertices, other than the first and last, of the marked path, + in this case a green circle. +

+

+ The bottom test examines the support for marker orientation along the + path direction. The second vertex, the top right corner of the path, has a marker that + is rotated 45 degrees, since that is the average of the horizontal and vertical segments + each side. The last vertex, the bottom right corner of the path, has a marker rotated 90 + degrees since that is the direction of the last path segment. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: painting-marker-06-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Basic Markers + + + + + + + + + + + + + + + + + + + + Start, Middle and End + + + + + + + + + + + + + + + + + + + + Automatic Orientation + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-marker-07-f.svg b/Tests/W3CTestSuite/svg/painting-marker-07-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..fc086730ed97b5a9425e30b85461bbd6179a07b3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-07-f.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ A 'marker' element with 'display' set to 'none' on that + element or any ancestor is rendered when referenced by another element. +

+ + +

+ Run the test. No interaction required +

+
+ +

+ Test passes if there are two green triangles visible on the page. +

+
+ + $RCSfile: painting-marker-07-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/painting-marker-properties-01-f.svg b/Tests/W3CTestSuite/svg/painting-marker-properties-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..cbac3a7dbf62f16c6b942f01e82560f908091de8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-marker-properties-01-f.svg @@ -0,0 +1,95 @@ + + + + + + + + + + +

+ +

+ + +

+ +

+
+ +

+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/painting-render-01-b.svg b/Tests/W3CTestSuite/svg/painting-render-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..6367fb093f24f9ebaa997075d593f0109d68f8a3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-render-01-b.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + +

+ This tests shows the same linear gradient used with different values for the + color-interpolation rendering property. The top bar is painted using the + default color-interpolation value, which should produce the same result as + sRGB. The middle bar is painted using the 'sRGB' color-interpolation and + should be the same as the top bar. Finally, the bottom bar is painted using + the linearRGB interpolation, which produces a result visibly different from + the top two bars: the white to blue ramp is whiter, the blue to red ramp + goes through a pinkish color and the red to yellow ramp turns orange before + the similar sRGB rampl. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The top two gradients must look the same, and the bottom gradient must look + different to the top two. The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: painting-render-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Basic test of color-interpolation property. + + + + + + + + + + + + + + + + + + + + default (sRGB) + + + + + + + + + + + + + + + + + + + + + sRGB + + + + + + + + + + + + + + + + + + + + + linearRGB + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-render-02-b.svg b/Tests/W3CTestSuite/svg/painting-render-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1845b18421296975b38d211d7acf961cd591dc6a --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-render-02-b.svg @@ -0,0 +1,100 @@ + + + + + + + + + + +

+ This tests that the 'color-interpolation' property is honored when + alpha compositing is performed. +

+

+ The test slide consists of seven rectangular regions, + each of which is filled with either a dark or light + shade of gray. The 'color-interpolation' property + is used on the rectangles to control whether a + dark or light shade of gray appears. Text inside each + rectangular region indicates whether the shade of gray + should be dark or light. The top two rectangular regions + are references against which the remaining five are to + be compared. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • all rectangles marked as "dark" have the same fill color,
  • +
  • all rectangles marked as "light" have the same fill color,
  • +
  • the rectangle marked "dark or light" has the same fill color + as either the "dark" rectangles or the "light" rectangles, and
  • +
  • the rendering matches the reference rendering, except for + any differences in font used to render the text.
  • +
+
+ + $RCSfile: painting-render-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + dark + light + dark + light + dark + dark or light + light + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-01-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..837a64b2e254e6401c39bbf750b8c4c8863cb9b6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-01-t.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the stroke properties ("stroke") + in combination with the "rect" element . + The pair should be rendered as two blue rectangles, + the upper one without a stroke and the lower with a green stroke. +

+

+ The test uses the "rect" element, as well as basic "fill" (solid primary colors), + "stroke", stroke="green", "font-family" and "font-size" attributes. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labeling text (per CSS2 rules). +

+
+ + $RCSfile: painting-stroke-01-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke="none" + stroke="green" + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-02-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0bde5eb0d512750cd80ae394ac98ca1f3b385e81 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-02-t.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the stroke properties ("stroke", "stroke-width", + "stroke-linejoin") in combination with the "rect" element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The pair should be rendered as two blue rectangles without an interior fill. + The upper rectangle should have a thick stroke and sharp corners. + The lower rectangle should have a thick stroke and round corners. +

+
+ + $RCSfile: painting-stroke-02-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke-width="20" + stroke-linejoin="round" + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-03-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..719a8b0ae5c29871baf1bccacbde05a64aba9500 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-03-t.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ This test checks the basic capability of handling the stroke properties ("stroke", "stroke-width" + "stroke-linejoin", "stroke-linecap", "stroke-miterlimit") + with straight-line path commands. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The two paths should be rendered as two blue line segments. + The upper segment should have round end caps. The lower segment + should be chopped off where the two line segments meet. +

+
+ + $RCSfile: painting-stroke-03-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke-linecap="round" + stroke-miterlimit="1" + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-04-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..5e23638f63d963b9c86dcca8e871c0305c38cd0d --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-04-t.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + +

+ This test checks the "stroke-dasharray" and "stroke-dashoffset" properties. Two lines are drawn, one blue + and one black. Both have a "stroke-dasharray" of "10,10" giving a dashed appearance + where the size of the gaps and the size of the dash is equal. +

+ + + Run the test. No interaction required. + + +

+ The black line is lower than but parallel to the blue line. The "stroke-dashoffset" on each line should make the dashes of each line line up with the gaps in the other line. +

+
+ + $RCSfile: painting-stroke-04-t.svg,v $ + + + + + + + + + + + + Basic paint: stroke properties. + + + stroke-dasharray="10, 10" + stroke-dashoffset="10" + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-05-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f4027018858a874248ff95354265630038845cc7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-05-t.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ User agents may render graphical primitives with different levels of accuracy. + This test is aimed at determining how a UA renders thin strokes. +

+

+ The test file contains a number of vertical and horizontal lines. + The stroke width of the vertical lines increase from left to right. + The stroke width of the horizontal lines increase from top to bottom. +

+ + + Run the test. No interaction required. + + +

+ The test is passed if user is able to see a smooth stroke width + increment for the vertical and horizontal lines. The top left hand + corner should contain strokes that are very thin in width and the bottom + right hand corner should contain thick strokes. +

+
+ + $RCSfile: painting-stroke-05-t.svg,v $ + + + + + + + + + Rendering thin strokes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-06-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..829633f5ca10556030bbb665cd08e53b7481fcb2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-06-t.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ Test default effects of stroke-dasharray. +

+

+ This specifically tests the values of none and 0. + This also tests an odd number of values in a dash-array attribute + and in combination with an offset. +

+ + + Run the test. No interaction required. + + +

+ The top two lines must be solid black. The next line shows a thick + black line with a thinner blue line on top; both must have the same + dash pattern. The bottom two lines, one black and one blue, must render + so that the gaps of one correspond to the dashes of the other. +

+
+ + $RCSfile: painting-stroke-06-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-07-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..853bda4083ef03dc5e2108a40d908e9b83761e17 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-07-t.svg @@ -0,0 +1,63 @@ + + + + + + + + + + + + +

+ Test effect of different stroke-miterlimits. For this particular combination of + stroke width and angle, the cut off value of stroke-miterlimit is 18.028. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The first and second subtests should not truncate the stroke, and all the rest must truncate it. +

+
+ + $RCSfile: painting-stroke-07-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-08-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a16b2965afed70d74795d16923c9b7eda6ab0a14 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-08-t.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ Test effects of stroke-opacity range. Values + outside the range 0-1.0 must be clamped. +

+ + + Run the test. No interaction required. + + +

+ There must be no blue bars visible beside the three pink dots. + Four semitransparent blue bars, increasingly more opaque, + must line up with the yellow dots. Three fully opaque + blue bars must line up with the green dots. +

+
+ + $RCSfile: painting-stroke-08-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-09-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-09-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..850962c843945e4b7362dde5474e04537817429d --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-09-t.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + +

+ This tests that the "stroke-dasharray" property accepts values + that are separated by white space. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if it matches the reference rendering + by showing a thick stroke with alternating long and short + stroke dashes. +

+
+ + $RCSfile: painting-stroke-09-t.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/painting-stroke-10-t.svg b/Tests/W3CTestSuite/svg/painting-stroke-10-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..1bad081e684b129f55d1f4a666da7a249a586183 --- /dev/null +++ b/Tests/W3CTestSuite/svg/painting-stroke-10-t.svg @@ -0,0 +1,78 @@ + + + + + + + + + + +

+ This tests that stroking of zero length subpaths will result in + some rendering if the 'stroke-linecap' property is set to + 'square' or 'round', but not if it is set to 'butt'. +

+

+ Simply load the test. Two rows of shapes should be presented, + with a text label describing the row. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Simply load the test. Two rows of shapes should be presented, + with a text label describing the row. +

+
+ + $RCSfile: painting-stroke-10-t.svg,v $ + + + + + + + + + + Test stroking of zero length subpaths + + + + + + + + + + + + + Using an 'L' command: + Using a 'c' command: + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-01-t.svg b/Tests/W3CTestSuite/svg/paths-data-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e6b972d7a3c00111afd1f3b5aa10f9ddbf4220af --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-01-t.svg @@ -0,0 +1,151 @@ + + + + + + + + + + + + +

+ Test that the viewer has the basic capability to handle the 'path' + element and its data (d) attribute in combination with the cubic + Bezier curveto commands, C, c, S, s (plus Mm and Zz). +

+

+ There are 8 subtests, each composed from the cubic Bezier path commands per + the label by the subtest. On-curve control points (i.e., the curve position) + are marked by small blue squares. Subtests are filled, or stroked, or + both, using simple style properties and colors. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-01-t.svg,v $ + + + + + + + + + + + + Cubic bezier curves drawn with commands: + + + + + + + + + + + M, C, S, m, c, s + + + + + + + + + + + + M, c, c, c, C, z + + + + + + + + + + M, C, Z + + + + + + + + + + + M, C, c, Z + + + + + + + + + + + m, c, s + + + + + + + + + + M, C + + + + + + + + + + + + M, c, s, s, s, z + + + + + + + + + + m, c, z + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-02-t.svg b/Tests/W3CTestSuite/svg/paths-data-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..cad5865d6f7e0269385a44d87c6f26c0603958db --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-02-t.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + +

+ Test that the viewer has the basic capability to handle the 'path' + element and its data (d) attribute in combination with the quadratic + Bezier curveto commands, Q, q, T, t (plus Mm and Zz). +

+

+ There are 7 subtests, each composed from the quadric Bezier path commands per + the label by the subtest. On-curve control points (i.e., the curve position) + are marked by small colored squares. Subtests are filled, or stroked, or + both, using simple style properties and colors. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-02-t.svg,v $ + + + + + + + + + Quadric bezier curves drawn with commands: + + + + + M, Q, M, q, z + + + + + + + + + m, q, z, m, q, z + + + + + + + + + M, Q, Z + + + + + + + M, Q, T, Q, z + + + + + + + + + M, Q, Q, z + + + + + + + + M, q, t, t, t, t, z + + + + + + + + + + + M, q, Q, q, Q, z + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-03-f.svg b/Tests/W3CTestSuite/svg/paths-data-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3f087fdce3a06e003ff2ed847be9030441043476 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-03-f.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + +

+ Test that the viewer has the basic capability to handle the 'path' + element and its data (d) attribute in combination with the elliptical + arc curveto commands, A, a (plus Mm and Zz). +

+

+ There are 6 subtests, each composed from the elliptical arc path commands per + the label by the subtest. The curve positions + are marked by small colored squares. Subtests are filled, or stroked, or + both, using simple style properties and colors. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-03-f.svg,v $ + + + + + + + + + Elliptical arc curves drawn with commands: + + + + + M, A, Z + + + + + + + m, a, z + + + + + + + M, a + + + + + + + M, A, a, a, z + + + + + + + + + M, a, Z, m, A, Z, m, a, z + + + + + + + + + + + M, A, A, A, A + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-04-t.svg b/Tests/W3CTestSuite/svg/paths-data-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..63fef435838b7d4620407323d12df3110db33ee9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-04-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of concentric equilateral triangles are drawn using respectively + M,L,Z and m,l,z. The shapes are identical, with one stroked and + one filled. The fill-mode default of "even-odd" means that + the inner triangle is hollow. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-04-t.svg,v $ + + + + + + + + + + + + + + M, L, L, L, Z, + subpath + M, L, L, L, Z + + + + + + + + stroked + + + + + + + + filled + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-05-t.svg b/Tests/W3CTestSuite/svg/paths-data-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..cea68ca97f76d89ff1ae45b664db028070dbb2a7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-05-t.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of concentric equilateral triangles are drawn using respectively + M,L,Z and m,l,z. The shapes in each pair are identical, with one stroked and + one filled. The fill-mode default of "even-odd" means that + the inner triangle is hollow. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-05-t.svg,v $ + + + + + + + + + + + + + m, l, l, l, z, + subpath + m, l, l, l, z + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-06-t.svg b/Tests/W3CTestSuite/svg/paths-data-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..5e0fa31c16be22fa4e44ab09f67da471d8b95d32 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-06-t.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of staircase figures are drawn using + respectively M,H,V,Z and m,h,v,z. The shapes in each pair are identical, with one stroked and + one filled. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-06-t.svg,v $ + + + + + + + + + + + + + M, H, V, H, + V. H, V, H, + V, Z + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-07-t.svg b/Tests/W3CTestSuite/svg/paths-data-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..806e0b569a8578228dc40f4501c1ccc652ee3ed1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-07-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of staircase figures are drawn using + respectively M,H,V,Z and m,h,v,z. The shapes in each pair are identical, with one stroked and + one filled. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-07-t.svg,v $ + + + + + + + + + + + + + m, h, v, h + v, h, v, h + v, z + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-08-t.svg b/Tests/W3CTestSuite/svg/paths-data-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..5b2af84fdc7a14a124d0b12701e2c1d7604d05d7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-08-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of concentric equilateral triangles are drawn using + M and Z. No L commands are used in this test as they are implied after + an M or Z command. The shapes are identical, with one stroked and + one filled. The fill-mode default of "even-odd" means that + the inner triangle is hollow. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-08-t.svg,v $ + + + + + + + + + + + + Lines drawn with commands: + M and Z + + + + + + + + + + stroked + + + + + + + + filled + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-09-t.svg b/Tests/W3CTestSuite/svg/paths-data-09-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d2908c20710d5b6fc4f97e103da9c6262dbf035a --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-09-t.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the 'path' element, and its data attribute (d) + in combination with the straight-line path commands. + Two pairs of concentric equilateral triangles are drawn using + m and z. No l commands are used in this test as they are implied after + an m or z command. The shapes are identical, with one stroked and + one filled. The fill-mode default of "even-odd" means that + the inner triangle is hollow. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-09-t.svg,v $ + + + + + + + + + + + + Lines drawn with commands: + m and z + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-10-t.svg b/Tests/W3CTestSuite/svg/paths-data-10-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ebfcda85119d2c44606004d1293a0b33913c49d5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-10-t.svg @@ -0,0 +1,111 @@ + + + + + + + + + + + + +

+ Verify that the viewer renders the line caps and line joins for + open and closed paths properly. + Verify that the open triangular paths are stroked differently at + ends of the path than they are at their intermediate corners. + In contrast, the corners of a closed path should all appear the + same. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image exactly +

+
+ + $RCSfile: paths-data-10-t.svg,v $ + + + + + + + + + + open + join=round + cap=butt + M, L + + + + + + open + join=bevel + cap=round + m, l + + + + + + open + join=miter + cap=square + M, L + + + + + + closed + join=round + cap=butt + M, L, Z + + + + + + closed + join=bevel + cap=round + m, l, z + + + + + + closed + join=miter + cap=square + M, L, Z + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-12-t.svg b/Tests/W3CTestSuite/svg/paths-data-12-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ef5666c45cc3c25cb72e1ff2a6e624bc44381fa6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-12-t.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ Test using multiple coord sets to build a polybeizer, and implicit values for initial S. +

+ + +

+ The rendered picture should match the reference image exactly, except for possible variations in the labelling text (per CSS2 rules). +

+ +
+ +

+ The rendered picture should match the reference image. +

+
+ + $RCSfile: paths-data-12-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-13-t.svg b/Tests/W3CTestSuite/svg/paths-data-13-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..8525043b260d69dc76a207ef23619aa27ee13e6e --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-13-t.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + +

+ Test multiple coordinates for V and H. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test is passed if there is one horizontal green line and one vertical blue line. +

+
+ + $RCSfile: paths-data-13-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-14-t.svg b/Tests/W3CTestSuite/svg/paths-data-14-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..543370e1c8f406008f8b1ae8f2af85aa3a99e797 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-14-t.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + +

+ Test implicit values for moveto. If the first command is 'm' it should be taken as an absolute moveto, plus implicit lineto. +

+ + +

Run the test. No interaction required.

+
+ +

The test is passed if the three triangles are shown: two concentric, unfilled + triangles with black strokes on the left, and one unfilled triangle with + a thick blue stroke on the right.

+
+ + $RCSfile: paths-data-14-t.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-15-t.svg b/Tests/W3CTestSuite/svg/paths-data-15-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7b9dcbbb221ad8c2932ac4108c80c23fe70ec158 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-15-t.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + +

+ Test using multiple coord sets to build a polybezier, then T with no preceding Q or T. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart from any allowable font selection differences due to CSS2.

+

A purple wavy line above a short, blue horizontal line must be shown. + Small black triangles pointing to the start, middle and end of the blue + line must also be shown.

+
+ + $RCSfile: paths-data-15-t.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-16-t.svg b/Tests/W3CTestSuite/svg/paths-data-16-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ce768ecca0635dd519c5c8060d83a4e634e35fec --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-16-t.svg @@ -0,0 +1,69 @@ + + + + + + + + + + +

+ This tests that any implicit lineto commands that result from an + 'M' or 'm' command with more than one pair of coordinates are absolute + if the moveto was specified with 'M' and relative if the moveto was + specified with 'm'. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ After loading the test, the test is passed if two yellow + triangles with black borders are shown. Otherwise, the + test has failed. +

+
+ + $RCSfile: paths-data-16-t.svg,v $ + + + + + + + + + + Test relative-ness of implicit lineto path commands + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-17-f.svg b/Tests/W3CTestSuite/svg/paths-data-17-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..d6801a8640dcc1d476c3406bfa4204416bb4ed4c --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-17-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Test that the 'z' and 'Z' command have the same effect. +

+

+ Specify four 'path' elements that each use three 'L' commands to draw three sides of a square. The fourth line of each + square is drawn via a 'closepath' command. A red square closed via 'z' is covered with a black square closed via 'Z' and + vice versa. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if two black-stroked, unfilled squares are visible and + there is no red visible on the page. +

+
+ + $RCSfile: paths-data-17-f.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-18-f.svg b/Tests/W3CTestSuite/svg/paths-data-18-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e50a85079d3380f3a6c8728b3ddcbb44c0f12e7e --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-18-f.svg @@ -0,0 +1,100 @@ + + + + + + + + + + +

+ The 'path' element's 'd' attribute ignores additional whitespace, newline characters, and commas, and BNF processing consumes as much content as possible, stopping as soon as a character that doesn't satisfy the production is encountered. +

+

+ Various black path segments are rendered that each demonstrate one of the parsing rules. Each path segment is placed on top + of a similar path segment that lacks the particular parsing rule that is being tested. Test passes if no red is visible. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if seven thick black horizontal lines are shown with corresponding + gold horizontal lines just above them, and the black and gold lines are all of the + same length and horizontal position. +

+
+ + $RCSfile: paths-data-18-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-19-f.svg b/Tests/W3CTestSuite/svg/paths-data-19-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..5d6d49a9ed9fbcacc23792e2f15b2900f350427e --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-19-f.svg @@ -0,0 +1,107 @@ + + + + + + + + + + +

+ Test that additional parameters to pathdata commands are treated as additional calls to the most recent command. +

+

+ Each of the applicable 'pathdata' commands are used in separate 'path' elements. Each command is repeated in red and + overlayed with another 'path' element with identical coordinates specified but without the repeated command in black. + Commands that do not render or do not take parameters are omitted. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: paths-data-19-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/paths-data-20-f.svg b/Tests/W3CTestSuite/svg/paths-data-20-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b0827e5ca9db126dfd74fcf0d30882a2aa575a24 --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-data-20-f.svg @@ -0,0 +1,87 @@ + + + + + + + + + + +

+ Tests parsing of the elliptical arc path syntax. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if the image looks as if there are eight green circles that have + two white rectangles overlapping them, like in the reference image. If any red is visible + the test has failed. +

+
+ + $RCSfile: paths-data-20-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/paths-dom-01-f.svg b/Tests/W3CTestSuite/svg/paths-dom-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..7c79f352fe79d470ee9181fbea87bc40dca701ec --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-dom-01-f.svg @@ -0,0 +1,140 @@ + + + + + + + + + + + + +

+ Test the getTotalLength, getPointAtLength and getPathSegAtLength DOM methods. +

+

+ The left green rect should have text around it. The text should start at 50 user units distance-along-the-path, which is the same as half the rect width. + The right green rect should also have text around it, but the text should start 50 units along the path relative to the provided pathLength. Since 50 is + half of the provided pathLength the text will start at the lower right-hand corner, and if the text is too long to fit it will be cut off when reaching + the upper left corner of the rect. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test has passed if:

+
    +
  • the value for getTotalLength is "300" for both rects
  • +
  • the value for getPointAtLength is "(60,80)" for the left rect, and "(300,80)" for the right rect
  • +
  • the value for getPathSegAtLength is "0" on the first line for both rects, and on the second line "m 60 80" for the left rect and "m 300 80" for the right rect
  • +
+
+ + $RCSfile: paths-dom-01-f.svg,v $ + + + + + + + + + + + + + + + Using startOffset="50": + + + + + The text goes around the rect. + + + + Using startOffset="50" and + pathLength="100": + + + + The text goes around the rect. + + + + + getTotalLength: + -1 + -1 + + getPointAtLength(0): + -1 + -1 + + getPathSegAtLength(0): + + -1n/a + + + -1n/a + + + + + + $Revision: 1.6 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/paths-dom-02-f.svg b/Tests/W3CTestSuite/svg/paths-dom-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..5274ffcfe3a1c987ae07051434845a213c2c22fc --- /dev/null +++ b/Tests/W3CTestSuite/svg/paths-dom-02-f.svg @@ -0,0 +1,274 @@ + + + + + + + + + + + + +

+ This test is designed to test the PathSegList interface. At first a flower-like shape with 6 petals should be displayed. + The roundness and number of petals are then animated using script. +

+ + +

+ The roundness of the petals is animated from star-like sharp petals to softly rounded petals and back again, and is repeated like that until the animation stops. + The number of petals should increase one by one until the flower has a total of 12 petals, and then go back one by one until it has 6 petals, then increase again one by one until the flower has 9 petals. + Then the animation will stop. The rendered image should look exactly like the reference image. +

+

+ If the flower is clicked after the animation has finished, it will restart the animation and repeat it for some time. +

+
+ +

+ [[Describe the pass criteria of the test here. The pass criteria is what + should be displayed when the test is run.]] +

+
+ + $RCSfile: paths-dom-02-f.svg,v $ + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-01-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..77b7565378cb8f3fb518650fef2d2489e98c78c7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-01-b.svg @@ -0,0 +1,69 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the xlink:href attribute on + linear gradients. The top rectangle has a simple + blue (left) to lime (right) linear gradient. The lower one + has a different gradient definition, but + should look the same as the one above, because the gradient makes a + reference to the first gradient, without modifying any attribute. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two rectangles, both with a blue to lime gradient. +

+
+ + $RCSfile: pservers-grad-01-b.svg,v $ + + + + + + + + + + + + + + + + + + Linear gradient. + + Referencing gradient below. + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-02-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..bbdfb9b03585e6dc571d3ceea9ff07853e383a87 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-02-b.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the xlink:href attribute on + radial gradients. +

+

+ There are two rectangles. The top one has + a radial gradient (black to orange) that should appear elliptical + to fit the aspect ratio of the rectangle. The units are + specified in objectBoundingBox space. The gradient + on the lower one + references the gradient of the top rectangle, but modifies + the units to use userSpace instead. So it is only using the + stops from the gradient to the left, with a different geometry. The radial gradient appears circular. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, except + for any differences in text due to CSS2 rules. Specifically:

+
    +
  • The top rectangle is filled with an elliptical radial gradient, + with black in the center and orange at the outside edges of the rectangle.
  • +
  • The bottom rectangle is filled with a circular radial gradient, + with black in the center and orange at the top and bottom edges of the rectangle. + Outside the circular area, the rectangle is filled with plain orange.
  • +
+
+ + $RCSfile: pservers-grad-02-b.svg,v $ + + + + + + + + + + + + + + + + + + Radial gradient. + + Referencing gradient below. + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-03-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..f3dfc259ce3549e266e95f138dc2bcf9c0df5a42 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-03-b.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the xlink:href attribute on + patterns. +

+

+ There are two rectangles with a pattern fill made + up of 4 rectangles. The pattern definition of the lower one references the pattern definition + of the upper one, using the xlink:href attribute. Because + the particular way that the patterns and rectangles are + defined in this test case, the two fills will appear the + same - the rectangles are positioned on pattern-size + boundaries, so that the offsets into the pattern at the left + edges of the respective rectangles is identical. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if the rendering matches the reference image, except + for any differences in text due to CSS2 rules. Note that the top rectangle must + look identical to the bottom rectangle.

+
+ + $RCSfile: pservers-grad-03-b.svg,v $ + + + + + + + + + + + + + + + + + + + + Pattern fill. + + Referencing pattern fill below. + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-04-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..876a07a646eae7af7365f3ac75dd35f7ff04ec02 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-04-b.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ Test that checks the capability of the stop element in linear and radial + gradients. +

+

+ The first rectangle has a linear gradient fill with a vector starting at top left + and going to bottom right. The stop colors are at 20% spacing apart and are in the + following order : violet, blue, lime, yellow, orange, green. + Because the gradient vector vector goes from (0,0) to (1,1) in object bounding box space + and because the object bounding box has a larger width than height, the gradient vector + is skewed off of a pure 45 degree angle. The gradient stripes are also skewed + so that they are no longer perpendicular to the gradient vector. +

+

+ The next rectangle has a radial gradient fill with a multi-color stops from innermost + to outermost in the following order: black, yellow, orange, blue, white, green. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if the rendering matches the reference image, except for + any differences in text due to CSS2 rules.

+
+ + $RCSfile: pservers-grad-04-b.svg,v $ + + + + + + + + + + + + + + + + + + Multi-color linear gradient. + + + + + + + + + + + + + Multi-color radial gradient. + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-05-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d08e1f7e5eeb9df76f9637dffadf9c46e8c2b23b --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-05-b.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + +

+ Test that checks the capability of the stop opacity in linear and radial + gradients. +

+

+ There are two tests which contain rectangles with gradients using stop-opacity properties. + A cyan color text string "Background" is put behind both of the rectangles to help + demonstrate the opacity concept. +

+

+ From top-down the appearance of objects is as follows. +

+

+ The first rectangle has a linear gradient fill with a vector starting at top left + and going to bottom right. The stop colors are at 20% spacing apart and are in the + following order : violet, blue, lime, yellow, orange, black. + Also a stop opacity is given to the colors in the following order: 1, 0.2, 0.5, 0, 0.8, 1 + Because the gradient vector vector goes from (0,0) to (1,1) in object bounding box space + and because the object bounding box has a larger width than height, the gradient vector + is skewed off of a pure 45 degree angle. The gradient stripes are also skewed + so that they are no longer perpendicular to the gradient vector. +

+

+ The next rectangle has a radial gradient fill with a multi-color stops from innermost + to outermost in the following order: black, yellow, red, blue, white, green. + Also a stop opacity is given to the colors in the following order: 1, 0.2, 0.5, 0, 0.8, 1 +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, except for + any differences in text due to CSS2 rules.

+
+ + $RCSfile: pservers-grad-05-b.svg,v $ + + + + + + + + + Background + + + + + + + + + + + Background + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-06-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-06-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..374b1e3e2ecec65b34861b06176ecdcf9d646bc5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-06-b.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the gradientTransform and the patternTransform + attribute on gradients and patterns respectively. +

+

+ From top-down the appearance of objects is as follows. +

+

+ The top rectangle has a linear gradient whose coordinate system has been scaled down by + a half. So the gradient travelling from left to right (from blue to green to lime) should + only occuply the left half the rectangle. +

+

+ The next rectangle has radial gradient that has been translated to the center and skewed + in the positive X direction by 45 degrees. Therefore the gradient should appear + ellipltical and rotated around the center. +

+

+ The last row contains a rectangle with pattern on the fill. The transformation on the + pattern moves the coordinate system to the top left of the rectangle and then scales it + by a factor of 2 and then skew's it in the X direction by 45 degrees. The pattern + consists of a 2 by 2 array of colored rectangles. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart + from any differences in font choice due to CSS2 rules. Specifically:

+
    +
  • The top rectangle is filled with a linear gradient from blue on the left, + to lime in the middle. The right half of the rectangle is filled with plain lime.
  • +
  • The middle rectangle is filled with an elliptical radial gradient with + black on the inside and orange on the outside. The center point of the gradient + is near the center-bottom of the rectangle. The gradient is skewed, so that it appears + as a rotated elliptical gradient.
  • +
  • The bottom rectangle is filled with a repeating pattern of tiled + red, green, yellow and blue parallelograms.
  • +
+
+ + $RCSfile: pservers-grad-06-b.svg,v $ + + + + + + + + + + + + + + + + + + scale(0.5) on gradient + + + + + + + + + skewX(45) on gradient + + + + + + + + + + + scale(2), skewX(45) on pattern + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-07-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-07-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..9e9b32dc026bd58e68b63d45a90412551636de5f --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-07-b.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ Test that the viewer has basic capability to handle linear gradients + on fills and stroke of objects and text. +

+

+ This test uses the following elements : <linearGradient>, <stop> + and the following properties : stop-color, fill:url(# ), stroke(url# ) +

+

+ Both elements in this test use the same simple gradient. It is a linear gradient from + blue (left) to lime (right). From top-down the appearance of objects is as follows. +

+

+ The top rectangle should be filled with the gradient. +

+

+ The next rectangle has no fill, but has a thick stroke on which the gradient is + applied. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart + from any differences in font choice due to CSS2 rules. Specifically:

+
    +
  • The top rectangle is filled with a gradient from blue on the left to lime on the right.
  • +
  • The bottom rectangle is unfilled and stroked with a thick stroke using a gradient from blue on the left to lime on the right.
  • +
+
+ + $RCSfile: pservers-grad-07-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + Linear gradient filled rectangle + + + + + Linear gradient on stroke of rectangle + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-08-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-08-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..654ec8d409b5a11b86036b428b65def3adbfba26 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-08-b.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + +

+ Test that the viewer has basic capability to handle linear gradients + on fills and stroke of text. +

+

+ Both elements in this test use the same simple gradient. It is a linear gradient from blue (left) to lime (right). From top-down the appearance of objects is as follows. +

+

+ The first item is a text string "Gradient on fill" with the gradient on the fill of the text. +

+

+ The second item is a text string that is not filled. It has a 2 user unit stroke on which the gradient is applied. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart + from any differences in font choice due to CSS2 rules. Specifically:

+
    +
  • The text string "Gradient on fill" must be filled with a gradient + from blue on the left to lime on the right.
  • +
  • The text string "Gradient on stroke" must be unfilled and stroked with + a gradient from blue on the left to lime on the right.
  • +
+
+ + $RCSfile: pservers-grad-08-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gradient on fill + + + + Gradient on stroke + + + + Linear gradient on filled text + Linear gradient on stroke of text + + + + $Revision: 1.13 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-09-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-09-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..670e914bf4d4d54780daf072ff9e8cdbf1193e60 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-09-b.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the gradientUnits attribute on linear gradients. + It tests the following values of gradientUnits: default (userSpace), objectBoundingBox, + and userSpaceOnUse. +

+

+ From top-down the appearance of objects is as follows. +

+

+ The first rectangle uses the default attributes on the linearGradient element. + Therefore the linear gradient should default to objectBoundingBox. It should appear + from the left edge of the rectangle (blue) to the right edge of the rectangle (lime). + The rectangle is smaller than the viewport, because a previous version of the SVG spec had the default value be 'viewport'. + The test fails if only a portion of the gradient is shown. +

+

+ The next rectangle uses gradientUnits=objectBoundingBox. The linear gradient should + travel from blue (top) to lime (bottom). +

+

+ The last rectangle uses gradientUnits=userSpaceOnUse. The rectangle element is given it's + own transformation and the gradient is assumed to be in this user space. + The gradient should appear as a linear gradient from lime (left) to blue (right). +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart + from any differences in font choice due to CSS2 rules. Specifically:

+
    +
  • The top rectangle is filled with a linear gradient from lime on the left to blue on the right.
  • +
  • The middle rectangle is filled with a linear gradient from blue on the top to lime on the bottom.
  • +
  • The bottom rectangle is filled with a linear gradient from lime on the left to blue on the right.
  • +
+
+ + $RCSfile: pservers-grad-09-b.svg,v $ + + + + + + + + + Testing gradientUnits attribute + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-10-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-10-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..52d893e3e8b93f9f11819c4d4c120977c7c232e5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-10-b.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the spreadMethod attribute on linear gradients. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if the rendering matches the reference image, apart + from any differences in font choice due to CSS2 rules. Each of the + three rectangles is filled with a linear gradient from blue on the left + to lime on the right. The width of the gradient is only a fifth of + the width of the rectangle, so:

+
    +
  • The top rectangle is filled with plain blue in the left two-fifths + and with plain lime in the right two-fifths.
  • +
  • The middle rectangle is filled with alternating copies of the blue-to-lime + gradient. Thus, from left to right, the rectangle is filled with + a gradient that goes from blue to lime to blue to lime to blue to lime.
  • +
  • The bottom rectangle is filled with five copies of the blue-to-lime + gradient. Thus, from left to right, the rectangle is filled with + a gradient that goes from blue to lime, abruptly changing back to blue + then smoothly changing to lime, etc.
  • +
+
+ + $RCSfile: pservers-grad-10-b.svg,v $ + + + + + + + + + Testing spreadMethod attribute + + + + + + + + + spreadMethod=pad + + + + + + + + + spreadMethod=reflect + + + + + + + + + spreadMethod=repeat + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-11-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-11-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..dc5e21209b8ae605b3774b8e0ca8545d099f268e --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-11-b.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + +

+ Test that the viewer has basic capability to handle radial gradients + on fills and stroke of objects and text. +

+

+ This test uses the following elements : <radialGradient>, <stop> + and the following properties : stop-color, fill:url(# ), stroke(url# ) +

+

+ From top-down (left to right) the appearance of objects is as follows. +

+

+ The top left rectangle should be a radial gradient from dark blue (in) to lime (outside). + The gradient is applied to the fill of the rectangle. +

+

+ The next rectangle has no fill, but has a thick stroke on which the gradient is + applied. The gradient goes from dark orange(in) to pale yellow (out). +

+

+ The next item is a text with a radial gradient on the fill. The gradient goes + from green (in) to yellow (out). +

+

+ The last item is a text with a 2 user unit stroke on which a black (in) to magenta + (out) linear gradient is applied. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering matches the reference image, apart + from any differences in font choice due to CSS2 rules. Specifically:

+
    +
  • The top-left rectangle must be filled with a circular radial gradient + with dark blue inside and lime outside. The center point of the gradient + is in the lower-left quadrant of the rectangle.
  • +
  • The top-right rectangle has no fill, but a thick stroke which is painted + with a radial gradient with dark orange inside and yellow outside. The + center point of this gradient is in the lower-left quadrant of the + rectangle.
  • +
  • The "Gradient on text fill" text must be filled with a circular radial + gradient with green inside and yellow outside. The center point of the + gradient is the center of the text.
  • +
  • The "Gradient on text stroke" has no fill, but a stroke which is painted with + a circular radial gradient with black inside and pink outside. The center point of the + gradient is the center of the text.
  • +
+
+ + $RCSfile: pservers-grad-11-b.svg,v $ + + + + + + + + + + + + + + + + + Radial gradient on fill of rectangle + + + + + + + + + Radial gradient on stroke of rectangle + + + + + + + + Gradient on text fill + Radial gradient on text, black to yellow + + + + + + + + Gradient on text stroke + Radial gradient on stroke of text, black to red + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-12-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-12-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d00f73af8c83c60a4aae1e7304bdef3d9a05a8ab --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-12-b.svg @@ -0,0 +1,110 @@ + + + + + + + + + + + + +

+ Test that the viewer can handle the gradientUnits attribute on radial gradients. + It tests the following values of gradientUnits: default (objectBoundingBox), objectBoundingBox, + and userSpaceOnUse. +

+

+ From top-down the appearance of objects is as follows. +

+

+ The first rectangle uses the default attributes on the radialGradient element. + Therefore the radial gradient should be relative to the object bounding box. It should appear + from the center of the viewport (blue) to the edges of the viewport (lime). + The rectangle is wider than tall so it the gradient should be elliptical, not circular. +

+

+ The next rectangle uses gradientUnits=objectBoundingBox. The radial gradient should + travel from a center of 20%, 20% of the rectangle with a radius of 50%. +

+

+ The last rectangle uses gradientUnits=userSpaceOnUse. The rectangle element is given it's + own transformation and the gradient is assumed to be in this user space. + The gradient should appear in the center of the rectangle as a radial gradient from yellow (center) to blue (edge). +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendering of the three rectangles matches those + in the reference image. Specifically:

+
    +
  • The upper rectangle is filled with an elliptical radial gradient + with blue at the center and lime at its edges.
  • +
  • The middle rectangle is also filled with an elliptical radial + gradient with blue inside and lime outside, but with the center + point of the gradient in the top-left quadrant of the rectangle.
  • +
  • The bottom rectangle is filled with a circular radial gradient + with yellow at the center and blue at its edges. Since it is circular, + most of the rectangle is filled with plain blue.
  • +
+
+ + $RCSfile: pservers-grad-12-b.svg,v $ + + + + + + + + + Testing gradientUnits attribute + + + + + + + + + Radial gradient with default attributes (from blue to yellow) + Gradient is blue at the object center and lime at the object edges + + + + + + + + + gradientUnits=objectBoundingBox + cx=.2, cy=.2, r=.5, fx=.2 fy=.2 + + + + + + + + + gradientUnits=userSpaceOnUse + Gradient is yellow to blue radial gradient from center to horizontal bounds + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-13-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-13-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..02d67691e9ccffe5720d660bf6ca764720035fc2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-13-b.svg @@ -0,0 +1,171 @@ + + + + + + + + + + + + +

+ The purpose of this file is to test several values for focal points of radial gradients. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendered image matches the reference image, except + for any differences in font choice due to CSS2.

+
+ + $RCSfile: pservers-grad-13-b.svg,v $ + + + + + + + + + Radial gradient focal point + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-14-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-14-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..63045cfa6d2e28d6fbef99292a7a33a8e205b9d5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-14-b.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + +

+ The intent of this file is to test the 4 allowed spread methods for linear and radial gradients. + The 4 values (pad, reflect, repeat and default) are available for both types of gradients. + On the left side are the linear gradient results, and on the right, the radial results. + The UA should render a result equivalent to the reference image. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the rendered image matches the reference image, except + for any differences in font choice due to CSS2.

+
+ + $RCSfile: pservers-grad-14-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gradient 'spreadMethod' values + + + spreadMethod="pad" + + + spreadMethod="reflect" + + + spreadMethod="repeat" + + + spreadMethod="default" + + + + spreadMethod="pad" + + + spreadMethod="reflect" + + + spreadMethod="repeat" + + + spreadMethod="default" + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-15-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-15-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..84ecd8f256b26442c2a4cf4ba248c56136c8bbb1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-15-b.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + +

+ Test linear and radial gradient defaults. Includes + testing defaults for linear grad x1,y1,y2 = 0%, x2 = 100%. + and testing defaults for radial grad cx,cy,r = 50%, fx,fy = cx,cy. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The top rectangle must be blue at the lefthand side and fuchsia at the right + hand side, fading smoothly accross. The lower rectangle must be fuchsia at + the edges with a black centre to the radial gradient at the centre of the + rectangle, and the gradient occupying the whole rectangle. +

+
+ + $RCSfile: pservers-grad-15-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-16-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-16-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1f62ca83890fe27cafe964741906158c17a7b067 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-16-b.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+ Test gradient stop rules. Including: + No stops, like fill = none. + One stop, like fill = black. + If a stop less than all previous stops, it is set equal to the largest stop. + If two stops are equal the last stop controls the color at the overlap point. +

+ + +

+ [[ + Describe how to use the here. The instructions should specify any + steps requied to run the test or any manual operation that need + to be performed to run the test. + ]] +

+
+ +

+ The top rectangle must have a pink outline and no fill. The middle rectangle must have a + solid black fill. The lower rectangle must have a yellow to pink to green + linear gradient on the left-hand half and a solid blue fill for the right hand half. +

+
+ + $RCSfile: pservers-grad-16-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-17-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-17-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..2095289358d313c6036a25af3586d557e4fe1ab7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-17-b.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + +

+ This test has a gradient with gradientUnits='objectBoundingBox' which is a fade from black to white. + The gradient is used for the stroke of a line. Vertical and horizontal lines don't have a boundingbox, + since they are one-dimensional, even though the + stroke-width makes it look like they should have a boundingbox with non-zero width and height. + See the coordinate chapter, last paragraph of 7.11. +

+ + +

+ [[ + Describe how to use the here. The instructions should specify any + steps requied to run the test or any manual operation that need + to be performed to run the test. + ]] +

+
+ +

+ The left rectangle has four 'line' elements rotated in different ways. The stroke for the lines have a green solid stroke fallback which + should be used if the gradient should be ignored. For this sub-test to pass there must be three lines with solid green stroke, and one line + (from bottom left to top right) with a gradient stroke, visible in the rectangle. +

+

+ The right rectangle is the same as the left rectangle except that the stroke paintservers don't have a fallback specified. + For this sub-test to pass only the line from bottom left to top right must be visible in the rectangle, and it must have a gradient stroke. +

+
+ + $RCSfile: pservers-grad-17-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + With fallback + + + + + + + + + + Without fallback + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-18-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-18-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..3bb4411c0220e6b4e0d76f7b9f42eea8192f4209 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-18-b.svg @@ -0,0 +1,114 @@ + + + + + + + + + + + + +

+ This test shows rectangles filled with gradient. + Several gradients are defined, with two stops: +

+ + +

+ For the top-left rectangle's gradient: + The first stop defines a fully-opaque green color. + The second stop explicitly inherits (i.e. using the 'inherit' keyword) its stop-color. +

+

+ For the top-right rectangle's gradient: + The first stop defines a fully-opaque green color. + The second stop defines a green stop-color but explicitly inherits (i.e. using the 'inherit' keyword) the stop-opacity. +

+

+ For the bottom-left rectangle's gradient: + The first stop defines a fully-opaque green color. + The second stop does not specify the stop-color and the stop-opacity. + Since both properties are not inherited, the initial value should be used. +

+

+ For the bottom-right rectangle's gradient: + The first stop defines a fully-opaque green color. + The second stop specifies the stop-color using the 'currentColor' keyword. +

+
+ +

+ The result should be: +

+

+ The top-left rectangle is filled with a gradient from green to pink since + the stop-color is inherited from the location of the gradient definition. +

+

+ The top-right rectangle filled in green with a gradient opacity. +

+

+ The lower-left rectangle filled with a gradient going from fully-opaque green to fully-opaque black. +

+

+ The lower-right rectangle filled with a gradient going from fully-opaque green to fully-opaque yellow. +

+
+ + $RCSfile: pservers-grad-18-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-20-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-20-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..e1812a12c8d2813b9bda9aaca0ea91b5482ca25f --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-20-b.svg @@ -0,0 +1,92 @@ + + + + + + + + + + +

+ This test has a gradient with gradientUnits='objectBoundingBox' which is a fade from black to white. + The gradient is used for the stroke of a line. Vertical and horizontal lines don't have a boundingbox, since they are one-dimensional, even though the + stroke-width makes it look like they should have a boundingbox with non-zero width and height. + See the coordinate chapter, last paragraph of 7.11. +

+ + +

+ The left rectangle has four 'line' elements rotated in different ways. The stroke for the lines have a green solid stroke fallback which + should be used if the gradient should be ignored. + + The right rectangle is the same as the left rectangle except that the stroke paintservers don't have a fallback specified. +

+
+ +

+ The test is passed if +

+
    +
  • + there are three lines with solid green stroke, and one line + (from bottom left to top right) with a gradient stroke, visible in the left rectangle. +
  • +
  • there is a line from bottom left to top right with a gradient stroke, visible in the right rectangle.
  • +
+
+ + $RCSfile: pservers-grad-20-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + With fallback + + + + + + + + + + Without fallback + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-21-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-21-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..8024d520b2718466c31bcc823c27135970f8a82f --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-21-b.svg @@ -0,0 +1,146 @@ + + + + + + + + + + +

+ Test the inheritance of radial gradient attributes. The test has six ellipses with blue stroke, each filled + with two gradients. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • the gradient fills don't extend outside the blue ellipses
  • +
  • the gradient fills in the left column exactly match the corresponding reference gradient fills in the right column
  • +
+
+ + $RCSfile: pservers-grad-21-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reference + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-22-b.svg b/Tests/W3CTestSuite/svg/pservers-grad-22-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b4289b60630403fd9812963867e55346483fa3e7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-22-b.svg @@ -0,0 +1,97 @@ + + + + + + + + + + +

+ Tests that transforms affect the rendering of a gradient. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if each of the two gradient-filled rectangles + towards the top of the test slide is identical to the one below it. +

+
+ + $RCSfile: pservers-grad-22-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-23-f.svg b/Tests/W3CTestSuite/svg/pservers-grad-23-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3029214d7bcc531fdf307f5bbf49a609d2b1a250 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-23-f.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+ +

+

+ +

+ + +

+ Run the test. No interaction required +

+

+ +

+
+ +

+ +

+
+ + $RCSfile: pservers-grad-23-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/pservers-grad-24-f.svg b/Tests/W3CTestSuite/svg/pservers-grad-24-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..2aa02986a3bfde104299b2f546b9b78e862f9bcc --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-24-f.svg @@ -0,0 +1,68 @@ + + + + + + + + + + +

+ Test that the 'linearGradient' and 'radialGradient' elements are neither rendered directly nor via the 'use' element. +

+

+ The test defines 'linearGradient' and 'radialGradient' elements with a red 'stop' and references them from a 'use' element. 'linearGradient' + and 'radialGradient' elements with a red 'stop' are also specified outside of a 'defs' tag as if they were regular graphical elements. +

+ + +

Run the test. No interaction required.

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: pservers-grad-24-f.svg,v $ + + + + + + + + + + + + + + + + + There should be no red. + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-grad-stops-01-f.svg b/Tests/W3CTestSuite/svg/pservers-grad-stops-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..d7d1581350accf6b689f9984cbdda019b2339c73 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-grad-stops-01-f.svg @@ -0,0 +1,70 @@ + + + + + + + + + + +

+ Test that gradient offset values less than zero are rounded up to zero and values more than one are rounded down to one. +

+

+ The test defines four gradients, each with a single stop where the 'stop-color' is set to 'blue'. + The four gradients have 'offset' set to '-1', '-1%', '101%' and '2'. Four rectangles reference + the gradients. All of these should render as if they have plain blue fills. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passed if there are four blue boxes on the page. +

+
+ + $RCSfile: pservers-grad-stops-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-01-b.svg b/Tests/W3CTestSuite/svg/pservers-pattern-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..2081855a4e5e2801678a171ff964f32d1fec299e --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-01-b.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + +

+ Test that the viewer has basic capability to handle patterns + on fills and stroke of objects and text. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ From top-down the appearance of objects is as follows. +

+

+ The top rectangle should be filled with a pattern composed of a green + rectangle on top of yellow rectangle. A default stroke has been applied to the original + rectangle to see the boundary of the rectangle. +

+

+ The next rectangle has no fill, but has a thick stroke on which the pattern is + applied. The pattern consists of 4 colored rectangles. +

+

+ The next item is a text with a pattern on the fill. The pattern appears as + alternating rows of orange and green. +

+

+ The last item is a text with a 2 user unit stroke on which a pattern is applied. + The pattern appears as alternating columns of maroon and blue. +

+
+ + $RCSfile: pservers-pattern-01-b.svg,v $ + + + + + + + + + + + + + + + + + Pattern created using yellow and green rectangles applied to fill of rectangle + + + + + + + + + + + Pattern of 4 rectangles applied to a stroke of a rectangle. + + + + + + + + Pattern on fill + Pattern consists of orange and green rows + + + + + + + + Pattern on stroke + Pattern consists of maroon and blue columns + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-02-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..d2e8655ac2198f915704bdae90f5c21e29d0016e --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-02-f.svg @@ -0,0 +1,61 @@ + + + + + + + + + + +

+ Test that the 'patternTransform' attribute has an effect on the 'pattern' element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the testframe is filled with a blue and white + diamond pattern. +

+
+ + $RCSfile: pservers-pattern-02-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-03-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..dbf9f4796c38709e4c4b462ce142b95e343c7cdc --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-03-f.svg @@ -0,0 +1,91 @@ + + + + + + + + + + +

+ Test that empty patterns are not rendered, and that the fallback color is used instead. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are 8 green rectangles visible, and no red. +

+
+ + $RCSfile: pservers-pattern-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-04-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e24dd33d3beb3ae23a9eca3847b051a1bbc91652 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-04-f.svg @@ -0,0 +1,70 @@ + + + + + + + + + + +

+ Inherited attributes from a referenced 'pattern' are not applied if they are already defined on the referencing 'pattern' element. +

+

+ Define a pattern 'pattern1' with circles that have red fill. Inherit 'pattern1' into 'pattern2' and add circles at different 'y' + attribute and with 'fill' set to 'lime' on 'pattern2'. Reference 'pattern1' from a square using 'fill' attribute. Reference 'pattern2' + from a different square using 'fill' attribute. Position the second square directly over the first square. Verify that there is green visible. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are four green circles visible on the page, and no red. +

+
+ + $RCSfile: pservers-pattern-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-05-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..4fe22ab11ea403580fe14c2f940afb4a1acda089 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-05-f.svg @@ -0,0 +1,64 @@ + + + + + + + + + + +

+ Test that a 'pattern' element can inherit attributes through multiple levels of + 'xlink:href' referencing. +

+

+ The test defines a pattern 'pattern1' with some attributes that scale the contents. The attributes on + 'pattern1' are inherited into 'pattern2' and then inherited from 'pattern2' + into 'pattern3'. 'pattern3' has a green circle as its graphical content. + A 'rect' uses 'pattern3' as its fill, if the attributes are correctly inherited into + 'pattern3', then the green circle will occlude a red circle in the same position. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passed if there is no red visible on the page. +

+
+ + $RCSfile: pservers-pattern-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-06-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-06-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..721988449c5c634c7ef1942064368e908fdc76ab --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-06-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ +

+ + +

+ +

+
+ +

+ +

+
+ + $RCSfile: pservers-pattern-06-f.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-07-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-07-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..8701df130a4342c6582ef430d9f733d2dc842161 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-07-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Test that an invalid xlink:href on a 'pattern' element has no effect on the pattern. + The pattern dimensions and coordinate-system are defined completely on the pattern that has the invalid xlink:href, + to test that they're not overridden by the non-existant pattern that is referenced. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are four green circles visible on the page. +

+
+ + $RCSfile: pservers-pattern-07-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-08-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-08-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e15cb8458f93eb237fda227ff0c32c2bac250b4d --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-08-f.svg @@ -0,0 +1,66 @@ + + + + + + + + + + +

+ Test that an invalid xlink:href on a 'pattern' element has no effect on the pattern. + This test specifies only 'width' and 'height' on the pattern that is tested in order to catch + incorrectly overridden values from a non-existant pattern. The result is tested + with a reference pattern using slightly different syntax. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are four green circles visible on the page, and no red. +

+
+ + $RCSfile: pservers-pattern-08-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/pservers-pattern-09-f.svg b/Tests/W3CTestSuite/svg/pservers-pattern-09-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..4d0ec1ae10e38f8f58bcdb9838739ec0be028875 --- /dev/null +++ b/Tests/W3CTestSuite/svg/pservers-pattern-09-f.svg @@ -0,0 +1,70 @@ + + + + + + + + + + +

+ Test that an invalid xlink:href on a 'pattern' element has no effect on the pattern, and that the + pattern isn't rendered since the default 'width' and 'height' is 0. + A subtest that explicitly specifies 'width' and 'height' as 0 is added as a reference. + Both of these cases should result in the fallback color being used. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is a green rectangle visible on the page, and no red. +

+
+ + $RCSfile: pservers-pattern-09-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/render-elems-01-t.svg b/Tests/W3CTestSuite/svg/render-elems-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ec391f88e3190198f39ded69142c0ffccdb46851 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-elems-01-t.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ Verifies that shapes can be filled. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ There is one pair of octagons. These are filled. +

+
+ + $RCSfile: render-elems-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + Shape fill + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-elems-02-t.svg b/Tests/W3CTestSuite/svg/render-elems-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..30646c64b22a21a8048c1bb71e35c6779cebeab0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-elems-02-t.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ Verifies that shapes can be stroked. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ There is one pair of octagons. These are stroked. +

+
+ + $RCSfile: render-elems-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + Shape stroke + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-elems-03-t.svg b/Tests/W3CTestSuite/svg/render-elems-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b5a6b1a9ffb7399c080d1a32340051879b57e641 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-elems-03-t.svg @@ -0,0 +1,63 @@ +"> +]> + + + + + + + + + + + + +

+ Verifies that shapes can be filled, stroked and the order of filling and stroking. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ There is one pair of octagons. These are filled plus stroked. +

+
+ + $RCSfile: render-elems-03-t.svg,v $ + + + + + + + + + + + + + &shape; + &shape; + Shape fill and stroke + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-elems-06-t.svg b/Tests/W3CTestSuite/svg/render-elems-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ef2002b05ee4da56fb2c44a835edab2813e90dfe --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-elems-06-t.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ Verifies that text can be filled. +

+ + +

+Run the test. No interaction required. +

+
+ +

+The + test shows two 'G' characters that are filled + (green to the left, and with navy to the right) and not stroked. +

+
+ + $RCSfile: render-elems-06-t.svg,v $ + + + + + + + + + + + + + + + + + + + + Text fill + + G + G + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-elems-07-t.svg b/Tests/W3CTestSuite/svg/render-elems-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..427e626ea1e4ea9f2188c0fa069d2c0450815127 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-elems-07-t.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Verifies that text can be stroked. The + +

+ + +

+Run the test. No interaction required. +

+
+ +

+ The test shows two characters that are stroked and not filled. +

+
+ + $RCSfile: render-elems-07-t.svg,v $ + + + + + + + + + + + + + + + + + + + + Text stroke + + G + G + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-elems-08-t.svg b/Tests/W3CTestSuite/svg/render-elems-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..fb946e7f9b13a2fea39089d5301232bdeefcfc53 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-elems-08-t.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + +

+ Verifies that text can be stroked. + +

+ + +

+Run the test. No interaction required. +

+
+ +

+ The test shows two 'G' characters that are both stroked and filled. +

+
+ + $RCSfile: render-elems-08-t.svg,v $ + + + + + + + + + + + + + + + + + + + + Text fill and stroke + + G + G + + + + $Revision: 1.10 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-groups-01-b.svg b/Tests/W3CTestSuite/svg/render-groups-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..035f30c221934183e64283bfa7301b071b0372a2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-groups-01-b.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + +

+ Verifies implicit rendering order (paragraph 3.3) and grouping mechanism (paragraphs 3.4). + It also validates basic Shape, Image and text rendering. +

+ + +

+Run the test. No interaction required. +

+

+ The rendered image should match the reference image exactly. +

+
+ +

+ This test renders 3 elements: a text string "SVG", then + a shape, then an image. Because of their definition order and coordinates, the image + should be on top of the rectangle and the rectangle on top of the text. The + test validates that groups are conceptually rendered offscreen before being + rendered on the canvas. This is done by grouping the same overlapping objects and + rendering the group at half opacity. The background pattern (vertical stripes) should + show through all the group elements. However, none of the "SVG" text string should show through the + rectangle and none of the rectangle should show through the image. +

+
+ + $RCSfile: render-groups-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVG + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/render-groups-03-t.svg b/Tests/W3CTestSuite/svg/render-groups-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..92f5da0ca6bce6e530655f1c1e9a5cc8478a6d36 --- /dev/null +++ b/Tests/W3CTestSuite/svg/render-groups-03-t.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + +

+ Verifies implicit rendering order (paragraph 3.3) and grouping mechanism (paragraphs 3.4). + It also validates basic Shape, Image and text rendering. +

+ + +

+Run the test. No interaction required. +

+

+ The rendered image should match the reference image exactly. +

+
+ +

+ This test renders 3 elements: a text string "SVG", then + a shape, then an image. Because of their definition order and coordinates, the image + should be on top of the rectangle and the rectangle on top of the text. None + of the "SVG" text string should show through the + rectangle and none of the rectangle should show through the image. +

+
+ + $RCSfile: render-groups-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVG + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/script-handle-01-b.svg b/Tests/W3CTestSuite/svg/script-handle-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b99bb864f2109a802bb01a8e7f64f3fca0426ed0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/script-handle-01-b.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + +

+ Tests basic mouse event handler and DOM manipulation through + ECMAScript binding. +

+

+ The test uses ECMAScript and initially displays a target with + a message asking the user to click on the target. Once the user + has done so, and if both event handling and DOM manipulation are + supported, then the target and initial text are hidden and a text + message indicating that the test was successful is displayed. +

+ + +

Load the test. Click on the blue square.

+
+ +

The test passes if, after clicking on the blue square, it and + the instruction text "Click on the blue square" is removed + and replaced with green text stating "Scripting Test Passed!".

+
+ + $RCSfile: script-handle-01-b.svg,v $ + + + + + + + + + + + Event and DOM Access Test + + + + + + + + Click on the blue square + + + + Scripting Test Passed! + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/script-handle-02-b.svg b/Tests/W3CTestSuite/svg/script-handle-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b26e98ad0410ee65fa519cbf16e037ddd7a13aba --- /dev/null +++ b/Tests/W3CTestSuite/svg/script-handle-02-b.svg @@ -0,0 +1,124 @@ + + + + + + + + + + + + +

+ Resolved to unapproved this test because elements being + focusable and activatable is underdefined in the spec. ACTION-2977 +

+

+ Tests basic mouse event handlers. +

+

+ The test shows a target that can be used to generate the various + kinds of events supported in SVG. Below the + target, the list of events is shown with red markers next to each. +

+

+ If the test passes, all the markers should have turned to green + after the events have been triggered on the target. If any event + has not triggered, its marker will remain red. +

+ + +

Load the test. Focus the gray circle, activate it, then move the focus away from the circle.

+
+ +

The test passes if, after following the operator script, the three rectangles are green.

+
+ + $RCSfile: script-handle-02-b.svg,v $ + + + + + + + + + + + + Mouse event handlers test. + + + + + + + + Target + Use the target to trigger events + + + + + + + + + + + + + + + onfocusin + onfocusout + onactivate + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/script-handle-03-b.svg b/Tests/W3CTestSuite/svg/script-handle-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..f2280fc0c9c27edd3a57e1351f16ae7bb862ce04 --- /dev/null +++ b/Tests/W3CTestSuite/svg/script-handle-03-b.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + +

+ Tests basic mouse event handlers. +

+

+ The test shows a target that can be used to generate the various + kinds of mouse events supported in SVG. Below the + target, the list of events is shown with red markers next to each. +

+

+ If the test passes, all the markers should have turned to green + after the events have been triggered on the target. If any event + has not triggered, its marker will remain red. +

+ + +

Load the test. Click on the gray circle.

+
+ +

The test passes if, after clicking the gray circle, the three rectangles are green.

+
+ + $RCSfile: script-handle-03-b.svg,v $ + + + + + + + + + + + + Mouse event handlers test. + + + + + + + + Target + Use the target to trigger events + + + + + + + + + + + + + + + onmousedown + onmouseup + onclick + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/script-handle-04-b.svg b/Tests/W3CTestSuite/svg/script-handle-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..2859a4dc6e1224dbf14cf3474882ed6e1ecb7fc0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/script-handle-04-b.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + +

+ Tests basic mouse event handlers. +

+

+ The test shows a target that can be used to generate the various + kinds of mouse events supported in SVG. Below the + target, the list of events is shown with red markers next to each. +

+

+ If the test passes, all the markers should have turned to green + after the events have been triggered on the target. If any event + has not triggered, its marker will remain red. +

+ + +

Load the test. Move the pointing device over the gray circle, and then away from it.

+
+ +

The test passes if, after moving the mouse away from the gray circle, all three rectangles are green.

+
+ + $RCSfile: script-handle-04-b.svg,v $ + + + + + + + + + + + + Mouse event handlers test. + + + + + + + + Target + Use the target to trigger events + + + + + + + + + + + + + + + onmouseover + onmousemove + onmouseout + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/script-specify-01-f.svg b/Tests/W3CTestSuite/svg/script-specify-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..a4ea296718aacc6d9d158f72be74c906fa6231f0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/script-specify-01-f.svg @@ -0,0 +1,67 @@ + + + + + + + + + + +

+ Tests the assertion that "The ‘contentScriptType’ attribute on the ‘svg’ element specifies the default scripting language" by setting it to an unknown value and checking the script is not executed. + The test uses an unknown (bogus) script language, which looks exactly like ECMAScript. +

+ + +

Load the test.

+
+ +

+ The test is passed if string "Good, script didn't run" is displayed. + It fails if the string "No! This is not ECMAScript!" is displayed. +

+
+ + $RCSfile: script-specify-01-f.svg,v $ + + + + + + + + + + + contentScriptType Test + + + + + Good, script didn't run. + No! This is not ECMAScript! + + + + $Revision: 1.6 $ + + + + + + DRAFT + + + diff --git a/Tests/W3CTestSuite/svg/script-specify-02-f.svg b/Tests/W3CTestSuite/svg/script-specify-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f575b734506cd918517cca2bfb7127356bec45e1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/script-specify-02-f.svg @@ -0,0 +1,69 @@ + + + + + + + + + + +

+ Tests the assertion that "It is also possible to specify the scripting language for each individual ‘script’ element by specifying a ‘type’ on the ‘script’ element." by setting it to an unknown value and checking the script is not executed. + The test uses an unknown (bogus) script language, which looks exactly like ECMAScript. +

+ + +

Load the test.

+
+ +

+ The test is passed if string "Good, script didn't run" is displayed. + It fails if the string "No! This is not ECMAScript!" is displayed. +

+
+ + $RCSfile: script-specify-02-f.svg,v $ + + + + + + + + + + + Test unknown type attribute value on script element + + + + Good, script didn't run. + No! This is not ECMAScript! + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-circle-01-t.svg b/Tests/W3CTestSuite/svg/shapes-circle-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d8aa46bc591afb513c8e5701b6717ed229f2df3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-circle-01-t.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + +

+Tests the circle element +

+ + +

+Run the test. No interaction required. +

+
+ +

+ Six circles are displayed, with position, size, fill and stroke matching the reference image +

+
+ + $RCSfile: shapes-circle-01-t.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-circle-02-t.svg b/Tests/W3CTestSuite/svg/shapes-circle-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f058462f80fd9e3863050eabad4534501a796db9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-circle-02-t.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ Default attributes test with circle. +

+ + +

+ Run the test. No interaction required +

+
+ +

+ The test is passed if a group of four circles is displayed, arranged as shown in the reference image. +

+
+ + $RCSfile: shapes-circle-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-ellipse-01-t.svg b/Tests/W3CTestSuite/svg/shapes-ellipse-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9466f06532e73cb3f6b46fdabfdc79b3baf9636d --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-ellipse-01-t.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Test the ellipse element. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ Seven ellipses are displayed, with position, size, fill and stroke matching the reference image +

+
+ + $RCSfile: shapes-ellipse-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-ellipse-02-t.svg b/Tests/W3CTestSuite/svg/shapes-ellipse-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..dff0bf03df416bdf6f1e79b1c9f2d68a7eea81cf --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-ellipse-02-t.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ Defaults test with ellipse. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if one blue ellipse is shown completely within the test slide, + and a quarter ellipse is shown in the top-left corner of the test slide.

+
+ + $RCSfile: shapes-ellipse-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-ellipse-03-f.svg b/Tests/W3CTestSuite/svg/shapes-ellipse-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..21e7aec34e83e1321413edafea4b2444e1bb0b90 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-ellipse-03-f.svg @@ -0,0 +1,72 @@ + + + + + + + + + + +

+ The 'ellipse' element defines an ellipse which is axis-aligned with the current user coordinate system when it is not the initial user coordinate system. +

+

+ The test shows an 'ellipse' element originating at (0,0) of the current user coordinate system, which has been altered via 'transform' from + the initial user coordinate system. Two perpendicular lines which also originate at (0,0) and advance along the x and y axes of + the current user coordinate system are shown. These lines overlap the top and left edges of the ellipse and verifies that the ellipse is + thus axis-aligned with its current user coordinate system. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if both ellipses are divided into four equal parts by two sets of crossing lines, and the rightmost ellipse and crossing lines are rotated together. +

+
+ + $RCSfile: shapes-ellipse-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-grammar-01-f.svg b/Tests/W3CTestSuite/svg/shapes-grammar-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..50183a9e77b615ef0ef23081ac8229051f54e5c3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-grammar-01-f.svg @@ -0,0 +1,71 @@ + + + + + + + + + + +

+Check that negative second coordinate in a coordinate pair does not need separating wsp-comma. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+The test is passed if each shape seems to have a double stroke, dark green and light green. +

+
+ + $RCSfile: shapes-grammar-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-intro-01-t.svg b/Tests/W3CTestSuite/svg/shapes-intro-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0060bf71f2027b4c9ca6405a95a60c6a02738f59 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-intro-01-t.svg @@ -0,0 +1,108 @@ + + + + + + + + + + + + +

+ Tests the degenerate cases of the basic shapes. The shapes are positioned + within the black rectangles. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the 11 rectangles are empty.

+
+ + $RCSfile: shapes-intro-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Stroked + Unstroked + Zero width rect + Zero height rect + Zero radius circle + Zero x radius ellipse + Zero y radius ellipse + Zero length line + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-intro-02-f.svg b/Tests/W3CTestSuite/svg/shapes-intro-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..668ced41318084b2327d7230e4361b4ac3540821 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-intro-02-f.svg @@ -0,0 +1,89 @@ + + + + + + + + + + +

+ Test that basic shape elements are equivalent to a 'path' element that constructs the same shape. +

+

+ For each basic shape, a 'path' reference element that is red is created. + A basic shape is then placed on top of the 'path' element. + For each basic shape there's also a reverse test that uses the shape as a reference for the 'path' element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: shapes-intro-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-line-01-t.svg b/Tests/W3CTestSuite/svg/shapes-line-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ad6338be317abe9ff723d92d117f674cc45bec91 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-line-01-t.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+Tests the line element. +

+ + +

+Run the test. No interaction required. +

+
+ +

+The test is passed if five diagonal lines are displayed on the top row. On the bottom row, a square wave pattern is displayed. The position, size, fill and stroke of the lines matches the reference image. +

+
+ + $RCSfile: shapes-line-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-line-02-f.svg b/Tests/W3CTestSuite/svg/shapes-line-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f6f2bbec5a16c83e8675ad99306ec605271409eb --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-line-02-f.svg @@ -0,0 +1,57 @@ + + + + + + + + + + +

+ The 'fill' attribute has no effect on the 'line' element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: shapes-line-02-f.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/shapes-polygon-01-t.svg b/Tests/W3CTestSuite/svg/shapes-polygon-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d4e76e316770b7500bb07efb78bf9fcdb4a4296 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-polygon-01-t.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ This test draws six different polygons excercising portions of the path attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The six polygons drawn should match the reference image. +

+
+ + $RCSfile: shapes-polygon-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-polygon-02-t.svg b/Tests/W3CTestSuite/svg/shapes-polygon-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d0e4e7ad89538b4ea0c8b764c2ebc0bfe0958942 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-polygon-02-t.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+Checks that polygons and the equivalent paths are indeed equivalent. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+The test is passed if each shape seems to have a double stroke, dark green and light green. +

+
+ + $RCSfile: shapes-polygon-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-polygon-03-t.svg b/Tests/W3CTestSuite/svg/shapes-polygon-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..76c1e4038453a4201668eda7c06fdb83145d207e --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-polygon-03-t.svg @@ -0,0 +1,58 @@ + + + + + + + + + + +

+ Test that 'polyline' and 'polygon' elements with an odd number of coordinates render up to the invalid coordinate. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if four green triangles are visible on the page, and no red. +

+
+ + $RCSfile: shapes-polygon-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-polyline-01-t.svg b/Tests/W3CTestSuite/svg/shapes-polyline-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..952f1e513b2f3110185ca6f57a4018108d425809 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-polyline-01-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+Tests the polyline element. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ The test is passed if polylines are displayed whose position, size, fill and stroke matches the reference image. +

+
+ + $RCSfile: shapes-polyline-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-polyline-02-t.svg b/Tests/W3CTestSuite/svg/shapes-polyline-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..7cc146ee7f3b47a75805251d85943b6cae9a515f --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-polyline-02-t.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

+Checks that polylines and the equivalent paths are indeed equivalent. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+The test is passed if each shape seems to have a double stroke, dark green and light green. +

+
+ + $RCSfile: shapes-polyline-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-rect-01-t.svg b/Tests/W3CTestSuite/svg/shapes-rect-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..219a4764fcaae5868829ff0fc0f737108b58f5e9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-01-t.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + +

+ This is a simple test of the rect element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if all four sets of two rectangles are drawn and + they match the reference image. +

+
+ + $RCSfile: shapes-rect-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-rect-02-t.svg b/Tests/W3CTestSuite/svg/shapes-rect-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6c487d5f299548c6d0426b18817787d8adb24764 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-02-t.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Test x, y, width, height, rx and ry default/lacuna values on a rect element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ There should be four green rectangles visible, two of them should have rounded corners. +

+
+ + $RCSfile: shapes-rect-02-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-rect-03-t.svg b/Tests/W3CTestSuite/svg/shapes-rect-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..4e51412ccb74568ae02f9595fb051c70b25ba52d --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-03-t.svg @@ -0,0 +1,139 @@ + + + + + + + + + + +

+ Tests rx and ry clamping and aliasing. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • There is no red visible
  • +
  • There is no green outside the black borders of each rectangle
  • +
+
+ + $RCSfile: shapes-rect-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/shapes-rect-04-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..fdd83059501d753661aa4955fe5e5920af60b2c1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-04-f.svg @@ -0,0 +1,66 @@ + + + + + + + + + + +

+ 'Rect' elements with unspecified 'rx' and 'ry' attributes will use the specified 'rx' and 'ry' value if the other one is specified; if neither is specified, the 'rect' has square edges. +

+

+ Creates one 'rect' element with an unspecified 'ry'. Places it over a red 'rect' element with both 'rx' and 'ry' specified. Repeat with unspecified 'rx'. Finally creates a 'rect' element that has neither 'rx' or + 'ry' specified. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if the two shapes on top are rounded rectangles, the shape below has square corners, and no red is visible on the page. +

+
+ + $RCSfile: shapes-rect-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/shapes-rect-05-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..85e82a22809bc920c5286aac54973176c6d0c71c --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-05-f.svg @@ -0,0 +1,74 @@ + + + + + + + + + + +

+ The 'rect' element defines a rect which is axis-aligned with the default user coordinate system when it is not the initial user coordinate system. +

+

+ Draws a 'rect' element originating at (0,0) of the current user coordinate system, which has been altered via 'transform' from the + initial user coordinate system. Draws perpendicular lines which also originate at (0,0) and advance along the x and y axes of the + current user coordinate system. Verifies that the lines overlap the top and left edges of the rectangle and that the rectangle is + thus axis-aligned with its current user coordinate system. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if the top and left of the rectangle is black while the right and bottom are orange, and the right half of the diamond is orange and the left half is black. +

+
+ + $RCSfile: shapes-rect-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/shapes-rect-06-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-06-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0f9d4ea53b90339658a6616af9d46fd4ec56c009 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-06-f.svg @@ -0,0 +1,70 @@ + + + + + + + + + + +

+ When 'rect' attributes 'rx' and 'ry' have a value greater than half of the width/height of the rectangle, they are treated as half the width/height of the rectangle. +

+

+ The test creates one 'rect' element with 'rx' greater than 1/2 the 'rect' width. Underneath that element, it creates a red 'rect' element with + 'rx' set to 1/2 the width. Repeats with 'ry' attribute. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: shapes-rect-06-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/shapes-rect-07-f.svg b/Tests/W3CTestSuite/svg/shapes-rect-07-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..7dbe04644c12abd12dfac7e4422e38525e09c838 --- /dev/null +++ b/Tests/W3CTestSuite/svg/shapes-rect-07-f.svg @@ -0,0 +1,61 @@ + + + + + + + + + + +

+ Checks that unspecified 'ry' and 'rx' attributes are copied from each other before their values are clamped. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: shapes-rect-07-f.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/struct-cond-01-t.svg b/Tests/W3CTestSuite/svg/struct-cond-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..5238f9fb744534844c5f6bc06403d9e83adedd10 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-01-t.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + +

+ This test evaluates a switch statement. +

+

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Arial) and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The result should be a green rectangle in the lower left quarter of the output window. +

+
+ + $RCSfile: struct-cond-01-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-cond-02-t.svg b/Tests/W3CTestSuite/svg/struct-cond-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6883e0a85ee793d8c4a8e2fdcf0f2d7dc34efa0e --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-02-t.svg @@ -0,0 +1,585 @@ + + + + + + + + + + + + +

+ This tests ability to use the 'systemLanguage' as a test attribute within a + switch element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ To pass, either the name (in English) of the current system language, or + the names of the three languages (English, French and Japanese) of W3C + must appear. The second case will occur if either the user language is + not one of the (60 or so) languages present in the test, or if there is + no user language information available. +

+

+ It is an error to display no output; the last child of switch has no test, so + it will always be taken unless a more suitable child has already evaluated to true. +

+

+ In addition, the string "Why don't they just speak <language>" should appear + in the center of the graphic, translated into that language. It is not an error for + some or all of this string to display as 'missing character' glyphs, if no + suitable font is available - however, this is unlikely if the language is indeed + the users primary language. (It can easily occur during testing, however). +

+
+ + $RCSfile: struct-cond-02-t.svg,v $ + + + + + + + + + + + + + + Waarom kan hulle nie net doodgewoon Afrikaans praat nie? + Afrikaans + + + ለáˆáŠ•á‹µáŠá‹ አማርኛ የማይናገሩት᧠+ Amharic + + + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + Arabic (SA) + + + Защо те проÑто не могат да говорÑÑ‚ българÑки ? + Bulgarian + + + ওরা েকন বাংলা বলেত পাের না ? + Bengali + + + + Per què no poden simplement parlar en català ? + Catalan + + + ProÄ prostÄ› nemluví Äesky ? + Czech + + + Pam dydyn nhw ddim yn siarad Cymraeg ? + Welsh + + + Hvorfor kan de ikke bare tale dansk ? + Danish + + + + Warum sprechen sie nicht einfach Deutsch ? + German (DE) + + + Μα γιατί δεν μποÏοÏν να μιλήσουν Ελληνικά ; + Greek (modern, GR) + + + Why can't they just speak English ? + English (US) + + + ¿Por qué no pueden simplemente hablar en castellano ? + Spanish (ES) + + + Zergatik ezin dute  Euzkeraz bakarrik hitzegin? + Basque + + + خب، چرا ÙØ§Ø±Ø³Ù‰ صحبت نمى كنند؟ + Farsi + + + Miksi he eivät yksinkertaisesti puhu suomea ? + Finnish + + + + Pourquoi, tout simplement, ne parlent-ils pas en Français ? + French (FR) + + + Carson nach eil iad a'bruidhinn na Gàidhlige ? + Scots Gaelic + + + બદà«àª§àª¾ લોકો ગà«àªœàª°àª¾àª¤à«€ કૅમ નથી બોલતા? + Gujarti (IN) + + + + למה ×”× ×¤×©×•×˜ ×œ× ×ž×“×‘×¨×™× ×¢×‘×¨×™×ª ? + Hebrew (modern) + + + यह लोग हिनà¥à¤¦à¥€ कà¥à¤¯à¥‹à¤‚ नहीं बोल सकते हैं ? + Hindi + + + ZaÅ¡to jednostavno ne govore hrvatski ? + Croatian + + + Miért nem beszélnek egyszerűen magyarul ? + Hungarian + + + + Ô»Õ¶Õ¹Õ¸Ö‚Õž Õ¶Ö€Õ¡Õ¶Ö„ Õ¹Õ¥Õ¶ Õ­Õ¸Õ½Õ¸Ö‚Õ´ Õ€Õ¡ÕµÕ¥Ö€Õ¥Õ¶ + + Armenian + + + Mengapa mereka tidak bisa bicara bahasa Indonesia ? + Indonesian + + + Hvers vegna geta þeir ekki réttlátur tala Ãslenska ? + Icelandic + + + Perchè non possono semplicemente parlare italiano ? + Italian + + + + ᓱᒻᒪᓂᒃᑯአáƒá“„ᒃᑎᑠá‘áƒá“ᓇᔭᙱᓚᑦ + Inuktitut + + + ãªãœã€ã¿ã‚“ãªæ—¥æœ¬èªžã‚’話ã—ã¦ãれãªã„ã®ã‹ï¼Ÿ + Japanese (JP) + + + Kenapa kok ora nganggo  basa Jawa  wae? + Javanese + + + რáƒáƒ¢áƒáƒ› áƒáƒ  ლáƒáƒžáƒáƒ áƒáƒ™áƒáƒ‘ენ ისინი ქáƒáƒ áƒ—ულáƒáƒ“ ? + Georgian + + + Олар неге қазақ Ñ‚iлiнде Ñойлемейдi? + Kazakh + + + ಅವರೠಕನà³à²¨à²¡ ಮಾತನಾಡಬಹà³à²¦à²²à³à²²à²¾? + Kannada + + + ì„¸ê³„ì˜ ëª¨ë“  ì‚¬ëžŒë“¤ì´ í•œêµ­ì–´ 를 ì´í•´í•œë‹¤ë©´ 얼마나 좋ì„까? + Korean + + + Емне үчүн алар кыргызча Ñүйлбйт? + Kirghiz + + + KodÄ—l gi jie nekalba lietuviÅ¡kai ? + Lithuanian + + + Зошто тие едноÑтавно не говорат македонÑки ? + Macedonian + + + लोकांना मराठी का बोलता येत नाही? + Marathi + + + Waarom spreken ze niet gewoon Nederlands ? + Dutch + + + Hvorfor kan de ikke bare snakke norsk ? + Norwegian + + + ସେମାନେ ଉଡିଯା ରେ କହିନà­à¬•ି କହିବେ ନହିà¬? + Oriya + + + Dlaczego oni nie mówiÄ… po polsku ? + Polish + + + + Porque é que eles não falam simplesmente em Português ? + Portugese (PT) + + + Porque é que eles não falam em Português (do Brasil) ? + Portugese (BR) + + + Porque é que eles não falam simplesmente em Português ? + Portugese + + + De ce ei nu vorbesc moldoveneÅŸte ? + Romanian + + + Почему же они не говорÑÑ‚ по-руÑÑки ? + Russian + + + ते किं संसà¥à¤•ृतः माम वदनà¥à¤¤à¤¿ ? + Sanskrit + + + ZaÅ¡to jednostavno ne govore srpski ? + Serbian + + + à¶…à·à¶ºà·’ ඔවුන්ට ඉංගරිස කත෠ෛනබ ? + Sinhalese + + + + Zakaj vendar ne govorijo slovensko ? + Slovenian + + + Pse nuk duan të flasin vetëm shqip ? + Albanian + + + Varför pratar dom inte bara svenska ? + Swedish + + + அவரà¯à®•ள௠à®à®©à¯ தமிழில௠பேசகà¯à®•ூடாத௠? + Tamil + + + + తెలà±à°—ౠలో à°Žà°‚à°¦à±à°•ౠమాటà±à°²à°¾à°¡à°°à±? + + Telugu + + + ÄŒaro onho ba zaboni toÄiki gap namezanand? + Tajik + + + ทำไมเขาถึงไม่พูด ภาษาไทย + Thai + + + Bakit hindi na lang sila magsalita ng Tagalog ? + Tagalog (Filipino) + + + Neden Türkçe konuÅŸamıyorlar? + Turkish + + + Ðишләп олар татарча Ñүләша алмыйлар? + Tatar + + + Чому б їм не розмовлÑти українÑькою ? + Ukranian + + + ﻦﻴﻫ ﻰﺘﻠﻭﺒ ﻦﻴﻬﻨ ﻦﻭﻴﻜ ﻮﺪﺭﺃ بس ﻮﻩ ﻟﻮﮒ؟ + Urdu (IN) + + + ﻦﻴﻫ ﻰﺘﻠﻭﺒ ﻦﻴﻬﻨ ﻦﻭﻴﻜ ﻮﺪﺭﺃ بس ﻮﻩ ﻟﻮﮒ؟ + Urdu (PK) + + + + Nega ular uzbek tilinda gapirmaidilar? + Uzbek + + + TaÌ£i sao hoÌ£ không thể chỉ noÌi tiêÌng Việt ? + Vietnamese + + + פֿ×ַרװ×ָס רעדט מען ניט פּשוט ייִדיש ? + Yiddish + + + 他们为什么ä¸è¯´ä¸­æ–‡ (中国) ? + Chinese (CN) + + + 他們爲什麽ä¸èªªä¸­æ–‡ï¼ˆå°ç£ï¼‰ï¼Ÿ + Chinese (TW) + + + + You have no (matching) language preference set + ãªãœã€ã¿ã‚“ãªæ—¥æœ¬èªžã‚’話ã—ã¦ãれãªã„ã®ã‹ï¼Ÿ + Why can't they just speak English ? + Pourquoi, tout simplement, ne parlent-ils pas en Français ? + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-cond-03-t.svg b/Tests/W3CTestSuite/svg/struct-cond-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..93d54901dec604f641087cd335284c7feedcd8cd --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-03-t.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Tests the <switch> element with requiredFeatures. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ On the bottom half of the test, there is a first switch. + Because SVG Tiny does not support DOM, an SVG Tiny implementation + which does not support other SVG Profiles should show a green + rectangle. If the application supports the DOM, meaning that + it does more than just SVG Tiny, it should show a turquoise rectangle. +

+

+ On the bottom half of the test, there is another switch. + The first child has a requiredFeatures set to + http://www.w3.org/TR/SVG11/feature#BasicText which all + SVG Tiny implementations should support. If the application + does, another green rectangle is displayed. Otherwise, + a red rectangle shows. +

+
+ + $RCSfile: struct-cond-03-t.svg,v $ + + + + + + + + + + + + This viewer does more than SVG Tiny + + + + + + + + + + + + + This is not an SVG Tiny Viewer + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-02-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f3b14d22195e6ed9d74c53075be6c973be247e88 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-overview-02-f.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

+ Test that 'use' instances of elements with failing conditional processing attributes are not rendered. +

+

+ Six blue 'rect' elements are defined. For each conditional processing attribute, a black 'rect' element is defined with that particular conditional + processing attribute set to an arbitrary string that would cause the attribute's requirement test to fail. Each of the black 'rect' elements is + positioned so that it would completely cover the blue 'rect' if it were visible. A corresponding 'use' element is defined for each black 'rect' + and is positioned such that it would cover the remaining three blue 'rect' elements. The six blue 'rect' elements should be visible. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passes if six blue boxes are visible on the page. +

+
+ + $RCSfile: struct-cond-overview-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-03-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..03d76f187319848be567d46f6949b15d15b87c93 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-overview-03-f.svg @@ -0,0 +1,61 @@ + + + + + + + + + + +

+ Test that conditional processing attributes set to an empty string are evaluated as false. +

+

+ Three blue 'rect' elements are in the document. For each of the + conditional processing attributes, a black 'rect' element is + specified with a conditional processing attribute set to an empty string. + The black 'rect' is positioned so that it would completely cover the + blue 'rect' if it were visible. The three blue 'rect' + elements should be visible. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passes if three blue boxes are visible on the page. +

+
+ + $RCSfile: struct-cond-overview-03-f.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-04-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..72da2a331e6dc915ddcf9185bc9726f62b1d410f --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-overview-04-f.svg @@ -0,0 +1,58 @@ + + + + + + + + + + +

+ Test that elements with conditional processing attributes that evaluate to true do not render if their parent contains conditional processing attributes that evaluate to false. +

+

+ The test has a 'g' element with its 'requiredFeatures' attribute set to an arbitrary feature string that would cause the attribute's requirement test to fail. + A red 'rect' element is a child node of the 'g' element. The 'rect' element has the 'requiredFeatures' attribute set to a supported feature string. + 'http://www.w3.org/TR/SVG11/feature#ConditionalProcessing' was chosen as a valid feature string to reduce dependencies on other SVG features. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passed if there is no red visible on the page. +

+
+ + $RCSfile: struct-cond-overview-04-f.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-cond-overview-05-f.svg b/Tests/W3CTestSuite/svg/struct-cond-overview-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..68f026cf6f60bd7587888e3d52b56f96faadcbbb --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-cond-overview-05-f.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + +

+ Elements whose parent elements have failing conditional processing attributes are able to be referenced and rendered by 'use' elements. +

+

+ Define three 'rect' elements that have a 'g' parent with either an invalid 'requiredFeature', 'requiredExtension', or 'systemLanguage'. + Then define three 'use' elements that reference the 'rect' elements. Verify that the 'use' elements render. +

+ + +

+ Run the test. No interaction required +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: struct-cond-overview-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-defs-01-t.svg b/Tests/W3CTestSuite/svg/struct-defs-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d808880192996b355ebb171d43d2a334e432ebf0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-defs-01-t.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ Test to verify that the defs element is used as a container correctly. +

+

+ In this test a fill is created which is solid green. The view should be a solid green rectangle + centered in the viewport 100 pixels from from left,top and right,bottom. Also, in the + defs sections there are rectangle defined, one to paint over the entire canvas with + a red fill and the other to obscure most of the green rectangle. +

+ + +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ +

+ A green rectangle should be visible, and no red. +

+
+ + $RCSfile: struct-defs-01-t.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-01-b.svg b/Tests/W3CTestSuite/svg/struct-dom-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..9ab5bb64f1373aa3c263b6d6d7a457c75789c051 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-01-b.svg @@ -0,0 +1,188 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the SVG DOM API. +

+

+ The test is composed of a top + level svg element with an 'onload' event handler and a rect element. Both + the svg and the rect elements have an identifier. The 'onload' handler + invokes SVG-specific DOM API methods which use these identifiers. +

+

+ First, the handler gets the SVG element owner of the rect element and checks it has + the expected identifier. Then, the handler accesses the coordinates of the rect element + and uses them to build a 'shadow' rectangle under the existing one. Finally, the 'shadow' + rectangle is created using the SVGSVGElement's createSVGRect method. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if:

+
    +
  • The text "This document's root identifier is: svg-root" is shown.
  • +
  • A green rectangle with a black shadow is shown.
  • +
+
+ + $RCSfile: struct-dom-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-02-b.svg b/Tests/W3CTestSuite/svg/struct-dom-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..6ac422b4360abde647bce6e831a85b0bce6a9949 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-02-b.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the hasFeature DOMImplementation method. + The DOMImplementation instance is retrieved from the Document instance. Then, + its hasFeature method is invoked on the various SVG feature strings. +

+

+ The test displays the set of SVG feature strings and, next to them, a text + string that shows whether the feature is supported or not. +

+

+ Note that this test uses the 'onload' event on the root svg element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for the true and + false values which may differ depending on the implementation. +

+

+ Note that the test passes whether or not the feature is supported (i.e., true or + false are valid). The test fails if no value (true or false) appears next to the feature string + value. +

+
+ + $RCSfile: struct-dom-02-b.svg,v $ + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-03-b.svg b/Tests/W3CTestSuite/svg/struct-dom-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..657466d656894882f1d6bb567373086be2ba8ca3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-03-b.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the hasFeature DOMImplementation method. + The DOMImplementation instance is retrieved from the Document instance. Then, + its hasFeature method is invoked on the various SVG feature strings. +

+

+ The test displays the set of SVG feature strings and, next to them, a text + string that shows whether the feature is supported or not. +

+

+ Note that this test uses the 'onload' event on the root svg element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for the true and + false values which may differ depending on the implementation. +

+

+ Note that the test passes whether or not the feature is supported (i.e., true or + false are valid). The test fails if no value (true or false) appears next to the feature string + value. +

+
+ + $RCSfile: struct-dom-03-b.svg,v $ + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-04-b.svg b/Tests/W3CTestSuite/svg/struct-dom-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..afc0efedafe0d15d60c44912a3d07c46112c5a5e --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-04-b.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the hasFeature DOMImplementation method. + The DOMImplementation instance is retrieved from the Document instance. Then, + its hasFeature method is invoked on the various SVG feature strings. +

+

+ The test displays the set of SVG feature strings and, next to them, a text + string that shows whether the feature is supported or not. +

+

+ Note that this test uses the 'onload' event on the root svg element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for the true and + false values which may differ depending on the implementation. +

+

+ Note that the test passes whether or not the feature is supported (i.e., true or + false are valid). The test fails if no value (true or false) appears next to the feature string + value. +

+
+ + $RCSfile: struct-dom-04-b.svg,v $ + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-05-b.svg b/Tests/W3CTestSuite/svg/struct-dom-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..4667a14ef34b8887009277a283353ca257a77ad4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-05-b.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the hasFeature DOMImplementation method. + The DOMImplementation instance is retrieved from the Document instance. Then, + its hasFeature method is invoked on the various SVG feature strings. +

+

+ The test displays the set of SVG feature strings and, next to them, a text + string that shows whether the feature is supported or not. +

+

+ Note that this test uses the 'onload' event on the root svg element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image, except for the true and + false values which may differ depending on the implementation. +

+

+ Note that the test passes whether or not the feature is supported (i.e., true or + false are valid). The test fails if no value (true or false) appears next to the feature string + value. +

+
+ + $RCSfile: struct-dom-05-b.svg,v $ + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-06-b.svg b/Tests/W3CTestSuite/svg/struct-dom-06-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b9f51cee4737ff380b5ad36b3e6799720f857bc2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-06-b.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + +

+ Verify the basic capability to handle the DOM API. The test is composed of a top + level svg element with an onload event handler. This handler invokes core (i.e., non + SVG specific) DOM API methods to modify the document's content: it removes an element, + modifies an attribute and adds elements. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if the text "DOM API is supported" is shown, the text + "Removing DOM Elements is not supported" is not shown, and no red is + visible.

+
+ + $RCSfile: struct-dom-06-b.svg,v $ + + + + + + + + + + + + + + + + + + + + Removing DOM Elements is not supported + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-07-f.svg b/Tests/W3CTestSuite/svg/struct-dom-07-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0c212849f6ba476d8138f78ff56e35a7ff9b4182 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-07-f.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + +

+ The svg contains three use elements that each reference three rects from an svg element in the document. + Before the onload-script is run there should be 9 red rects visible. The script changes the fill of the rects to be green. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if 9 green rectangles are shown. +

+
+ + $RCSfile: struct-dom-07-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-08-f.svg b/Tests/W3CTestSuite/svg/struct-dom-08-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..fd248ce7af665d71175425d63a3b577effcce439 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-08-f.svg @@ -0,0 +1,84 @@ + + + + + + + + + + +

+ This tests that SVGSVGElement.unsuspendRedraw() does not + throw an exception if the redraw suspend timeout has elapsed. + After loading the test, wait for one second. Some time + before the one second has elapsed, the rectangle should change + color to indicate the result of the test: black if the test + did not run, red if the test failed and green if the test + passed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the rectangle is green one + second after the test is loaded. +

+
+ + $RCSfile: struct-dom-08-f.svg,v $ + + + + + + + + + + Test that unsuspendRedraw() doesn't throw + + + + + + $Revision: 1.8 $ + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-11-f.svg b/Tests/W3CTestSuite/svg/struct-dom-11-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..869f8c54eff0e6fdab300e682280be1c6d3d3f94 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-11-f.svg @@ -0,0 +1,168 @@ + + + + + + + + + + +

+ This tests that the getIntersectionList() and getEnclosureList() + methods return NodeLists that are not live. +

+

+ After loading the test, two rectangles will be presented. The + upper rectangle indicates the result of testing whether + getIntersectionList() returns a non-live NodeList, while the + lower rectangle indicates so for getEnclosureList(). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if both rectangles are green. +

+
+ + $RCSfile: struct-dom-11-f.svg,v $ + + + + + + + + + + Test getIntersectionList and getEnclosureList return value liveness + + + getIntersectionList + + + getEnclosureList + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-12-b.svg b/Tests/W3CTestSuite/svg/struct-dom-12-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c5746ff3e752108e9b420c037e0a34b31ad318c2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-12-b.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + +

+ This test checks two properties from the SVGElementInstance interface, correspondingElement and correspondingUseElement +

+ + +

+ Click the grey rectangle on the right side. +

+
+ +

+ For the test to pass, both lines starting with "Test for" must turn to green + when the grey rectangle on the right side is clicked, and the grey rectangle + must also turn green. +

+
+ + $RCSfile: struct-dom-12-b.svg,v $ + + + + + + + + + + + + + + + + + Click on the grey rectangle to start + Test for correspondingUseElement + Test for correspondingElement + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-13-f.svg b/Tests/W3CTestSuite/svg/struct-dom-13-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..028288e6ac33487b3ba776fe486167c7a9329ac5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-13-f.svg @@ -0,0 +1,167 @@ + + + + + + + + + + +

+ Test for checkIntersection and getIntersectionList. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test passes if 17 green rectangles are displayed and if the legend indicates PASSED. +

+
+ + $RCSfile: struct-dom-13-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-14-f.svg b/Tests/W3CTestSuite/svg/struct-dom-14-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..1f0bb86253b13e4faf075e9a5ffc26b8faf52238 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-14-f.svg @@ -0,0 +1,112 @@ + + + + + + + + + + +

+ Test SVGElementInstance.childNodes. +

+

+ The test has an optional subtest that indicates whether SVGElementInstance.firstChild and + SVGElementInstance.childNodes.item(0) are strictly equal. The status of this subtest is + displayed by a circle in the middle of the testframe, it will be yellow if the objects are + not strictly equal, and green if they are. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is a green rect visible, + and there is a yellow or dark green circle in the middle. + If there's any red visible the test has failed. +

+
+ + $RCSfile: struct-dom-14-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-15-f.svg b/Tests/W3CTestSuite/svg/struct-dom-15-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b5329b690eade7984699f3cc1aad00839797539e --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-15-f.svg @@ -0,0 +1,139 @@ + + + + + + + + + + +

+ Test SVGElementInstance and EventTarget.dispatchEvent. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are three green circles visible, and no red. +

+
+ + $RCSfile: struct-dom-15-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-16-f.svg b/Tests/W3CTestSuite/svg/struct-dom-16-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..7747c72f0ead18e499e810e6c83f4b8f2628679a --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-16-f.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + +

+ The 'SVGSVGElement' interface allows for creation of references to various primitive SVG interface types with explicitly defined default values. +

+

+ A reference to an 'SVGSVGElement' is obtained through an 'svg' element in the page's markup. Each of the 'CreateSVG*' methods is called from this + reference and initial values are verified. A counter is used to determine whether all conditions are satisfied. The word 'fail' in red via an SVG + 'text' element is used to indicate failure and the word 'pass' in black is used to indicate passing. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: struct-dom-16-f.svg,v $ + + + + + + + + + + FAIL + PASS + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-17-f.svg b/Tests/W3CTestSuite/svg/struct-dom-17-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..26121e794165b9a79c3f98d2bc8e581fd55780de --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-17-f.svg @@ -0,0 +1,104 @@ + + + + + + + + + + +

+ Tests that the 'getElementById' method for the 'SVGSVGElement' interface is scoped. +

+

+ Two subtrees of 'svg' elements are used, each with 'rect' elements as children. A reference to the first 'svg' element is obtained via the + 'document' element's 'getElementById' method. This reference is used to verify the presence of 'getElementId'. Next, 'getElementById' on + the 'SVGSVGElement' reference is used to locate its child element. Then, 'getElementById' attempts to get an element in a neighboring subtree. + Finally, an element at the sibling level is attempted to be accessed via 'getElementById'. +

+ + + + +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: struct-dom-17-f.svg,v $ + + + + + + + + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-18-f.svg b/Tests/W3CTestSuite/svg/struct-dom-18-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..27977a22195a2603ae89e2880aca68ad7d303cef --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-18-f.svg @@ -0,0 +1,147 @@ + + + + + + + + + + +

+ +

+ + +

+ +

+
+ +

+ +

+
+ + $RCSfile: struct-dom-18-f.svg,v $ + + + + + + + + + + + + + + + + + + + Filler text + + FAIL + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-19-f.svg b/Tests/W3CTestSuite/svg/struct-dom-19-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..839a202efaf155759c9cc5ec715e8f4d0b7a1763 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-19-f.svg @@ -0,0 +1,92 @@ + + + + + + + + + + +

+ Test that the 'SVGElementInstanceList' element's 'length' attribute correctly reflects the implied element hierarchy on recursive 'use' instances. +

+

+ The test has a 'use' element referencing a 'g' element with another 'use' element referencing the 'use' element. The 'instanceRoot' of the + most indirect 'use' element is used to access the corresponding 'SVGElementInstance'. The test passes if the 'childNodes' attribute's 'length' + attribute for the most indirect 'SVGElementInstance' has a value of '1' and the 'childNodes' attribute's 'length' attribute for the most direct + 'SVGElementInstance' has a value of '0'. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is no red visible on the page. +

+
+ + $RCSfile: struct-dom-19-f.svg,v $ + + + + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-dom-20-f.svg b/Tests/W3CTestSuite/svg/struct-dom-20-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..09018aea56f53ae0c72d97130e5f34baef17f295 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-dom-20-f.svg @@ -0,0 +1,139 @@ + + + + + + + + + + +

+ Test SVGElementInstance and EventTarget.dispatchEvent. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two green circles visible, and no red. +

+
+ + $RCSfile: struct-dom-20-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-frag-01-t.svg b/Tests/W3CTestSuite/svg/struct-frag-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6fe9bcc3367cdbad0c25a6a856da00285eef2810 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-frag-01-t.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + +

+ This is an empty SVG document. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Nothing should be rendered by the User Agent. +

+
+ + $RCSfile: struct-frag-01-t.svg,v $ + + + + + + + + + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-frag-02-t.svg b/Tests/W3CTestSuite/svg/struct-frag-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..c52f894696394f2a341960166cb6d5b27c9ce948 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-frag-02-t.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ This test validates the use of the preserveAspectRatio attribute on the + root svg element in an SVG Tiny document. In this document, preserveAspectRatio + is set to none and the width and height of the document set to 100%. +

+

+ The document's viewBox is defined to be 100 by 100 with an origin + in (100, 100). The content is made of 2 red squares and 2 + orange circles. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Because preserveAspectRatio is set to 'none', the content should + appear distorted (if the aspect ratio is not 1): squares show as rectangles and circles show as + ellipses. +

+
+ + $RCSfile: struct-frag-02-t.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-frag-03-t.svg b/Tests/W3CTestSuite/svg/struct-frag-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d73f8b1ed7aba0075f8e0d67f6a04f7463749b3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-frag-03-t.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + +

+ This test validates the use of the preserveAspectRatio attribute on the + root svg element in an SVG Tiny document. In this document, preserveAspectRatio + is set to 'xMidYMid meet' and the width and height of the document set to 100%. +

+

+ The document's viewBox is defined to be 100 by 100 with an origin + in (100, 100). The content is made of 2 red squares and 2 + orange circles. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Because preserveAspectRatio is set to 'xMidYMid meet', the content should + appear centered within the viewport: squares show as squares (and not + rectangles) and circles show as circles (and not ellipses). +

+
+ + $RCSfile: struct-frag-03-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-frag-04-t.svg b/Tests/W3CTestSuite/svg/struct-frag-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..bd2fdc7e9f5b483bb51d527c22e21a0f3fc60fa3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-frag-04-t.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ This test validates the operation of the svg element when there is no + viewbox. +

+

+ The document has x/y attributes set to (1000, 1000). Because + x/y are ignored on the root svg element, the x/y origin should have no + effect on the drawing. +

+

+ The document contains squares and circles between the + (100,100) and (200, 200) coordinates. +

+ + +

Run the test. No interaction required. If the test is run outside of the harness, the operator may resize the viewport.

+
+ +

The rendered picture should match the reference image. Changing the viewport + size should have no effect on the placement or scale of the document's content.

+
+ + $RCSfile: struct-frag-04-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-frag-05-t.svg b/Tests/W3CTestSuite/svg/struct-frag-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a7d2e943009b49cb1a14103f43dc08e35db7cc0c --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-frag-05-t.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + +

+ This tests that XML Namespaces are correctly implemented, in that the tuple + of local name and namespace URI, rather than the prefix, is important. +

+

+ The first subtest is a + group where the namespace prefix s is bound to the SVG namespace and an s:circle is drawn + in pale yellow. The same group declares the default namespace to be a non-SVG namespace; the + blue circle element in that namespace must not be drawn. +

+

+ The second subtest puts the namespace declarations on the elements themselves. The + prefix toto is bound to the SVG namespace and the XLink namespace is made the default namespace. + Thus, the blue <toto:a href="uri">Valid</toto:a> is a valid link and must be traversable. Select this link, + then go back to the test. +

+

+ The third subtest has no prefix on the element name 'a' and uses the usual xlink: prefix on the href + attribute. However, both the default namespace and the namespace bound to the xlink prefix are + dummy namespaces. Not only should the link not be traversable, it must not even display at all. + If the text 'Invalid' is displayed, the test fails. +

+ + +

Run the test and click on the "Valid" link.

+
+ +

The test passes if the following conditions are met:

+
    +
  • A yellow circle is shown.
  • +
  • A blue circle is not shown.
  • +
  • The text "Valid" is shown in blue.
  • +
  • The text "Invalid" is not shown.
  • +
  • Clicking "Valid" navigates to the "TOC & index of linking tests" document, linkingToc-t.svg.
  • +
+
+ + $RCSfile: struct-frag-05-t.svg,v $ + + + + + + + + + + + + + + + Valid + + + Invalid + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-frag-06-t.svg b/Tests/W3CTestSuite/svg/struct-frag-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f22f0d03d146b6f150d683757435a407eb899b6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-frag-06-t.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ This test adds testing of some basic XML features SVG User Agents + should support. +

+

+ First, the test checks support for the default entities amp, lt, gt, apos + and quot. This is what the first line shows in gray. +

+

+ Second, the test checks support for hexadecimal and decimal character + entities, as shown in the second line, again in gray +

+

+ Finally, the last line shows usage of an entity defined in the + document's internal DTD subset. The same geometry (a path) is + reused twice, once filled in gray and ones stroked in gray. +

+ + +

Run the test. No interaction required.

+
+ +

The test passes if the following conditions are met:

+
    +
  • The text string &, <, >, ', " is shown in gray.
  • +
  • The text string A hexadecimal (&#x41)= A is shown in gray.
  • +
  • The text string A decimal (&#65)= A is shown in gray.
  • +
  • Two octagons are shown: one gray filled, and one gray stroked & unfilled.
  • +
+
+ + $RCSfile: struct-frag-06-t.svg,v $ + + + + + + + + + Default entities: amp, lt, gt, apos, quot: + &, <, >, ', " + Character references: + A hexadecimal (&#x41)= A + A decimal (&#65)= A + Entity references: + gray + + + + outlined + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-group-01-t.svg b/Tests/W3CTestSuite/svg/struct-group-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..3326f1d8c42f85915c56a78a640020a00e5858ea --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-group-01-t.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + +

+ The test checks to see that graphics elements (g) can be nested and that the like attributes can be passed to the children. + All the g elements for this test are in the g element whose id=allGs. +

+ + +

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family and font-size properties. +

+

+ The two blue rectangles and the yellow are in the g labeled rects. + The blue rectangles inherit a fill color the green rect has a fill specified and it should not be overwritten. + The two yellow rectangles should inherit the fill color and the transform attribute, they should be + yellow and rotated at -20 degrees. These two rectangles are in g "yellowNrotate", that g is nested + inside g "gratuitiousG". The black rectangle in the upper right, has no attributes inherited from its parent. + The focus is nesting of g elements and passing on of attributes. +

+
+ +

+ The rendered picture should match the reference image, except for possible + variations in the labelling text (per CSS2 rules). +

+
+ + $RCSfile: struct-group-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-group-02-b.svg b/Tests/W3CTestSuite/svg/struct-group-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..bbc2a59af425ce2d796cc6dc21e4c9e3831b7c96 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-group-02-b.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + +

+ The purpose of this test is to check the nesting of SVG elements. +

+

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family and font-size properties. +

+

+ There are 4 svg elements in the test. + The first defines the outer square at 480x360. + The second whose id is lowerRight defines a green rectangle which is 1/4 of the outer svg element. + The third svg whose id is upperLeft defines a region that is the upper 1/4 of the outer svg, + it is filled with a blue rectangle. It has a child svg element that defines an area + half again the size of its parent but sharing the same center point, it is filled with a yellow rectangle. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if: +

+
    +
  • There is a green rectangle covering 1/4 of the testframe area positioned in the lower right corner.
  • +
  • There is a blue rectangle covering 1/4 of the testframe area positioned in the upper left corner.
  • +
  • There is a yellow rectangle centered inside the blue rectangle, covering half of the area of the blue rectangle.
  • +
+
+ + $RCSfile: struct-group-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-group-03-t.svg b/Tests/W3CTestSuite/svg/struct-group-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..975e707dae0e6678c8bd894fc5d8a0b8dc52f444 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-group-03-t.svg @@ -0,0 +1,285 @@ + + + + + + + + + + + + +

+ This test validates that properties are inherited (or not, depending on + their defintion), from a group to its children. +

+ + +

+ [[ + Describe how to use the here. The instructions should specify any + steps requied to run the test or any manual operation that need + to be performed to run the test. + ]] +

+
+ +

+ The two rows displayed in this test should be identical. In the top row, + each property is set to the value 'inherit'. In the bottom row, which is + the reference, each property is set to the value that should be inherited + in the top row. +

+
+ + $RCSfile: struct-group-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + color + display + fill + fill-rule + stroke + stroke-dasharray + stroke-dashoffset + stroke-linecap + stroke-linejoin + stroke-miterlimit + stroke-width + visibility + font-family + font-size + font-style + font-weight + text-anchor + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + + + + A + + + + A + + + + A + + + + A + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + + + + A + + + + A + + + + A + + + + A + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-01-t.svg b/Tests/W3CTestSuite/svg/struct-image-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..441e62f8a21e1c87c10083c008795b9bede5167e --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-01-t.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + +

+ The image test case checks to see if the required raster image formats are supported. +

+

+ The upper right has an JPEG image, the lower right has a PNG image. They are + the same image. + Those positions are relative to the upper left of the entire canvas. + If any of the components are missing, then an image format is not being + properly supported. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if two identical images are shown.

+
+ + $RCSfile: struct-image-01-t.svg,v $ + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-02-b.svg b/Tests/W3CTestSuite/svg/struct-image-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..403fdefbd6370ea857e1b3bdc5cf16d7b9942546 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-02-b.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + +

+ To test the 9 structure elements and their relationships. +

+

+ S1 tests the defs element and the rendering of an image via the use element. + S2 tests the defs element and the use element by creating an svg element + that contains a blue rectangle. S3 tests the nesting of an SVG element, a + separate graphics element is defined, its coords relative to the svg element. + S4 tests a switch statement, if there is not a green rectangle showing in + S4 there is probably a problem processing a switch. +

+

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the upper left rectangle shows an image, + the upper right a blue rectangle, the lower left a cyan rectangle + and the lower right a green rectangle. +

+
+ + $RCSfile: struct-image-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-03-t.svg b/Tests/W3CTestSuite/svg/struct-image-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..88487322bd434ff0d333a25a268c14284fbb4fa6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-03-t.svg @@ -0,0 +1,66 @@ + + + + + + + + + + +

+ This test verifies the support for gamma correction of displayed PNG + images. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Several different images are displayed one above the other; + if gamma correction is correctly performed based on the values in + the gAMA chunk in the PNG file, the resulting displayed values are + the same in all of the files (except for rounding error, which gives + some artefacts at the right side of the lowest two images due to the + very high levels of gamma correction needed for this test) +

+
+ + $RCSfile: struct-image-03-t.svg,v $ + + + + + + + + + + + + + + + Gamma correction + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-04-t.svg b/Tests/W3CTestSuite/svg/struct-image-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6b4edff3da68fa5f8766a2d1937edfb92e35bd05 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-04-t.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + +

+ The image test case checks to see if the basic image formats allowed in + are supported using the data: URI schema and base64 encoding. +

+

+ The upper right has an JPG image the lower right has a PNG image. They are + the same image. + Those positions are relative to the upper left of the entire canvas. + If any of the components are missing, then an image format is not being + properly supported. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if two identical images are shown.

+
+ + $RCSfile: struct-image-04-t.svg,v $ + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-05-b.svg b/Tests/W3CTestSuite/svg/struct-image-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..f171ff2c9fe40147db912061edaa9795b3275161 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-05-b.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + +

+ The image test case checks to see if the svg image format are supported. +

+

+ The test uses the 'rect' element, as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family and font-size properties. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rendered picture should match the reference image showing two rectangles, one blue and one yellow. +

+
+ + $RCSfile: struct-image-05-b.svg,v $ + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-06-t.svg b/Tests/W3CTestSuite/svg/struct-image-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..3322da2300c7aaff667468bb1933b49a8272b17f --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-06-t.svg @@ -0,0 +1,104 @@ + + + + + + + + + + + + +

+ Check that all the preserveAspectRatio values are supported + for the <image> element. In particular, check that + values which are not supported on the svg element's + preserveAspectRatio are supported for <image>. +

+ + +

Run the test. No interaction required.

+
+ +

The test shows four smiley images: the leftmost one is the reference, + and the three on the right are the three sub-tests. The test is passed + if the following conditions are met: +

+
    +
  • The image in the first sub-test is shown within the blue rectangle, + its aspect ratio preserved and with white bars between the blue rectangle + and the left and right edges of the image.
  • +
  • The image in the second sub-test is shown within the blue rectangle, + its aspect ratio preserved and with white bars between the blue rectangle + and the top and bottom edges of the image.
  • +
  • The image in the third sub-test is shown stretched, having the same + size as the blue rectangle shown on the left of the test slide underneath + the text "Viewport 2".
  • +
+
+ + $RCSfile: struct-image-06-t.svg,v $ + + + + + + + + + + Example PreserveAspectRatio - demonstrate available options + SVG to fit + + + + Viewport 1 + + + + Viewport 2 + + + + + ---------- meet ---------- + + xMid* + + + + + + ---------- meet ---------- + + *YMid + + + + + + ---------- meet ---------- + + *none + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-07-t.svg b/Tests/W3CTestSuite/svg/struct-image-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e8ad6299c59336f58bc4c1291875bf3c35fe5aaf --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-07-t.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + +

+ This test validates that xml:base is properly handled on the + <image> element. +

+

+ It shows the same image three times, with different xml:base and + xlink:href values. +

+ + +

Run the test. No interaction required.

+
+ +

The test is passed if three smiley face images are shown.

+
+ + $RCSfile: struct-image-07-t.svg,v $ + + + + + + + + + + + + no + xml:base + + + + + + xml:base + on image + + + + + + xml:base + on parent + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-08-t.svg b/Tests/W3CTestSuite/svg/struct-image-08-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..b712be813369dc8033c8687d64a847fa4ca0a88c --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-08-t.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + +

+ Tests PNG images with alpha. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The result should be identical to the reference image. +

+
+ + $RCSfile: struct-image-08-t.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-09-t.svg b/Tests/W3CTestSuite/svg/struct-image-09-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f854040d1aae3ba453c8bc5ced0db075c90eaa38 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-09-t.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + +

+ Tests PNG images with pallete ransparency (tRNS chunk). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The result should be identical to the reference image. +

+
+ + $RCSfile: struct-image-09-t.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-10-t.svg b/Tests/W3CTestSuite/svg/struct-image-10-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..bf9b3a02153e089e47827655a44c2dca1b311f5a --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-10-t.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + +

+ Tests PNG greyscale images with alpha. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The result should be identical to the reference image. +

+
+ + $RCSfile: struct-image-10-t.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-11-b.svg b/Tests/W3CTestSuite/svg/struct-image-11-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..4b7e3d6ba51dcc4aa28692a3fa4511cd655115b2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-11-b.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + +

+ Test interactivity in an svg image referenced by an 'image' element. +

+

+ This test requires support for CSS2 and referencing SVG and PNG images via the 'image' element. +

+ + +

+ Click each of the three rectangles in the center of the testframe once. +

+
+ +

+ The test is passed if all three rectangles are green after being clicked once each. +

+
+ + $RCSfile: struct-image-11-b.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-image-12-b.svg b/Tests/W3CTestSuite/svg/struct-image-12-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..7e89072d9220f4f97917c39389c481c2ac1f4d67 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-12-b.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ [[Describe which section and what specific assertion is being tested + by the test. If the test has a number of sub tests, multiple + "testComponent" elements can be specified within the "testDescription" + element.]] +

+ + +

+

+
+ +

+ [[Describe the pass criteria of the test here. The pass criteria is what + should be displayed when the test is run.]] +

+
+ + $RCSfile: struct-image-12-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-image-13-f.svg b/Tests/W3CTestSuite/svg/struct-image-13-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..880907a05a46274477991362279324968dda9dc9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-13-f.svg @@ -0,0 +1,124 @@ + + + + + + + + + + +

+ Tests that different PNG image types are correctly handled. These images are non-interlaced. +

+

+ This test uses the + PNG Group test suite + created by Willem van Schaik. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if all the small PNG icons are displayed as in the reference image. +

+
+ + $RCSfile: struct-image-13-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Greyscale, various bit depths, two with alpha + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Truecolor and indexed, various bit depths, two with alpha + + Non-interlaced images + + + + + + $Revision: 1.2 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-14-f.svg b/Tests/W3CTestSuite/svg/struct-image-14-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f6531648d017a183cd80061a503691b41ae66928 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-14-f.svg @@ -0,0 +1,124 @@ + + + + + + + + + + +

+ Tests that different PNG image types are correctly handled. These images are interlaced. +

+

+ This test uses the + PNG Group test suite + created by Willem van Schaik. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if all the small PNG icons are displayed as in the reference image. +

+
+ + $RCSfile: struct-image-14-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Greyscale, various bit depths, two with alpha + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Truecolor and indexed, various bit depths, two with alpha + + Interlaced images + + + + + + $Revision: 1.2 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-15-f.svg b/Tests/W3CTestSuite/svg/struct-image-15-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..6b406cf736d77b7f8fff44af34b7bdcd88809243 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-15-f.svg @@ -0,0 +1,138 @@ + + + + + + + + + + +

+ The first row tests that alpha PNG images are correctly displayed as part of an SVG image, + ignoring the background colour in the image which is only used to display the + PNG image stand-alone. +

+

The second row tests indexed PNG transparency (tRNs), again checking that + the background color is ignored when displayed as part of an SVG image. +

+

+ This test uses the + PNG Group test suite + created by Willem van Schaik. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if all the small PNG icons are displayed as in the reference image. +

+
+ + $RCSfile: struct-image-15-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Background color, with alpha + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Background color, with transparency + + Handling bKGd and tRNs + + + + + + $Revision: 1.2 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-16-f.svg b/Tests/W3CTestSuite/svg/struct-image-16-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ba01ef35533875489ff0e4a7115c5d1abefe333d --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-16-f.svg @@ -0,0 +1,57 @@ + + + + + + + + + + +

+ Test that the 'image' element loads the same resources as when it's standalone. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there's a green rectangle visible, and no red. +

+
+ + $RCSfile: struct-image-16-f.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/struct-image-17-b.svg b/Tests/W3CTestSuite/svg/struct-image-17-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1d78cf3ab5734c5da84866c623946809e69702f9 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-17-b.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + +

Verifies that SVG images referenced from an <image> element + do not have any scripting or animation run.

+

The referenced SVG image has a green rectangle. If either animation or + script runs, it will turn the rectangle red.

+ + +

Run the test. No interaction required.

+
+ +

The rendered picture should match the reference image.

+

If the rectangle is red, the test has failed.

+
+ + $RCSfile: struct-image-17-b.svg,v $ + + + + + + + + + Test that SVG images in <image> are not scripted or animated + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-image-18-f.svg b/Tests/W3CTestSuite/svg/struct-image-18-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..2e5f99c859f41a13e9422a8b5f4613d0beb9f98d --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-18-f.svg @@ -0,0 +1,62 @@ + + + + + + + + + + + + +

+ Test referencing an svg from an 'image' element, where the referenced + svg has no viewBox and a larger width and height than the 'image' + element viewport. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if a green quarter circle with black stroke is displayed, and no red. +

+
+ + $RCSfile: struct-image-18-f.svg,v $ + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-image-19-f.svg b/Tests/W3CTestSuite/svg/struct-image-19-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..9a52ccd24986a09e09c89f070c3b9f845c58a430 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-image-19-f.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + +

+ Test referencing an svg from an 'image' element, where the referenced + svg has a viewBox and a larger width and height than the 'image' + element viewport. +

+

+ The same image resource is reference twice, and will scale to fit the + viewport that is established by the 'image' element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if two green circles are displayed, and no red. +

+
+ + $RCSfile: struct-image-19-f.svg,v $ + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-svg-01-f.svg b/Tests/W3CTestSuite/svg/struct-svg-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..efa06ed2dc2f96ed3c8dbf46aad2bb2d7e24e763 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-svg-01-f.svg @@ -0,0 +1,123 @@ + + + + + + + + + + +

+ The default values for 'width' and 'height' are '100%' and 'x' and 'y' are '0' for the 'svg' element. +

+ + +

+ Empty 'svg' element is referenced via 'getElementById()'. From that reference, 'width', 'height', 'x', and 'y' are evaluated + via 'baseVal.valueAsString'. A failure of one or more tests is indicated by the word 'FAIL' in red text. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: struct-svg-01-f.svg,v $ + + + + + + + + + + + + Initial value of the 'svg' tag's 'width' attribute: + + + Initial value of the 'svg' tag's 'height' attribute: + + + Initial value of the 'svg' tag's 'x' attribute: + + + Initial value of the 'svg' tag's 'y' attribute: + + + FAIL + + + + + + $Revision: 1.4 $ + + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-svg-02-f.svg b/Tests/W3CTestSuite/svg/struct-svg-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..5fff676a31878ca847d51a755e295c4a61a810fd --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-svg-02-f.svg @@ -0,0 +1,143 @@ + + + + + + + + + + +

+ Testing various interactions on the width attribute on an svg element. + The width attribute defaults to "100%" if it's not specified. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if the testframe is filled with green, and there's no red. +

+
+ + $RCSfile: struct-svg-02-f.svg,v $ + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-svg-03-f.svg b/Tests/W3CTestSuite/svg/struct-svg-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0b03bb42668061f47547311e325871bbddc8ebe2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-svg-03-f.svg @@ -0,0 +1,68 @@ + + + + + + + + + + + + +

+ Test nested svg elements. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Passed if there are two green rectangles visible, and no red. +

+
+ + $RCSfile: struct-svg-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-symbol-01-b.svg b/Tests/W3CTestSuite/svg/struct-symbol-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..402a0c7373623622c08b8ae566b7eb3f7f85fbef --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-symbol-01-b.svg @@ -0,0 +1,89 @@ + + + + + + + + + + + + +

+ The purpose of the symbol test case is to create some symbols and then + have them rendered when instantiated by the use element. +

+

+ This file contains 3 symbol definitions. Only two are ever rendered. + There is a viewport defined to be 0,0,1000,1000 on the svg element. + Each symbol has is own viewport of the same dimensions. The symbols are + scaled when they are instantiated by the use element, The first set + of symbols is 4 squares, blue and yellow in color they should appear + in the lower right of the view arranged in a checkerboard fashion. + The second symbol to be used is an image which should appear in the + upper left of the view area. The symbol that is not used and should + not be rendered is a large black rectangle. If the symbols don't + appear, there is something askew with the use statement, if they + appear but either overlap each other or in some way aren't in the + correct positions they have not honored either their viewport or + were not scaled when placed by the use element in the area defined by + it. If everything is black then perhaps a symbol was rendered that + should not have been. +

+ + +

+ Run the test. No interaction required. +

+
+ +

The test passes if:

+
    +
  • An image is shown in the top left corner of the document.
  • +
  • A blue and yellow checkerboard pattern is shown in the bottom right corner of the document.
  • +
  • The background of the document is not filled with red.
  • +
+
+ + $RCSfile: struct-symbol-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-01-t.svg b/Tests/W3CTestSuite/svg/struct-use-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..031723038d9cb8efa058704f3e1d8476fe3cbc60 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-01-t.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + +

+ The purpose of this test is to validate proper handling of + the use element. In particular, the test checks the proper inheritance + of properties through the shadow tree (rather than through the document + tree). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test should display various elements in different shades of green. + If an element is not displayed in green, but in red fill and/or yellow + stroke, then it is in error. +

+
+ + $RCSfile: struct-use-01-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Text + + + + + + + <rect> + <circle> + <ellipse> + <line> + <polyline> + <polygon> + <path> + <image> + <text> + + + <g> + <use> + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-03-t.svg b/Tests/W3CTestSuite/svg/struct-use-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..00c6dc9debc45efd0920fc7355b910cb048428a4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-03-t.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

+ The purpose of this test is to validate proper handling of + the x/y attributes on the use element. +

+

+ The test shows a <use> element displayed on the right. + On the left, a group built as described in section + 5.6 of the SVG 1.1 specification validates that the + <use element is properly processed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there are two identical diamond shapes visible. +

+
+ + $RCSfile: struct-use-03-t.svg,v $ + + + + + + + + + + + + + Reference + + <use> + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-04-b.svg b/Tests/W3CTestSuite/svg/struct-use-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..32fe4a67e8ec209f0a0d5fd7e2d3e575000c09ef --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-04-b.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + +

+ The intent of the file is to determine if the UA supports references to external SVG fragments. +

+ + +

+ See referenced image. +

+
+ +

+ To pass this test, the UA agent must display a total of 8 graphical + primitives (2 rectangles, 2 circles, 2 ellipses and 2 triangles). + For each pair of objects, one is a semi-transparent duplicate + copy at the other displayed at an offset position.. +

+
+ + $RCSfile: struct-use-04-b.svg,v $ + + + + + + + + + + + + + + + + + + External references on <use> + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-05-b.svg b/Tests/W3CTestSuite/svg/struct-use-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..804a0613b7d6926e377c15d985ba7c69a761398b --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-05-b.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

+ This file is intented to test the computed values in external references. + Both files (referencing and referenced) define similar colors/gradients via 'color', 'linearGradient' and 'radialGradient'. + The ids of those definitions are the same but the actual appearance are different. These definitions are used to test the + property inheritance feature of SVG. +

+ + +

+ [[ + Describe how to use the here. The instructions should specify any + steps requied to run the test or any manual operation that need + to be performed to run the test. + ]] +

+
+ +

+ The top left rectangle should be filled with the blue linear gradient since the 'use' has a specified value + defined in the 'defs' section. The top right rectangle is forestgreen since the 'use' has a computed value. + The bottom left rectangle is also forestgreen since the fill is not inherited from the referenced element's original parent. + The bottom right rectangle is filled with the orange radial gradient since the computed value is given by the CSS cascade. +

+
+ + $RCSfile: struct-use-05-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + External references and computed values + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-06-b.svg b/Tests/W3CTestSuite/svg/struct-use-06-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..958eabc6e26722545e2ce330c63510a141cfd3ec --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-06-b.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

+ Test onlick handlers in externally referenced content. + + There are two 'use' elements, each of them is referencing an external file showing a rectangle. + + The rect elements in the external file have onclick attributes, and the handler will attempt to change the fill of the + referenced rect element to red. +

+ + +

+ Click each of the two green rectangles once. +

+
+ +

+ The test is passed if the two rectangles remain green when clicked, and there is no red visible. +

+
+ + $RCSfile: struct-use-06-b.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-use-07-b.svg b/Tests/W3CTestSuite/svg/struct-use-07-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..eb1018a2222a5c633dce39cda31428dc122c1791 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-07-b.svg @@ -0,0 +1,77 @@ + + + + + + + + + + + + +

+ This tests interactivity and event handlers on use elements. It also tests + that the SVGElementInstance.correspondingElement property and the + CSSStyleDeclaration.setProperty() method defined in + DOM Level 2 Style. By testing different ways of setting the fill on a rectangle + it verifies that the result is consistent, and that CSS properly overrides + the specified values. +

+ + +

+ You should at first see a pyramid of four pink rects. + Click each of the pink rects once. +

+
+ +

+ If the useragent doesn't support CSS, this test does not apply. +

+

+ The test has passed if when clicking each of the rects the clicked rect turns blue - + note that only the clicked rect must turn blue, if any other rect turns blue too then the test has failed. +

+

+ The reference image shows the final state, what the result should be after all rects have been clicked. +

+
+ + $RCSfile: struct-use-07-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-use-08-b.svg b/Tests/W3CTestSuite/svg/struct-use-08-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..affccccfca4f0b953ce5927986bb77ff8157fa35 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-08-b.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ [[Describe which section and what specific assertion is being tested + by the test. If the test has a number of sub tests, multiple + "testComponent" elements can be specified within the "testDescription" + element.]] +

+ + +

+ [[Describe how to use the here. The instructions should specify any + steps requied to run the test or any manual operation that need + to be performed to run the test.]] +

+
+ +

+ [[Describe the pass criteria of the test here. The pass criteria is what + should be displayed when the test is run.]] +

+
+ + $RCSfile: struct-use-08-b.svg,v $ + + + + + + + + + + + + 'use' referencing 'svg' element + + + + + + 'use' referencing 'image' element + + + This text should be visible. + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-use-09-b.svg b/Tests/W3CTestSuite/svg/struct-use-09-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..756ecf1be667ffd4a6af924c3d8fa70c2fba2bdf --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-09-b.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ This tests the use element inside a symbol definition. +

+ + +

Run the test. No interaction required.

+
+ +

+ For the test to pass, 5 nested rectangles with different coloured strokes + (black, yellow, orange, purple and blue) must be rendered. +

+
+ + $RCSfile: struct-use-09-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-use-10-f.svg b/Tests/W3CTestSuite/svg/struct-use-10-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ebadc034b440e5655f2785a5249a810a8995e79f --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-10-f.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + +

+ Properties are inherited according to the 'use' element rules, CSS selectors only apply to the original elements + and not the (conceptually) cloned DOM tree. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if the three rectangles have green fill and a thick darkgreen stroke. If any red shows the test has failed. +

+
+ + $RCSfile: struct-use-10-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + CSS selectors and use element + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-11-f.svg b/Tests/W3CTestSuite/svg/struct-use-11-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..56afadd45ffd616123a4227daca39718cfb4b95f --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-11-f.svg @@ -0,0 +1,151 @@ + + + + + + + + + + +

+ CSS selectors that apply to an element referenced via 'use' also apply to the 'use' instance. +

+

+ A 'style' block contains all CSS rules. Various CSS selectors are applied to 'circle' elements. A unique 'class' selector is + used for all cases to ensure that the selectors don't interfere with each other. For each 'circle', there is a corresponding + 'use' instance. For structure-related rules, a 'g' tag is used. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if twelve blue circles and no black circles are visible on the page. +

+
+ + $RCSfile: struct-use-11-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/struct-use-12-f.svg b/Tests/W3CTestSuite/svg/struct-use-12-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..01660ccdea839ee678619235c8b8c65e2bbefa99 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-12-f.svg @@ -0,0 +1,104 @@ + + + + + + + + + + +

+ Tests that recursive 'use' instances do not block rendering. +

+

+ Various scenarios that directly and indirectly create circular references via the 'use' tag. A 'g' element is used when + structural elements are necessary. None of the 'use' scenarios render anything. 'useLongCycle' tests a chain of recursive + 'use' instances that eventually cycles back to the first element. In 'useNested' 'use' elements are nested, with the child + referring to the parent. In 'useNestedGroup' a 'use' instance references a parent 'g' element. In 'useIndirectNestedGroup' + a 'use' instance indirectly references its own parent 'g'. In 'useMultipleIndirectNestedGroup', two 'use' instances + reference their parent 'g' elements, and additional 'use' instances refer to these self-referencing 'use' elements. A green + 'rect' is used to verify that rendering was processed up to that point. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there is green visible on the page. +

+
+ + $RCSfile: struct-use-12-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/struct-use-13-f.svg b/Tests/W3CTestSuite/svg/struct-use-13-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3117a3a2f360a347caf3a5c8923b332303791bd5 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-13-f.svg @@ -0,0 +1,77 @@ + + + + + + + + + + +

+ Test that 'use' elements are synchronized at run time with the elements they reference. +

+

+ This test verifies visual synchronization during run time between 'use' instances and the elements they reference. A 'g' element containing + two 'rect' elements is referenced via 'use'. One 'rect' is red and the other has no fill specified. DOM synchronization is verified visually + by removing the red 'rect'. Presentation attribute synchronization is verified visually by setting the other rect's 'fill' attribute to 'lime'. + The 'g' that is referenced is inside of a 'defs' tag so only the 'use' instance is visible. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is a green square visible on the page, and no red. +

+
+ + $RCSfile: struct-use-13-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/struct-use-14-f.svg b/Tests/W3CTestSuite/svg/struct-use-14-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..597de799f115ccf7cecdad92cdabf24e771127f1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-14-f.svg @@ -0,0 +1,74 @@ + + + + + + + + + + +

+ Test that the 'use' element's 'xlink:href' attribute referencing dynamically set 'id' attributes is supported. +

+

+ The test defines a 'use' element with its 'xlink:href' attribute set to 'pass' which is an invalid element id. A green 'rect' element has its 'id' + attribute set to 'pass' via 'setAttribute'. The referenced 'rect' is a child of a 'defs' element so that it does not render, and it is wrapped with a 'g' + element in order to obtain a DOM reference to it. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is a green square visible on the page, and no red. +

+
+ + $RCSfile: struct-use-14-f.svg,v $ + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/struct-use-15-f.svg b/Tests/W3CTestSuite/svg/struct-use-15-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..90a79d7dfb4b6cfa8b814e9ff2d5dda7d01286c8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/struct-use-15-f.svg @@ -0,0 +1,78 @@ + + + + + + + + + + +

+ Test that recursive 'use' elements are synchronized at run time with the originally referenced element. +

+

+ Inside of a 'defs' element, a 'g' element containing two 'rect' elements is referenced via 'use'. Outside of the 'defs', a 'use' element references + the other 'use' element. One 'rect' is orange and the other has no fill specified. DOM synchronization is verified visually by removing the orange 'rect'. + Presentation attribute synchronization is verified visually by setting the other rect's 'fill' attribute to 'blue'. All elements are inside of a 'defs' + element except for the recursive 'use' element to ensure that it is the only element rendered. Verify that blue is visible and orange is not visible. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is a green square visible on the page, and no red. +

+
+ + $RCSfile: struct-use-15-f.svg,v $ + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/styling-class-01-f.svg b/Tests/W3CTestSuite/svg/styling-class-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..0eed402f76c05d68f21a500928941be52834b8f6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-class-01-f.svg @@ -0,0 +1,75 @@ + + + + + + + + + + +

+ The 'class' attribute assigns one or more class names to an element, and shared class names among several element instances are supported. +

+

+ Assigns a class to two elements and specify a 'fill: blue' style rule on the class. On one of the elements, also specify a + second class with a specified 'stroke: orange' style rule. Verify the 'fill' and 'stroke' styles applied appropriately. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if there are two blue rectangles on the page, and the lower right one has an orange border. +

+
+ + $RCSfile: styling-class-01-f.svg,v $ + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/styling-css-01-b.svg b/Tests/W3CTestSuite/svg/styling-css-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c1e629e2041aa80f5e0935de2ad8060e1b92f6d4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-01-b.svg @@ -0,0 +1,90 @@ + + + + + + + + + + + + +

+ Test element and class selectors. +

+ + +

+Run the test. No interaction required. +

+
+ +

+The test is passed if all six shapes have a green fill. +

+
+ + $RCSfile: styling-css-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + element selectors: + + + + + + + + + + + + + + + class selectors: + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-02-b.svg b/Tests/W3CTestSuite/svg/styling-css-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..87b5fbaa98182a67abbc6c9266f3b63ef509aa26 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-02-b.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + +

+ Test ID and attribute selectors +

+ + +

Run the test. No interaction required. +

+
+ +

+ The test is passed if all six shapes have a green fill. +

+
+ + $RCSfile: styling-css-02-b.svg,v $ + + + + + + + + + + + + + + + + id selectors: + + + + + + + + + + + + + + attribute selectors: + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-03-b.svg b/Tests/W3CTestSuite/svg/styling-css-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..7a830bd9b5ac167a392c7a6b3ab6faffa18c57ff --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-03-b.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + +

+ Test ancestor, child and sibling selectors. +

+ + +

+ Run the test. No interaction required. +

+ +
+ +

+ The test is passed if all six shapes have a green fill. +

+
+ + + $RCSfile: styling-css-03-b.svg,v $ + + + + + + + + + + + + + + + ancestor selectors and child selectors: + + + + + + + + + + + + + + + ancestor, immediate-sibling and first-child selectors: + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-04-f.svg b/Tests/W3CTestSuite/svg/styling-css-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..90025a2ba0ff55b8a035213fd29bbe06274d4845 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-04-f.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + +

+ This purpose of the file is to test some of the CSS2 selector syntax. +

+ + +

+ A UA supporting CSS selectors should render an image identical to the referenced image. +

+ +
+ +

+ The test is passed if a grid of 6x3 squares is shown, the colors in each column + are the same and are those of the reference image (blue, green, orange, gold, purple and silver) +

+

+ For a full analysis of this test, please see + + this explanation. + +

+
+ + $RCSfile: styling-css-04-f.svg,v $ + + + + + + + + + + CSS selector test + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A + B + C + D + E + F + 1 + 2 + 3 + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-05-b.svg b/Tests/W3CTestSuite/svg/styling-css-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5fa1e70118cf976ab103bcb4cfb8741f44f028ec --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-05-b.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

+ Tests the language selectors, :lang(c). +

+

+ Note that a less specific language (such as fr) also matches a more specific + language (such as fr-CA) but a more specific language (such as en-GB) does not match a less specific language (such as en). + Also note that language tags,and thus language selectors are case-insensitive. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The phrase "Good morning!" should be in green. The phrase "Bon avant-midi!" + should be in blue; in addition, the "avant-midi" should be italic because its Canadian French. +

+
+ + $RCSfile: styling-css-05-b.svg,v $ + + + + + + + + + + + + + + + + Good morning! + + Bon avant-midi! + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-06-b.svg b/Tests/W3CTestSuite/svg/styling-css-06-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..a3151451ea6ec730e6d4ecccf115578fef1a2a58 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-06-b.svg @@ -0,0 +1,198 @@ + + + + + + + + + + + + +

+ Tests the dynamic pseudoclasses :link, :visited, :active, :hover and :focus. +

+ + +

+ For the test to work, you must have previously visited ../linkingToc-t.svg which you can do by + traversing the "Visited" link, then going back to this test file. +

+

+ The links marked "Visited" and "Hover me" should now be purple, + while the "Unvisited" link is blue. +

+

+ Note: If you do not have a pointing device, or if it provides pick but not hover + (eg a stylus on a PDA) skip the hover portion of the test and mark this part as + passed: Hover the pointing device over the "Hover me" and then, over the "And me, too!". + As each of the two text strings text is hovered, it should turn a dark orange color + while the other string should be whatever color it was before being hovered. +

+

+ Note: If the device you are using does not support text selection, e.g. a mobile phone, + you may skip this part of the test and consider this part passed.:Finally, select + some of the "Select me" text. SVG states that text selection causes an element to receive focus. + There is a style rule :focus { fill: rgb( 0, 255, 127); stroke: rgb( 0, 255, 127); stroke-width:3px } + which applies, although since it has specificity + 010 while the following rule text:active {text-decoration: underline; fill: red } + has a higher specificity of 011, the fill is in fact red while the stroke is still green. +

+
+ +

+ Because this is a dynamic test , a single static image cannot fully capture all the + states. The reference image simulates the state during the third subtest. Visited and + unvisited links have the appropriate blue and purple colors. The color and presentation + of the selected text are user-agent dependent, but the unselected part of the "Select me" + text must be red and underlined with a green stroke. +

+
+ + $RCSfile: styling-css-06-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Visited + + + Unvisited + + + Hover me + + And me, too! + Select me + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-07-f.svg b/Tests/W3CTestSuite/svg/styling-css-07-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f036f6dab19369beaa63b7215ae56441f048c9a8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-07-f.svg @@ -0,0 +1,62 @@ + + + + + + + + + + +

+ Tests that inline CSS styling (style attributes) is supported. +

+

+ Specifies an inline 'visibility: hidden' style rule on a red element and verifies there is no red on the page. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ Test passes if a green rectangle is visible, and there is no red visible on the page. +

+
+ + $RCSfile: styling-css-07-f.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/styling-css-08-f.svg b/Tests/W3CTestSuite/svg/styling-css-08-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..8f18acdab89f536a5c753c9b8348845574284607 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-08-f.svg @@ -0,0 +1,116 @@ + + + + + + + + + + +

+ Test that CSS styling via the 'style' element is supported. +

+

+ For each of a representative sampling of selectors, specify a 'visibility: hidden' style rule and add a corresponding red + element to the markup. A reference in green is shown for each shape. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if there is no red visible on the page and there are seven green shapes visible. +

+
+ + $RCSfile: styling-css-08-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/styling-css-09-f.svg b/Tests/W3CTestSuite/svg/styling-css-09-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..f4be4a17510b14b9c47648b721f237bfd037bed3 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-09-f.svg @@ -0,0 +1,82 @@ + + + + + + + + + + +

+ Tests that CSS styling from an external style sheet is supported. +

+

+ For each of a representative sampling of selectors, a 'visibility: hidden' style rule is specified + to match a corresponding element in the markup. Identically shaped and sized elements (but which are not + applicable to any of the style selectors) are placed beneath them and should be visible + if the style sheet was applied correctly. +

+ + +

Run the test. No interaction required.

+
+ +

+ The test passes if there are seven blue shapes on the page. +

+
+ + $RCSfile: styling-css-09-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/styling-css-10-f.svg b/Tests/W3CTestSuite/svg/styling-css-10-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..66884a228db3f2c1aacefe176ee69bdc748f6908 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-css-10-f.svg @@ -0,0 +1,76 @@ + + + + + + + + + + +

+ Checks that stylesheets (style attributes, style elements, +external style sheets) are case-insensitive, unlike presentational attributes.

+ +

Subtest a checks that the invalid attribute +FiLl is ignored. Subtest b checks that the style attribute is +applied, the values being case-insensitive. Subtests c and d check +the same for style elements and imported external style sheets. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ If any red shows, the test fails. If four orange circles are shown, + the test passes and the user agent supports CSS style sheets. If + the top two circles are orange while the bottom two are blue, and the user agent does + not claim to support CSS style sheets, the test also passes. +

+
+ + $RCSfile: styling-css-10-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/styling-elem-01-b.svg b/Tests/W3CTestSuite/svg/styling-elem-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..718b231cbc6667c949bcca8023035c6caf4f6ad8 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-elem-01-b.svg @@ -0,0 +1,75 @@ + + + + + + + + + + +

+ This tests that the 'type' attribute on a 'style' element is + honored. +

+

+ Once the test is loaded, two rectangles are presented, + the upper indicating the result of a sub-test that checks + whether the 'type' attribute on a 'style' element correctly + defaults to "text/css", and the lower indicating the result + of a sub-test that checks whether a bogus value for 'type' + does not cause the 'style' element contents to be interpreted + as CSS. Each rectangle is green if the sub-test is passed + or red if it failed. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if both rectangles are green. +

+
+ + $RCSfile: styling-elem-01-b.svg,v $ + + + + + + + + + + Test that <style type=""> is honored + + + + No type="" attribute + Rubbish type="" attribute + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/styling-inherit-01-b.svg b/Tests/W3CTestSuite/svg/styling-inherit-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1e49a4b3821c8efe3af4ad095851dff5a904ad4e --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-inherit-01-b.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

+ Verify property inheritance as required by 6.15 "Property + inheritance". Since all implementations are required to do this, only + presentation attributes are used. +

+ + +

+Run the test. No interaction required. +

+
+ +

+ At the center right, there is an ellipse. The fill color is not + specified on that element but on its parent. The ellipse should be filled a solid yellow +

+

+ At the top left, an oval shape is formed from a rectangle + with a radial gradient. The color of the middle stop uses the keyword 'inherit' + and thus takes its parent's value of green, giving a yellow, green, white gradient. +

+

+ At the bottom left, an oval shape is formed from a rectangle + with a radial gradient. The color of the middle stop uses the value 'currentColor' + and thus takes the value its parent's color property, a dark red, + giving a yellow, dark red, white gradient. +

+
+ + $RCSfile: styling-inherit-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-pres-01-t.svg b/Tests/W3CTestSuite/svg/styling-pres-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..72ee060e072388a35ba077c63a6555401bda981b --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-pres-01-t.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + +

+ Tests that !important in a presentation attribute is an unsupported value +

+

+ A fill attribute is set to red with !important. This is an unsupported attribute value, + consequently the fill attribute should be the lacuna value, which is black. Therefore, to pass, the rectangle should be filled with black. +

+

A lime green border is also drawn, to check that rendering continues after the element with the unsupported value.

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The rectangle should be filled with black, with a lime green border. +

+
+ + $RCSfile: styling-pres-01-t.svg,v $ + + + + + + + + + + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-pres-02-f.svg b/Tests/W3CTestSuite/svg/styling-pres-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..3e116fd10da1b3d71a4e798bdf7b7e5ba3a08e06 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-pres-02-f.svg @@ -0,0 +1,216 @@ + + + + + + + + + + +

+ This tests that a presentation attribute that is not relevant + to a given element which is otherwise stylable is correctly stored + in the property collection for that element. In particular, + it tests the following presentation attributes: +

+
    +
  • fill on image
  • +
  • stop-opacity on tspan
  • +
  • font-size on rect
  • +
  • font-style on circle
  • +
  • stop-color on text
  • +
  • font-variant on ellipse
  • +
  • letter-spacing on polyline
  • +
  • flood-color on tref
  • +
  • flood-opacity on textPath
  • +
  • color-interpolation-filters on altGlyph
  • +
  • display on linearGradient
  • +
  • fill-rule on stop
  • +
  • visibility on radialGradient
  • +
  • lighting-color on clipPath
  • +
+ + +

+ The test comprises 14 sub-tests, each with a rectangle that indicates + whether a given presentation attribute of the 14 listed in the test + description affects the style of the element on which it is specified. A rectangle + is black if the sub-test did not run, red if the sub-test failed and + green if the sub-test succeeded. +

+
+ +

+ The test is passed if all 14 rectangles are green. +

+
+ + $RCSfile: styling-pres-02-f.svg,v $ + + + + + + + + + Testing inapplicable presentation attributes + + + + + + + + + abc + + + + + + + + fill on image + + + stop-opacity on tspan + + + font-size on rect + + + font-style on circle + + + stop-color on text + + + font-variant on ellipse + + + letter-spacing on polyline + + + flood-color on tref + + + flood-opacity on textPath + + + clr-intp-filters on altGlyph + + + display on linearGradient + + + fill-rule on stop + + + visibility on radialGradient + + + lighting-color on clipPath + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/styling-pres-03-f.svg b/Tests/W3CTestSuite/svg/styling-pres-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..a803a8814f520153bb6f62d7433154c69b6040d2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-pres-03-f.svg @@ -0,0 +1,57 @@ + + + + + + + + + + +

+ Presentation attributes have lower priority than internal CSS style rules. +

+ + +

+ Specify an inline 'fill: none' style rule on an element with 'fill=red' presentation attribute and verify there is no red + on the page. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: styling-pres-03-f.svg,v $ + + + + + + + + + + + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/styling-pres-04-f.svg b/Tests/W3CTestSuite/svg/styling-pres-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..8ef604d0b7340e8d7ab00d17ae717a17bf16d3cb --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-pres-04-f.svg @@ -0,0 +1,102 @@ + + + + + + + + + + +

+ Presentation attributes have lower priority than other CSS style rules specified in an internal style sheet. +

+ + +

+ For each of a representative sampling of selectors, specify a 'fill: green' style rule for it, and add a corresponding + element with 'fill=red' presentation attribute to the markup. Verify there is no red on the page. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: styling-pres-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/styling-pres-05-f.svg b/Tests/W3CTestSuite/svg/styling-pres-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..38e1c42cb3f12e663f2a3db24de0eac6f13b2123 --- /dev/null +++ b/Tests/W3CTestSuite/svg/styling-pres-05-f.svg @@ -0,0 +1,75 @@ + + + + + + + + + + +

+ Presentation attributes have lower priority than other CSS style rules specified in an external style sheet. +

+ + +

+ For each of a representative sampling of selectors, specify a 'fill: green' style rule for it, and add a corresponding + element with 'fill=red' presentation attribute to the markup. Verify there is no red on the page. +

+
+ +

+ Test passes if there is no red visible on the page. +

+
+ + $RCSfile: styling-pres-05-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/svgdom-over-01-f.svg b/Tests/W3CTestSuite/svg/svgdom-over-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..bf03243ed552d6b5a24e95f2d05d00c2eb81643c --- /dev/null +++ b/Tests/W3CTestSuite/svg/svgdom-over-01-f.svg @@ -0,0 +1,202 @@ + + + + + + + + + + +

+ This tests how unspecified attributes affect the return values from the + SVG DOM methods related to attributes. +

+

+ After loading the test, you should see a list of red or green rectangles followed by some text describing each subtest. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test has passed if there is a line of text saying "Test status: PASSED", and there is a green rectangle to the left of that text. +

+
+ + $RCSfile: svgdom-over-01-f.svg,v $ + + + + + + + + + + + + + + + + sometext + + + + + + + + + + + $Revision: 1.9 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-align-01-b.svg b/Tests/W3CTestSuite/svg/text-align-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d6d6eb5a8ec52a2d0eb31a4ad69d3875146e1fe6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-01-b.svg @@ -0,0 +1,80 @@ + + + + + + + + + + + + +

+ Test 'text-anchor' property (horizontal). +

+

+ The three lines test the three values for property 'text-anchor': start, middle and end. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The lines in pink, 'text-anchor:none' and 'text-anchor:start', should both start from the same horizontal position (indicated by the black circle on each line) and extend to the right. + The green line, 'text-anchor:middle', should be centered horizontally around the black circle. + The blue line, 'text-anchor:end', should be aligned such that the end of the text meets the black circle. +

+
+ + $RCSfile: text-align-01-b.svg,v $ + + + + + + + + + Test 'text-anchor' (horizontal) + + + + + text-anchor:none + + + + + text-anchor:start + + + + + text-anchor:middle + + + + + text-anchor:end + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-align-02-b.svg b/Tests/W3CTestSuite/svg/text-align-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d172d84c23569f4dd8f3f8a15b46b74473b80550 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-02-b.svg @@ -0,0 +1,71 @@ + + + + + + + + + + + + +

+ Test the 'baseline-shift' property (horizontal). +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ This three lines test property 'baseline-shift'. + The first line tests 'baseline-shift:7' (i.e., a length for 'baseline-shift'). + The pink text should be shifted upwards by an amount approximately half of the height of the text. + The second line tests 'baseline-shift:-70%' (i.e., a percentage for 'baseline-shift'). + The pink text should shift downward by about the height of the text. + The third line tests the three keywords 'sub', 'super' and 'normal'. + The string "sub" should be shifted downwards, the string "super" shifted upwards, + and the string "te" (in blue) aligned with the remainder of the text in the line. +

+
+ + $RCSfile: text-align-02-b.svg,v $ + + + + + + + + + Test 'baseline-shift' (horizontal) + + + Normalbaseline-shift:7text + + + Normalbaseline-shift:-70%text + + + Normalsubsupertext + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-align-03-b.svg b/Tests/W3CTestSuite/svg/text-align-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..19bbf7c586f5981c84ab2e6befaf7e94d870c7ea --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-03-b.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

+ Test for viewer capibility to handle the basics of the 'textAnchor' + alignment property for 'text' and related elements. +

+

+ This test verify that + the interpreter correctly handles and applies the text-anchor + properties when present on "chunks", which are comprised of tspan elements + with absolute positioning, within the containing 'text' element. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if +

+
    +
  • + The text "Begin with "end"," ends just to the left of the vertical pink + line. +
  • +
  • + The text "switch to "middle" in a tspan," is split by the vertical pink + line roughly through the second 'd' in the world "middle". +
  • +
  • + The text "and "start" ends it." begins just to the right of the + vertical pink line. +
  • +
+
+ + $RCSfile: text-align-03-b.svg,v $ + + + + + + + + + Test of 'text-anchor' + + + + + + Begin with "end", switch to "middle" in a tspan, and "start" ends it. + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-align-04-b.svg b/Tests/W3CTestSuite/svg/text-align-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..812bbc274d81dc5addc8d773c5316ad87cb4b9e6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-04-b.svg @@ -0,0 +1,106 @@ + + + + + + + + + + + + +

+ Test for viewer capibility to handle the basics of the 'text-anchor' + alignment property for 'text' and related elements. +

+

+ The second group from the top contains sub-tests to verify that the + interpreter handles text-anchor when the text is comprised of other + text related elements, 'tspan', 'tref', and 'textPath'. + The text-anchor property is present on the containing 'text' element + in these cases, not on the contained child elements. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if: +

+
    +
  • + The text "start text pink tspan" begins just to the right of the + vertical pink line. +
  • +
  • + The text "middle text bold tspan" is split by the vertical pink line + between the words "text" and "bold". +
  • +
  • + The text "end text tref" ends just to the left of the vertical pink + line. +
  • +
  • + The text "end text on path" ends just to the left of the vertical pink + line. +
  • +
+
+ + $RCSfile: text-align-04-b.svg,v $ + + + + + + + + + + + + + + Test of 'text-anchor' + + end text tref + + + + Tspan, tref, toap + + + + + start text pink tspan + + + middle text bold tspan + + + + + + Text-anchor: end text on path + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-align-05-b.svg b/Tests/W3CTestSuite/svg/text-align-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..c6fd9bc5725cb83679a6e1aedc876716a7fe96c0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-05-b.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + +

+ Test 'text-anchor' property (vertical). +

+

+ This tests the three values for property 'text-anchor': start, middle and end. +

+ + +

+ Run the test. No interaction required. +

+
+ +

+ The test is passed if three vertical lines of text are displayed with + each line containing a single black dot. +

+ +
  • + The first vertical line of text containing the black dot at the top of + the text. +
  • +
  • + The second vertical line of text containing the black dot in the + middle of the text. +
  • +
  • + The third vertical line of text containing the black dot at the bottom + of the text. +
  • +
    +
    + + $RCSfile: text-align-05-b.svg,v $ + + + + + + + + + Test 'text-anchor' (vertical) + + + + + start + + + + middle + + + + end + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-align-06-b.svg b/Tests/W3CTestSuite/svg/text-align-06-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..62f97463c228b3236e11a5feb0961bbd9fe4c2f2 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-06-b.svg @@ -0,0 +1,99 @@ + + + + + + + + + + + + +

    + Tests various ways that the 'baseline-shift' property (vertical) can be + altered. +

    +

    + The first sub test sets the 'baseline-shift' to an absolute unit. The + second sub test sets the 'baseline-shift' to a percentage. The third sub + test sets the 'baseline-shift' to "sub". The fourth sub test sets the + 'baseline-shift' to "super". +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if four lines of vertical text are rendered. +

    +
      +
    • + The first vertical line should contain the text "te7xt" with the "7" + part being slightly offset to the right of the rest of the letters + in the text. +
    • +
    • + The second vertical line should contain the text "te-70%xt" with the + "-70%" part of the text being offset to the left of the rest of the + letters in the text. +
    • +
    • + The third vertical line should contain the text "tesubxt" with the + "sub" part of the text being slightly offset to left of the rest of + the letters in the text. +
    • +
    • + The fourth verical line should contain the text "tesuperxt" with the + "super" part of the text being offset to the right of the rest of the + letters in the text. +
    • +
    +
    + + $RCSfile: text-align-06-b.svg,v $ + + + + + + + + + Test 'baseline-shift' (vertic.) + + + + + te7xt + + + te-70%xt + + + tesubxt + + + tesuperxt + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-align-07-t.svg b/Tests/W3CTestSuite/svg/text-align-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..34121ebcaf100a9478d674a2c04ec5068777408c --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-07-t.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + +

    ISSUE - http://www.w3.org/2011/02/27-svg-irc#T22-20-51

    +

    + Test horizontal baselines across script and font size changes. +

    +

    + Original test authored by Rodney Hardy at CISRA and modified by + Anthony Grasso. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The dominant baseline should be alphabetic, so the 'a' will be sitting + on the blue line, the Japanese character '犜' will be on the ideographic baseline + and 'ण' is a Devangari character and will use the hanging baseline. The + smaller versions of the characters should be aligned to the same baselines. + So the 'a's on the blue line, the Japanese characters slightly below the line + and the Devangari characters should be hanging from the hanging baseline. +

    +
    + + $RCSfile: text-align-07-t.svg,v $ + + + + + + + + + + + + a犜णa犜णa犜ण + + + + hanging base line + + + + alphabetic base line + + + + ideographic base line + + + + + $Revision: 1.9 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-align-08-b.svg b/Tests/W3CTestSuite/svg/text-align-08-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..9541f574dd28686137a3dcf089d3638f92395cb0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-align-08-b.svg @@ -0,0 +1,91 @@ + + + + + + + + + + + + +

    ISSUE - http://www.w3.org/2011/02/27-svg-irc#T22-20-51

    +

    + Test horizontal baselines across script and font size changes. It uses an SVG Font, where + the Latin letter "a" is a rectangle, the Japanese letter "犜" is an upward-pointing triangle, + and the Devanagari letter "ण" is a downward-pointing triangle. +

    +

    + Original test authored by Rodney Hardy at CISRA. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The dominant baseline should be alphabetic, so the 'a' will be sitting on the alphabetic (blue) line, + the Japanese glyph (upward pointing triangle) will be aligned on the ideographic (pink) baseline + and 'ण' is a Devangari character (downward pointing triangle) and will use the hanging baseline (green). + The smaller versions of the characters should be aligned to the same baselines as the respective larger + characters, so all like shapes align to the same baseline. +

    +
    + + $RCSfile: text-align-08-b.svg,v $ + + + + + + + + + + + + + + + + + + + + a犜णa犜णa犜ण + + + + + + + + $Revision: 1.10 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-altglyph-01-b.svg b/Tests/W3CTestSuite/svg/text-altglyph-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..db208cea587322b977eb0c81edc5d38451c3da56 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-altglyph-01-b.svg @@ -0,0 +1,128 @@ + + + + + + + + + + + + +

    + Test 'altGlyph' facilities and many-to-many chars to glyphs. +

    + + +

    + Run the test. No interaction required. +

    +

    + This test requires some support for SVG fonts. +

    +
    + +

    + Three text strings show: the word "HAPPY" in pink, the word "SAD" in green + and the word "SASSY" in blue. +

    +

    + The "HAPPY" and "SAD" strings test the 'altGlyph' facility and + the ability to map multiple glyphs to a single character. + All characters except the "D" are bracketed by 'altGlyph' elements + to use two different glyphs to render each character. + For "HAPPY", the horizontal stroke through the center of the characters + is a smile stroke. + For "SAD", the horizontal stroke through the center of the characters + is a frown stroke. +

    +

    + The "SASSY" string tests a single glyph representing multiple characters + (a ligature). The SVG font in the test case contains an "SS" ligature + so that the "SS" in "SASSY" is rendered with a single glyph, where + the two parts of the "SS" are connected. +

    +
    + + $RCSfile: text-altglyph-01-b.svg,v $ + + + + + + + + + + Test 'altGlyph' facilities + and many-to-many chars to glyphs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +H +A +P +P +Y + + + SAD + + SASSY + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-altglyph-02-b.svg b/Tests/W3CTestSuite/svg/text-altglyph-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..d12e917e41ff9cd1e797e390d2cf8414ac20c752 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-altglyph-02-b.svg @@ -0,0 +1,344 @@ + + + + + + + + + + + + +

    + Test glyph selection using altGlyphDef and altGlyphItem elements. +

    + + +

    + Run the test. No interaction required. +

    +

    + Support for SVG Fonts is required for this test, and the last two text + strings are used to give a quick visual indication this is indeed + supported. +

    +

    + The test shows 24 different text strings with different combinations + of altGlyphItem element count and validity inside the altGlyphDef + elements, and number of characters in the altGlyph elements. The + glyphs are from a sans serif font, except those selected by + altGlyph, which are from a boldface serif font. The text + in the "Actual" columns should appear as shown in the corresponding + "Expected" column text. +

    +
    + +

    The test passes if each pair of (actual,expected) text strings + render identically.

    +
    + + $RCSfile: text-altglyph-02-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Actual + Expected + Actual + Expected + + + + + + + + + abcde + + + abcde + + + abcde + + + abcde + + + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + + + + + + abde + + + abde + + + abde + + + abde + + + abde + + + abde + + + + + abcde + + + abcde + + + abcde + + + abcde + + + + + a + b + + + + + + abcde + + + abcde + + + abcde + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + abcde + + + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + abde + + + acde + + + acde + + + acde + + abcde + + + + + + + + + + + + $Revision: 1.10 $ + + + + diff --git a/Tests/W3CTestSuite/svg/text-altglyph-03-b.svg b/Tests/W3CTestSuite/svg/text-altglyph-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..4327c9f80e4e9debd5633d829b3c9e7c02a8df45 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-altglyph-03-b.svg @@ -0,0 +1,373 @@ + + + + + + + + + + + + +

    + Test glyph selection using altGlyphDef and altGlyphItem elements. +

    + + + +

    This test was copied from text-altglyph-02-b.svg revision 1.9, which had some subtests + involving 'altGlyph' elements with no character data removed. All of the subtests + that are common with text-altglyph-02-b.svg can be removed from this test.

    +

    + Run the test. No interaction required. +

    +

    + Support for SVG Fonts is required for this test, and the last two text + strings are used to give a quick visual indication this is indeed + supported. +

    +

    + The test shows 24 different text strings with different combinations + of altGlyphItem element count and validity inside the altGlyphDef + elements, and number of characters in the altGlyph elements. The + glyphs are from a sans serif font, except those selected by + altGlyph, which are from a boldface serif font. The text + in the "Actual" columns should appear as shown in the corresponding + "Expected" column text. +

    +
    + +

    The test passes if each pair of (actual,expected) text strings + render identically.

    +
    + + $RCSfile: text-altglyph-03-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Actual + Expected + Actual + Expected + + + + + + + + + abcde + + + abcde + + + abcde + + + abcde + + + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + + + + bcde + + + bcde + + + bcde + + + bcde + + + + + + + abde + + + abde + + + abde + + + abde + + + abde + + + abde + + + + + abcde + + + abcde + + + abcde + + + abcde + + + + + a + b + + + + + + abcde + + + abcde + + + abcde + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + abcde + + + abcde + + + abcde + + + abcde + + bcde + + + + + abcde + + + abcde + + + abcde + + + abcde + + + abcde + + abde + + + acde + + + acde + + + acde + + abcde + + + + + + + + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-bidi-01-t.svg b/Tests/W3CTestSuite/svg/text-bidi-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..aff70f3c6aa742d03f98693664f8aca54dad3a75 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-bidi-01-t.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + +

    + Test directional type, ltr context, arabic. + Assertion: In a left-to-right context, without markup, styling or special characters, a sequence of Arabic characters and spaces will progress from right to left. +

    +

    You will need a font that allows you to distinguish Arabic characters.

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Test passes if the characters follow the same order. +

    +
    + + $RCSfile: text-bidi-01-t.svg,v $ + + + + + + + + + Ù…ÙØªØ§Ø­ معايير الويب + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-deco-01-b.svg b/Tests/W3CTestSuite/svg/text-deco-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..609162a9720097f3033fac9dd6c1295f18de04d0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-deco-01-b.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + +

    + Test the 'text-decoration' property. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    The test has passed if:

    +
      +
    • + The first line of text has no decoration. +
    • +
    • + The second line of text has a line through it. +
    • +
    • + The third line of text is underlined. +
    • +
    • + The fourth line of text has a blue underline with a green stroke under + all characters, except the word "different" which has a yellow underline + with a green stroke. +
    • +
    +
    + + $RCSfile: text-deco-01-b.svg,v $ + + + + + + + + + + Normal text + Text with line-through + Underlined text + + + One + word + has + different + underlining + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-dom-01-f.svg b/Tests/W3CTestSuite/svg/text-dom-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..ed54dc55095f6578113ff1539de761bd68c9c07f --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-dom-01-f.svg @@ -0,0 +1,230 @@ + + + + + + + + + + + + +

    + This tests the methods and properties of the SVGTextContentElement interface on the text element with the id 'testText' + and the content 'This is a test of the interface SVGTextContentElement'. The word 'is' has two glyphs with different + rotation values defined with a <tspan/> element. There are 12 subtests testing the 9 methods and 2 properties. + Note that the numeric results of some methods may vary. The additional instructions state where the result may vary + and where it should have an exact value. +

    + + +

    + [[ + Describe how to use the here. The instructions should specify any + steps requied to run the test or any manual operation that need + to be performed to run the test. + ]] +

    +
    + +

    + The first subtest is testing the method .getCharNumAtPosition(svgPt), where svgPt has an x value of 240 and y value of 25. + The result of this subtest must be "30". +

    +

    + The second subtest is testing the method .getComputedTextLength(). The rounded result may vary in the implementations but should be around 364. + A red line below the testText is visually indicating the result of the method .getComputedTextLength() and must look like a red underline + with a length that spans the whole text length from 'T' to '.'. +

    +

    + The third subtest is testing the method .getEndPositionOfChar() at the 11th character ('e'). + The rounded result may vary in the implementations but should be around 131 for the 'x' value and must be 30 for the 'y' value. + Additionally, a red vertical line is indicating the end position of the character 'e'. Its lower 'y' value must be at 30 + and the 'x' values must match the end position of the 11th character 'e'. +

    +

    + The fourth subtest is testing the method .getExtentOfChar() at the 11th character ('e'). + The rounded result may vary in the implementations but should be around '123,16,8,17' for the 'x,y,width,height' values. + A lightblue rectangle below the character 'e' must fully enclose the 11th glyph. +

    +

    + The fifth subtest is testing the method .getNumberOfChars(). The result must be 54. +

    +

    + The sixth subtest is testing the method .getRotationOfChar() for the fifth character. The result must be 45. + Additionally, a lightblue rectangle below the text indicates the extent of the fifth glyph 'i'. + It must fully enclose the diagonally rotated fifth glyph 'i'. +

    +

    + The seventh subtest is testing the method .getStartPositionOfChar() at the 11th character ('e'). + The rounded result may vary in the implementations but should be around 123 for the 'x' value and must be 30 for the 'y' value. + Additionally, a red vertical line is indicating the start position of the character 'e'. Its lower 'y' value must be at 30 + and the 'x' values must match the end position of the 11th character 'e'. +

    +

    + The eighth subtest is testing the method .getSubStringLength(), starting at character 22 and including the 9 following characters. + The result may vary in the implementations but should be around 58. Additionally, a green (lime) line visually indicates + the result of the method. The word 'interface' must be fully underlined with the green line. +

    +

    + The ninth subtest is testing the method .selectSubString(). After loading the file, the word "the" must be selected. +

    +

    + The tenth subtest is testing the property .textLength. The rounded result of .textLength.baseVal.value may vary in + the implementations but should be around 364. + It must match the value calculated in the second subtest (.getComputedTextLength()). +

    +

    + The eleventh subtest is again testing the property .textLength. The rounded result of .textLength.animVal.value may vary in + the implementations but should be around 364. + It must match the value calculated in the second subtest (.getComputedTextLength()). +

    +

    + The twelfth subtest is again testing the property .lengthAdjust. The results of .lengthAdjust.baseVal and + .lengthAdjust.animVal must be 1 and 1. +

    +
    + + $RCSfile: text-dom-01-f.svg,v $ + + + + + + + + + + + + This is a test of the interface SVGTextContentElement. + + .getCharNumAtPosition() result: + .getComputedTextLength() result: + .getEndPositionOfChar(11) result ('e'): + .getExtentOfChar(11) result ('e'): + .getNumberOfChars() result: + .getRotationOfChar(5) result: + .getStartPositionOfChar(11) result: + .getSubStringLength(22,9) result ('interface'): + .selectSubString(18,3) result: the word 'the' should be selected + .textLength.baseVal.value result: + .textLength.animVal.value result: + .lengthAdjust.baseVal and .lengthAdjust.animVal result: + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-dom-02-f.svg b/Tests/W3CTestSuite/svg/text-dom-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..bcbbe1063600ab1821e807aa4337afc5e8411bf0 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-dom-02-f.svg @@ -0,0 +1,131 @@ + + + + + + + + + + + + +

    + This tests that methods on the SVGTextContentElement interface + that take an index to a character or a number of characters + actually interpret these as indexes to or numbers of UTF-16 code + units. To test this, a character from outside the Basic Multilingual Plane + (U+10000; LINEAR B SYLLABLE B008) is used in a text string. + This character is stored in UTF-16 as a surrogate pair. +

    +

    + The test consists of two sub-tests, which test those methods + on the SVGTextContentElement interface which do not rely on rendering. The result + of each sub-test is shown as a small rectangle: black + indicates that the sub-test did not run, red indicates that + the sub-test failed and green indicates that the sub-test + succeeded. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if both rectangles are green. +

    +
    + + $RCSfile: text-dom-02-f.svg,v $ + + + + + + + + + Test that SVGTextContentElement methods work on UTF-16 code units + Methods independent of layout + + + + + + + + a𐀀b + + + getNumberOfChars + + + getSubStringLength + + + + + $Revision: 1.10 $ + + + + diff --git a/Tests/W3CTestSuite/svg/text-dom-03-f.svg b/Tests/W3CTestSuite/svg/text-dom-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..325bca68c9fed6616b4fb965be089c5a35c86d4d --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-dom-03-f.svg @@ -0,0 +1,130 @@ + + + + + + + + + + + + +

    + This tests that SVGTextContentElement.getSubStringLength() + handles out-of-range charnum and nchars parameter values correctly. +

    +

    + The test consists of 5 sub-tests, which test the different + combinations of values passed to SVGTextContentElement.getSubStringLength(). + The result of each sub-test is shown as a small rectangle: black + indicates that the sub-test did not run, red indicates that + the sub-test failed and green indicates that the sub-test + succeeded. +

    + + +

    + Run the test. No interaction required. The test relies on support for SVG Fonts. +

    +
    + +

    + The test is passed if all 5 rectangles are green. +

    +
    + + $RCSfile: text-dom-03-f.svg,v $ + + + + + + + + + Test that getSubStringLength() handles out-of-range arguments + + + + + + + + + ababa + + + charnum < 0 + + + nchars < 0 + + + charnum = 0, nchars = length + + + charnum = 0, nchars = length + 10 + + + charnum = 1, nchars = -1 + + + + + $Revision: 1.9 $ + + + + diff --git a/Tests/W3CTestSuite/svg/text-dom-04-f.svg b/Tests/W3CTestSuite/svg/text-dom-04-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..67d39509397c62ec5e380754e82af5577032b5f4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-dom-04-f.svg @@ -0,0 +1,157 @@ + + + + + + + + + + +

    + This tests the SVGTextContentElement.getSubStringLength method. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + To pass the test there should be no red visible. +

    +
    + + $RCSfile: text-dom-04-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + abca𝍒cb + + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-dom-05-f.svg b/Tests/W3CTestSuite/svg/text-dom-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..017d9ffe9c3bdc3079cd334fdaac45b161d6e747 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-dom-05-f.svg @@ -0,0 +1,181 @@ + + + + + + + + + + + + +

    + This tests that methods on the SVGTextContentElement interface + that take an index to a character or a number of characters + actually interpret these as indexes to or numbers of UTF-16 code + units. To test this, a character from outside the Basic Multilingual Plane + (U+10000; LINEAR B SYLLABLE B008) is used in a text string. + This character is stored in UTF-16 as a surrogate pair. +

    +

    + The test consists of 5 sub-tests, which test the methods + methods on the SVGTextContentElement interface. The result + of each sub-test is shown as a small rectangle: black + indicates that the sub-test did not run, red indicates that + the sub-test failed and green indicates that the sub-test + succeeded. +

    + + +

    + Run the test. No interaction required. +

    +

    + The test relies on support for WebFonts - either SVG Fonts, or WOFF, or OpenType. +

    +
    + +

    + The test is passed if all 5 rectangles are green. +

    +
    + + $RCSfile: text-dom-05-f.svg,v $ + + + + + + + + + Test that SVGTextContentElement methods work on UTF-16 code units + Methods that rely on layout + + + + + + + + a𐀀b + + + getStartPositionOfChar + + + getEndPositionOfChar + + + getExtentOfChar + + + getRotationOfChar + + + getCharNumAtPosition + + + + + $Revision: 1.6 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-01-t.svg b/Tests/W3CTestSuite/svg/text-fonts-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..30cc2fbd62d017def455e163003cf25e8e338c4b --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-01-t.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + +

    + Purpose of test is to determine if the font family is being + correctly selected. The top two lines of text test serif fonts; + the top line in maroon tests the generic font family 'serif' + and the second line in black tests a selection of commonly + available named serif fonts. The next two lines of text test + sans-serif fonts; + the top line in maroon tests the generic font family 'sans-serif' + and the second line in black tests a selection of commonly + available named sans serif fonts. The following two lines + of text test monospaced fonts; + the top line in maroon tests the generic font family 'monospaced' + and the second line in black tests a selection of commonly + available named monospaced fonts. The lowercase 'i' and uppercase'W' + should be the same width,for monospaced fonts. +

    +

    + The seventh line of text, in green, tests for + three non-existent fonts (nonsense names). There is no fallback + generic font specified. The text must be displayed anyway. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The first six lines contain two Japanese characters (ç”»åƒ) + at the end of the line. Both of these characters must be displayed, + although it is compliant to display them with the 'missing glyph' + if no suitable font containing Japanese characters can be found. + Most but not all fonts have a visible missing glyph character. + If the selected font has a visible missing glyph character, it should appear + wherever the corresponding glyph is not available. +

    +
    + + $RCSfile: text-fonts-01-t.svg,v $ + + + + + + + + + + A serifed face ç”»åƒ + A sans-serif face ç”»åƒ + A mono (iW) face ç”»åƒ + + A serifed face ç”»åƒ + A sans-serif face ç”»åƒ + A mono (iW) face ç”»åƒ + + This must be displayed + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-02-t.svg b/Tests/W3CTestSuite/svg/text-fonts-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..ba2947149fed70b2622c39e84095151060d59b3f --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-02-t.svg @@ -0,0 +1,92 @@ + + + + + + + + + + + + +

    + Purpose of test is to determine if the font weight is being + correctly rendered. A number of font families are specified. The + numerical weight values (100 to 900) should show the lighter weights + on the lower numbers and the heavier weights on the larger numbers. + Heavier is defined to mean 'no lighter'. +

    +

    + If only one font weight is available, they should all display at the + same weight. The transition from black to green figures shows the + correct light to bold transition for the common case where two + weights are available. If three or more weights are available, see + the CSS2 specification for how these are allocated to the nine + weight numbers. +

    +

    + The absolute keywords 'normal' and bold' are tested + by the first two lines on the right hand side of the test, + the third line of text tests the to 'bolder' + relative keyword and the fourth tests the + 'lighter' relative keyword. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The numerical weight values (100 to 900) should show the lighter weights on the + lower numbers and the heavier weights on the larger numbers. Heavier is defined + to mean 'no lighter'. +

    +
    + + $RCSfile: text-fonts-02-t.svg,v $ + + + + + + + + + + 100 + 200 + 300 + 400 + 500 + 600 + 700 + 800 + 900 + This is bold + This is normal + + Blue is bolder + + + Blue is lighter + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-03-t.svg b/Tests/W3CTestSuite/svg/text-fonts-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..05a0fc69bfaf48642b34fce678bd6845ffa3590b --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-03-t.svg @@ -0,0 +1,85 @@ + + + + + + + + + + + + +

    + Testing font-family attribute. + Two SVG fonts are defined. Various text elements are then + used with varying values for the font-family attribute. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The first two text elements should display in their respective fonts, + the last two should be displayed using the system font since the + value specified for font-family is either invalid or not specified. +

    +
    + + $RCSfile: text-fonts-03-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + font-family = "Haettenschweiler" + ABC + + font-family = "Charlesworth" + ABC + + font-family = "Invalid Name" + ABC + + font-family = not specified + ABC + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-04-t.svg b/Tests/W3CTestSuite/svg/text-fonts-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..e371d71d4079d74c483cfa358e46a74fe7fae872 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-04-t.svg @@ -0,0 +1,76 @@ + + + + + + + + + + + + +

    + Testing font-family attribute. + Various text elements are + used with varying values for the font-family attribute. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The first two text elements should display in their respective fonts, + Haettenschweiler and + Charlesworth, + if they are installed on the target system. Otherwise, simply + displaying the text in some fallback font is enough to pass the test. + The last two should be displayed using a fallback font since the + value specified for font-family is either invalid or not specified. + Failing to display the text means the test is not passed. +

    +
    + + $RCSfile: text-fonts-04-t.svg,v $ + + + + + + + + + + + font-family = "Haettenschweiler" + ABC + + font-family = "Charlesworth" + ABC + + font-family = "Invalid Name" + ABC + + font-family = not specified + ABC + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-05-f.svg b/Tests/W3CTestSuite/svg/text-fonts-05-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b615e80362c8423700e59bb9139608874ebdf990 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-05-f.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + +

    + Test that the 'line-height' property has no effect on text layout. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Test passes if the three blue instances of 'Filler Text' all have the same vertical position on the page. +

    +
    + + $RCSfile: text-fonts-05-f.svg,v $ + + + + + + + + + + FillerText + FillerText + FillerText + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-202-t.svg b/Tests/W3CTestSuite/svg/text-fonts-202-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a26092a971c0722e7fa4760a3f024157d728492a --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-202-t.svg @@ -0,0 +1,100 @@ + + + + + + + + + + + + +

    + This tests the 'font-weight' property when multiple weights are available. A + font family with six weights is specified, with a fallback to 'serif'. +

    +

    + If only one font weight is available, they should all display at the same weight. + The transition from black to green figures shows the correct light to bold transition + for the common case where two weights are available. If three or more weights are + available, see the CSS2 specification for how these are allocated to the nine weight + numbers. The specified font has six weights. +

    +

    + The absolute keywords 'normal' and bold' are tested by the first two lines on the + right hand side of the test, the third line of text tests the to 'bolder' relative + keyword and the fourth tests the 'lighter' relative keyword. +

    + + +

    + If the platform supports installable opentype fonts, please download and install + Zalamander Caps + by Tim Ahrens of Just Another Foundry. + Then, view this test. +

    +
    + +

    + The numerical weight values (100 to 900) should show the lighter weights on the + lower numbers and the heavier weights on the larger numbers. Heavier is defined + to mean 'no lighter'. +

    +
    + + $RCSfile: text-fonts-202-t.svg,v $ + + + + + + + + + + + 100 + 200 + 300 + 400 + 500 + 600 + 700 + 800 + 900 + This is bold + This is normal + + Blue is bolder + + + Blue is lighter + + + ZalamanderCaps is an OpenType font + by Tim Ahrens of Just Another Foundry + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-203-t.svg b/Tests/W3CTestSuite/svg/text-fonts-203-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0f8d37624be1c49d0d2ea3cbfaf83b02f2d12a0b --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-203-t.svg @@ -0,0 +1,147 @@ + + + + + + + + + + + + +

    + This tests the 'font-weight' property when multiple weights are available. A + font family with five weights is specified, with a fallback to 'serif'. +

    +

    + The specified font family has five weights - 300, 400, 600, 700 and 800. + See the CSS3 Font specification + for how these are allocated to the nine weight numbers. +

    +

    + The absolute keywords 'normal' and bold' are tested by the first two lines on the + right hand side of the test, the third line of text tests the to 'bolder' relative + keyword and the fourth tests the 'lighter' relative keyword. +

    +

    The fonts are SVG fonts convertted, with the author's explicit permission, + from Zalamander Caps + by Tim Ahrens of Just Another Foundry. + An ASCII subset has been generated for this test. The font names have been + obfuscated, to deter + user agent sniffing for keywords like "Ultrabold". All weights in this generated + family are multiples of 100 and greater or equal to 300.

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The numerical weight values (100 to 900) should show the lighter weights on the + lower numbers and the heavier weights on the larger numbers. Heavier is defined + to mean 'no lighter'. +

    +
    + + $RCSfile: text-fonts-203-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100 + 200 + 300 + 400 + 500 + 600 + 700 + 800 + 900 + This is bold + This is normal + + Blue is bolder + + + Blue is lighter + + + ZalamanderCaps is an OpenType font + by Tim Ahrens of Just Another Foundry + + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-fonts-204-t.svg b/Tests/W3CTestSuite/svg/text-fonts-204-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..31f464a117c2d44b2325ec671fee54d5aca53540 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-fonts-204-t.svg @@ -0,0 +1,138 @@ + + + + + + + + + + + + +

    + This tests the 'font-weight' property when multiple weights are available. A + font family with five weights is specified, with a fallback to 'serif'. +

    +

    + The specified font family has five weights - 300, 400, 600, 700 and 800. + See the CSS3 Font specification + for how these are allocated to the nine weight numbers. +

    +

    + The absolute keywords 'normal' and bold' are tested by the first two lines on the + right hand side of the test, the third line of text tests the to 'bolder' relative + keyword and the fourth tests the 'lighter' relative keyword. +

    +

    The fonts are WOFF fonts convertted, with the author's explicit permission, + from Zalamander Caps + by Tim Ahrens of Just Another Foundry. + The font names have been obfuscated, to deter + user agent sniffing for keywords like "Ultrabold". All weights in this generated + family are multiples of 100 and greater or equal to 300.

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The numerical weight values (100 to 900) should show the lighter weights on the + lower numbers and the heavier weights on the larger numbers. Heavier is defined + to mean 'no lighter'. +

    +
    + + $RCSfile: text-fonts-204-t.svg,v $ + + + + + + + + + + + + + + 100 + 200 + 300 + 400 + 500 + 600 + 700 + 800 + 900 + This is bold + This is normal + + Blue is bolder + + + Blue is lighter + + + ZalamanderCaps is an OpenType font + by Tim Ahrens of Just Another Foundry + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-intro-01-t.svg b/Tests/W3CTestSuite/svg/text-intro-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..6d28e0c5c34a90e6ccac2264c29565997d44e7bd --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-01-t.svg @@ -0,0 +1,95 @@ + + + + + + + + + + + + +

    + Test left-to-right aspect of internationalized text. +

    +

    + Various text strings in various languages appear. The main + purpose of the test is to verify that the correct characters + appear and that they appear in the correct order and orientation, even + though the first choice font does not have the right glyphs. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Correct rendering requires that each character is rendered. It may be rendered + with the 'missing glyph' if no + glyphs are found in the fonts listed in the content, or in any fallback font + that is available. The first choice font + is a special SVG font that only contains the 'missing glyph'. Missing glyph from + other fonts may conformantly be used, however. +

    +

    + The test is passed if the lines of text appear as follows: +

    +
      +
    • Polish: MogÄ™ jeść szkÅ‚o, i mi ...
    • +
    • Russian: Я могу еÑть Ñтекло, ...
    • +
    • Greek: ΜποÏÏŽ να φάω ...
    • +
    • Hebrew: ×× ×™ יכול ל×כול זכוכית ...
    • +
    • Yiddish: ×יך קען עסן גל×ָז ×ון ...
    • +
    • Chinese:我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。
    • +
    • Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã¾ã™ã€‚
    • +
    +
    + + $RCSfile: text-intro-01-t.svg,v $ + + + + + + + + + + + + + + + Test left-to-right text. + + Polish: MogÄ™ jeść szkÅ‚o, i mi ... + Russian: Я могу еÑть Ñтекло, ... + Greek: ΜποÏÏŽ να φάω ... + Hebrew: ×× ×™ יכול ל×כול זכוכית ... + Yiddish: ×יך קען עסן גל×ָז ×ון ... + + + Chinese:我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。 + + + Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã¾ã™ã€‚ + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-02-b.svg b/Tests/W3CTestSuite/svg/text-intro-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1b36814beae722f76ad3380f24034750adc84458 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-02-b.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + +

    + Test various aspects of internationalized text, including + left-to-right, right-to-left, and the + following properties: 'writing-mode', + 'direction' and 'unicode-bidi'. +

    +

    + Various text strings in various languages appear. Ttest of bidi algorithms and support of 'unicode-bidi' and + 'direction' properties. +

    + + +

    + This test requires installation of a system font that supports + the various international characters used in this test case. A + suitable font should be used by the SVG renderer if none of the + specified font families are available (or if they are available but do + not have the required glyphs). +

    +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if the correct characters + appear and they appear in the correct order and orientation. + Ensure that the three lines with Hebrew are ordered + correctly, as shown in the reference image. +

    +
    + + $RCSfile: text-intro-02-b.svg,v $ + + + + + + + + + unicode-bidi="bidi-override" direction="ltr". + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + unicode-bidi="bidi-override" direction="rtl". + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + unicode-bidi="normal" direction="rtl". + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + + + $Revision: 1.10 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-03-b.svg b/Tests/W3CTestSuite/svg/text-intro-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..8b20a651146306812e0398a3f992963ac72b634d --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-03-b.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + +

    + Test top-to-bottom internationalized text and the + following properties: 'writing-mode', + 'glyph-orientation-vertical', 'glyph-orientation-horizontal'. +

    +

    + Various text strings in various languages appear. The main + purpose of the test is to verify that the correct characters + appear and that they appear in the correct order and orientation. + Ensure that the two lines of + vertical Japanese text have the proper orientation + (test of 'glyph-orientation-vertical' property). +

    + + +

    + This test requires installation of a system font that supports + the various international characters used in this test case. A + suitable font should be used by the SVG renderer if none of the + specified font families are available (or if they are available but do + not have the required glyphs). To + minimize system dependencies, a future version of this test + might include all necessary glyphs as an SVG font. +

    +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if first line of text has the english text "Text" and + "in Chinese" rotated 270 degrees and the Chinese text displayed top to + bottom. The second line of text has the english text "Japanese:" rotated + 270 degrees and the Japanese text displayed top to bottom. The third + line of text has the letters in the english text "Japanese:" displayed + vertically and the Japanese text displayed top to bottom. +

    +
    + + $RCSfile: text-intro-03-b.svg,v $ + + + + + + + + + + Text "我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。" in Chinese + Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãれã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。 + Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãれã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。 + xt "æˆ‘èƒ½åž + se: ç§ã¯ + se: ç§ã¯ + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-04-t.svg b/Tests/W3CTestSuite/svg/text-intro-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..565808ba698dc9dc335c772250261b22eab97f29 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-04-t.svg @@ -0,0 +1,75 @@ + + + + + + + + + + + + +

    + Test basic aspect of internationalized text. +

    +

    + Various text strings in various languages appear. The main + purpose of the test is to verify that the correct characters + appear and that they appear in the correct order and orientation. +

    +

    + A future version of this test + might include all necessary glyphs as an SVG font. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Correct rendering requires that each character is rendered. It is not required that a given character + be rendered with any particular font; just that it is rendered. + It may be rendered with the 'missing glyph' if no + glyphs are found in the fonts listed in the content, or in any fallback font that is available. +

    +
    + + $RCSfile: text-intro-04-t.svg,v $ + + + + + + + + + Test horizontal text. + + Polish: MogÄ™ jeść szkÅ‚o, i mi nie szkodzi. + Russian: Я могу еÑть Ñтекло, Ñто мне не вредит. + Greek: ΜποÏÏŽ να φάω σπασμένα γυαλιά χωÏίς να πάθω τίποτα. + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + Yiddish: ×יך קען עסן גל×ָז ×ון עס טוט מיר נישט װײ. + Chinese:我能åžä¸‹çŽ»ç’ƒè€Œä¸ä¼¤èº«ä½“。 + Japanese: ç§ã¯ã‚¬ãƒ©ã‚¹ã‚’食ã¹ã‚‰ã‚Œã¾ã™ã€‚ãれã¯ç§ã‚’å‚·ã¤ã‘ã¾ã›ã‚“。 + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-05-t.svg b/Tests/W3CTestSuite/svg/text-intro-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..9f23827cf63bb6418e9b520f313b4aa3e5e4b724 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-05-t.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + +

    + Tests Arabic text using various platform fonts. If these fonts are not available, + a fallback font should be used that has Arabic glyphs. If such a font is not available, + the 'missing glyph' (typically an open rectangle) should be displayed. It is an error + to display the wrong Arabic glyphs, for example to display all isolate forms. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The text should be positioned such that the begining of the start of the + Arabic text is at very right of the test and runs towards the left of + the test border. +

    +
    + + $RCSfile: text-intro-05-t.svg,v $ + + + + + + + + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-06-t.svg b/Tests/W3CTestSuite/svg/text-intro-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0e5ac1f9273522a3c2fd01879c060e377e1ec93f --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-06-t.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + +

    + This test ensures that mandatory ligatures in Arabic are displayed. + This test uses WOFF fonts for rendering, with platform fonts for fallback. +

    +

    + There are two subtests. The first + requires an isolate lam-alef ligature and the second requires + a right-joining lam-alef ligature. +

    +

    + The first subtest has the word for 'tools', آلات + 0622: آ ARABIC LETTER ALEF WITH MADDA ABOVE + 0644: ل ARABIC LETTER LAM + 0627: ا ARABIC LETTER ALEF + 062A: ت ARABIC LETTER TEH +

    +

    + The second subtest has the word for 'three', ثلاثة + 062B: ث ARABIC LETTER THEH + 0644: ل ARABIC LETTER LAM + 0627: ا ARABIC LETTER ALEF + 062B: ث ARABIC LETTER THEH + 0629: ة ARABIC LETTER TEH MARBUTA +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if subtests are displayed as following: +

    +
      +
    • The first subtest has the word for 'tools', آلات
    • +
    • The second subtest has the word for 'three', ثلاثة
    • +
    +

    In the first subtest, there must be an isolate lam-alef ligature + and in the second subtest there must be a right-joining lam-alef + ligature, (so that them, lam and alef are all connected), as in the reference image. +

    +

    The precise glyph shapes will depend on which font was used for rendering, + and do not affect the pass criteria. Only the presence of the + mandatory ligatures is tested here.

    +
    + + $RCSfile: text-intro-06-t.svg,v $ + + + + + + + + + + + + + آلات + ثلاثة + + + + $Revision: 1.10 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-07-t.svg b/Tests/W3CTestSuite/svg/text-intro-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..f474aa99f412f6a8050289dc0756bb6cf3365001 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-07-t.svg @@ -0,0 +1,65 @@ + + + + + + + + + + +

    This test ensures that mandatory ligatures in Arabic are displayed.

    +

    + There are two subtests. The first requires an isolate lam-alef ligature + and the second requires a right-joining lam-alef ligature. +

    + + +

    Run the test. No interaction required.

    +
    + +

    + The test is passed if subtests are displayed as following: +

    +
      +
    • The first subtest has the word for 'tools', آلات
    • +
    • The second subtest has the word for 'three', ثلاثة
    • +
    +
    + + $RCSfile: text-intro-07-t.svg,v $ + + + + + + + + + + + + + آلات + ثلاثة + + + + + $Revision: 1.2 $ + + + + \ No newline at end of file diff --git a/Tests/W3CTestSuite/svg/text-intro-09-b.svg b/Tests/W3CTestSuite/svg/text-intro-09-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..1a39e383cc3fc2c2cf74ff01e1b0c9f0d3051aaa --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-09-b.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

    + Test various aspects of internationalized text, including + left-to-right, right-to-left, and the + following properties: 'writing-mode', + 'direction' and 'unicode-bidi'. +

    +

    + Various text strings in various languages appear. Test of bidi algorithms and support of 'unicode-bidi' and + 'direction' properties. Uses Webfonts. +

    +

    + This test uses Webfonts; both SVG and WOFF fonts are provided. +

    + + +

    + Run the test. No interaction required. Make sure scripting is enabled. +

    +
    + +

    + The test is passed if the correct characters + appear and they appear in the correct order and orientation. + Ensure that the three lines with Hebrew are ordered + correctly, as shown in the reference image. +

    +
    + + $RCSfile: text-intro-09-b.svg,v $ + + + + + + + + + + + + + + + unicode-bidi="bidi-override" direction="ltr". + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + unicode-bidi="bidi-override" direction="rtl". + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + unicode-bidi="normal" direction="rtl". + + Text "×× ×™ יכול ל×כול זכוכית וזה ×œ× ×ž×–×™×§ לי" is in Hebrew + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-intro-10-f.svg b/Tests/W3CTestSuite/svg/text-intro-10-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..db0b0fb46eec0ab9721ce170b729ab81e16eee70 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-10-f.svg @@ -0,0 +1,70 @@ + + + + + + + + + + + + +

    + Tests Arabic text using various platform fonts. If these fonts are not available, + a fallback font should be used that has Arabic glyphs. If such a font is not available, + the 'missing glyph' (typically an open rectangle) should be displayed. It is an error + to display the wrong Arabic glyphs, for example to display all isolate forms. +

    +

    This test uses writing-mode and direction to set the text as right-to-left.

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The text should be positioned such that the begining of the start of the + Arabic text is at very right of the test and runs towards the left of + the test border. +

    +
    + + $RCSfile: text-intro-10-f.svg,v $ + + + + + + + + + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + + لماذا لا يتكلمون اللّغة العربية ÙØ­Ø³Ø¨ØŸ + + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-intro-11-t.svg b/Tests/W3CTestSuite/svg/text-intro-11-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..d754b7e3ebfccc1cdbe38a723660b0aae9e7ba72 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-11-t.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + + +

    + This test ensures that mandatory ligatures in Arabic are displayed. + Three values for text-anchor are also tested; + middle, + start and + end. + This test uses platform fonts for rendering. +

    +

    + There are two subtests. The first + requires an isolate lam-alef ligature and the second requires + a right-joining lam-alef ligature. +

    +

    + The first subtest has the word for 'tools', آلات + 0622: آ ARABIC LETTER ALEF WITH MADDA ABOVE + 0644: ل ARABIC LETTER LAM + 0627: ا ARABIC LETTER ALEF + 062A: ت ARABIC LETTER TEH +

    +

    + The second subtest has the word for 'three', ثلاثة + 062B: ث ARABIC LETTER THEH + 0644: ل ARABIC LETTER LAM + 0627: ا ARABIC LETTER ALEF + 062B: ث ARABIC LETTER THEH + 0629: ة ARABIC LETTER TEH MARBUTA +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if the blue glyphs آ and ث touch the first vertical + line. The second vertical line falls in middle of the brown glyphs + inbetween آلا and ت and inbetween ثلا and ثة. The black glyphs ت and ة + touch the last vertical line. +

    +
    + + $RCSfile: text-intro-11-t.svg,v $ + + + + + + + + + + + + + + + آلات + آلات + آلات + ثلاثة + ثلاثة + ثلاثة + + + + $Revision: 1.2 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-intro-12-t.svg b/Tests/W3CTestSuite/svg/text-intro-12-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0d0902f827923165868c2d5ba6a0c6c4c597a259 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-intro-12-t.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + +

    + This test ensures that mandatory ligatures in Arabic are displayed. + This test uses downloaded WOFF fonts for rendering. +

    +

    + There are two subtests. The first + requires an isolate lam-alef ligature and the second requires + a right-joining lam-alef ligature. +

    +

    + The first subtest has the word for 'tools', آلات + 0622: آ ARABIC LETTER ALEF WITH MADDA ABOVE + 0644: ل ARABIC LETTER LAM + 0627: ا ARABIC LETTER ALEF + 062A: ت ARABIC LETTER TEH +

    +

    + The second subtest has the word for 'three', ثلاثة + 062B: ث ARABIC LETTER THEH + 0644: ل ARABIC LETTER LAM + 0627: ا ARABIC LETTER ALEF + 062B: ث ARABIC LETTER THEH + 0629: ة ARABIC LETTER TEH MARBUTA +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if subtests are displayed as following: +

    +
      +
    • The first subtest has the word for 'tools', آلات
    • +
    • The second subtest has the word for 'three', ثلاثة
    • +
    +

    In the first subtest, there must be an isolate lam-alef ligature + and in the second subtest there must be a right-joining lam-alef + ligature, as in the reference image. +

    +
    + + $RCSfile: text-intro-12-t.svg,v $ + + + + + + + + + + + + + آلات + ثلاثة + + + + $Revision: 1.3 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-path-01-b.svg b/Tests/W3CTestSuite/svg/text-path-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..a803ec17b451ffd593dbda99faa2227414d26ebd --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-path-01-b.svg @@ -0,0 +1,87 @@ + + + + + + + + + + + + +

    + Test textPath element in combination with the tspan element. Properties + of the text on a path are changed using the tspan element. +

    + + +

    + Run the test. No interaction required. Make sure scripting is enabled. +

    +
    + +

    + For this test to pass the rendered output must match the reference + image. The letters "Te" in first "Text on a path" sentence must be + colored pink and offset from the path in the y direction. +

    +
    + + $RCSfile: text-path-01-b.svg,v $ + + + + + + + + + + + + + + + + + Text on a path + + + + + + + + Text on a path + + + + 'tspan' subelement inside + the 'textPath' element. + + + + + The Text on path + + + 'startOffset' attribute of the + 'textPath' element. + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-path-02-b.svg b/Tests/W3CTestSuite/svg/text-path-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..3513226c26728cd966a58f147355099b7925ed11 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-path-02-b.svg @@ -0,0 +1,101 @@ + + + + + + + + + + +

    + This tests the 'textPath/startOffset' with both negative and positive values, and + compares it to the case where a 'tspan/dx' attribute is used with the same values. +

    + + +

    + Run the test. No interaction required. Make sure scripting is enabled. +

    +
    + +

    + You should see four paths with text following each path. + The top two paths should show the text "Negative offset", and the bottom two paths should show the text + "Positive offset". +

    +

    + The test has passed if: +

    +
      +
    • the top two paths show the text "Negative offset"
    • +
    • the bottom two paths show the text "Positive offset"
    • +
    • the text on the bottom two paths starts a bit along the path
    • +
    • the text on the top two paths starts close to where the path starts (the first character is allowed to be slightly off the path)
    • +
    +
    + + $RCSfile: text-path-02-b.svg,v $ + + + + + + + + + + + + + + + + + Positive offset Negative offset + + + + + + Positive offset Negative offset + + + + + + + Positive offset Negative offset + + + + + + Positive offset Negative offset + + + + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-spacing-01-b.svg b/Tests/W3CTestSuite/svg/text-spacing-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..e90dfcab7057cf305a3cb2e8e5ec5affe5d7e36b --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-spacing-01-b.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

    + Test properties 'letter-spacing' and 'word-spacing' +

    +

    + The first three lines test property 'letter-spacing', with + values 0, -1 and .3em respectively. +

    +

    + The next three lines test property 'word-spacing', with + values 0, -3 and 3em respectively. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + This test is passed if: +

    +
      +
    • + The first three lines of text have the letters in the word + "letter-spacing" spaced according to the values 0, -1 and 0.3em + respectively. +
    • +
    • + The last three lines of text have the words in the sentence + "Two Words" spaced according to the values 0, -3 and 3em respectively. +
    • +
    +
    + + $RCSfile: text-spacing-01-b.svg,v $ + + + + + + + + + + letter-spacing:0 + letter-spacing:-1 + letter-spacing:.3 + ws:0 - Two Words + ws:-3 - Two Words + ws:3 - Two Words + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-01-b.svg b/Tests/W3CTestSuite/svg/text-text-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..19eccf76691fb832f679b9d037045a7eeb9d70c1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-01-b.svg @@ -0,0 +1,208 @@ + + + + + + + + + + + + +

    + Test viewer capibility to handle basic use of 'textLength' + and 'lengthAdjust' attributes. +

    +

    + There are four pairs of sub-tests. Each pair of sub-tests consists + of the same two strings: "Line to Stretch" on the left, and "this is + a line to squeeze" on the right. +

    +

    + The first (topmost) pair contains no occurrences of the textLength and + lengthAdjust attributes in the 'text' elements. + The pink reference line under each of the top + two strings indicates the approximate length of the strings. Since + the lengths are not constrained by the 'textLength' attribute, small + variations of the lengths are permissible. +

    +

    + The remaining three pairs each applies 'textLength' attributes to the + strings. In the leftmost sub-test of each pair, the 'textLength' value + will cause a stretching of the string of approximately 25% over the + "normal" length. In the rightmost sub-test of each pair, the 'textLength' value + will cause a squeezing of the string of approximately 20% under the + "normal" length for the string. +

    +

    + In each of the sub-tests with an application of 'textLength', the + pink reference lines indicate the exact extent of the rendered text. + The rendered text should fit snugly just within the ticks at the end of + the pink lines. +

    +

    + The second pair from the top contains 'textLength' but no 'lengthAdjust' + attributes. In this case, the effect should be as if the value "spacing" + were specified. Only the inter-character advancement and inter-word spacing + should change. The aspect ratio of the glyphs should be unaffected. The + reference image illustrates one valid way to achieve this, by a + uniform increase or decrease of inter-character advancement. +

    +

    + The third pair from the top explicitly sets 'lengthAdjust' value + to "spacing". Therefore it should be rendered identically to the second pair. +

    +

    + The fourth (bottommost) sub-test pair explicitly sets 'lengthAdjust' value + to "spacingAndGlyphs". The advancements between characters and words, as well as + the glyph aspect ratios should be affected. + The reference image illustrates one valid way to achieve + this, by a uniform expansion or compression of the string as a whole. + This effect is equivalent to application of a "scale(xfactor, 1.0)" transformation + to the 'text' elements. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The rendered picture should match the reference image, except as noted in the Test Description. + In particular, the 'textLength' constraint must be satisfied precisely, + and the basic rules associated with the "spacing" and "spacingAndGlyphs" values + of 'lengthAdjust' must be met, but the precise algorithm for meeting all + of the required contraints is otherwise unspecified. +

    +
    + + $RCSfile: text-text-01-b.svg,v $ + + + + + + + + + Basic test of 'textLength' + and 'lengthAdjust' attributes. + + + + + Line to Stretch + this is a line to squeeze + + + + + + + + + + + + + + + + + + textLength: default + lengthAdjust: default + textLength: default + lengthAdjust: default + + + + + + + Line to Stretch + this is a line to squeeze + + + + + + + + + + + + + textLength: 25% longer + lengthAdjust: default + textLength: 15% shorter + lengthAdjust: default + + + + + + + Line to Stretch + this is a line to squeeze + + + + + + + + + + + + + textLength: 25% longer + lengthAdjust: spacing + textLength: 15% shorter + lengthAdjust: spacing + + + + + + + Line to Stretch + this is a line to squeeze + + + + + + + + + + + + + textLength: 25% longer + lengthAdjust: sAG + textLength: 20% shorter + lengthAdjust: sAG + + + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-03-b.svg b/Tests/W3CTestSuite/svg/text-text-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5f8617b7cb24ce74cae31b4607c01844b77a461b --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-03-b.svg @@ -0,0 +1,94 @@ + + + + + + + + + + + + +

    + Test text element, tspan element and various text decorations +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if: +

    +
      +
    • the word "Plain" is displayed using a blue serif font
    • +
    • the word "Italic" is displayed using a blue italic serif font
    • +
    • the word "Bold" is displayed using a blue serif bold font
    • +
    • the words "Line through" are displayed with a line through, using a pink serif font
    • +
    • the word "Underline" is displayed underlined using a blue serif font
    • +
    • the words "Bold, italic and underlined" are displayed underlined using a bold italic serif font
    • +
    +
    + + $RCSfile: text-text-03-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Plain + Italic + Bold + Underline + Line through + Bold, italic and underlined + + + + Each line of text which flows in a + rectangular box has to be broken + into separated lines. + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-04-t.svg b/Tests/W3CTestSuite/svg/text-text-04-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..aeeb716f2c53fa5f872ca84ddc0d986ed48adfff --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-04-t.svg @@ -0,0 +1,226 @@ + + + + + + + + + + + + +

    + The purpose of this test is to validate proper handling of + the text element's x and y attributes. + In the various samples, a orange marker shows the text's (0,0) + coordinate. The blue markers show the current text positions. + These are either defined by absolute x/y positioning or they + are computed from the embeded font's glyphs advances. +

    +

    + The first text sample shows a reference piece of text. +

    +

    + The second text sample (x all) shows a piece of text where + all the glyphs are positioned along the x axis. +

    +

    + The third text sample (x more) is a text element where there + are more x values than characters (5 values for 4 characters). + The last x value should be ignored and the result should + be the same as the third sample. +

    +

    + The fourth text sample (x fewer) is a text element where there + are fewer x values than characters (3 values for 4 characters). + The last character should not be positioned but laid out normally, + following its previous character sibling. +

    +

    + The fifth (y all), sixth (y more) and seventh (y fewer) text sample + parallel the second, + third and fourth test, but for the y attribute values. +

    +

    + The samples in the right column show combinations of x/y + value sets. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + In all the above tests, blue markers represent the expected glyph + positions. The orange markers are showing positions where no glyph + should appear. The glyphs are black squares of increasing sizes. +

    +
    + + $RCSfile: text-text-04-t.svg,v $ + + + + + + + + + + + + + + + + + + + + Reference + + + + + + 1234 + + + + + + + x all + + + + + + 1234 + + + + x more + + + + + + + 1234 + + + + x fewer + + + + + + 1234 + + + + y all + + + + + 1234 + + + + y more + + + + + 1234 + + + + y fewer + + + + + 1234 + + + + + x/y all + + + + + + 1234 + + + + x/y more + + + + + + + 1234 + + + + x/y fewer + + + + + + 1234 + + + + x all y fewer + + + + + + 1234 + + + + x fewer y all + + + + + + 1234 + + + + + + $Revision: 1.12 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-05-t.svg b/Tests/W3CTestSuite/svg/text-text-05-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..82affeaca80ccbe0df500c81acec38d3b8892526 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-05-t.svg @@ -0,0 +1,174 @@ + + + + + + + + + + + + +

    + The purpose of this test is to validate the interaction of text-anchor + and x/y glyph positioning. +

    +

    + Each row shows a different combination of x/y values: 1, more than characters, + fewer than characters. This tests the anchor value: start. +

    +

    + The blue markers show the various x/y absolute positions around which text + chunks should be anchored. The glyphs are black squares of increasing sizes. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Rendered output must match the reference image for the test to pass. +

    +
    + + $RCSfile: text-text-05-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.x 1.y + 4.x 1.y + 2.x 1.y + 1.x 4.y + 4.x 4.y + 2.x 4.y + 1.x 2.y + 4.x 2.y + 2.x 2.y + + + + text-anchor + start + + + + + + 1234 + + + + + + + 1234 + + + + + 1234 + + + + + + + + 1234 + + + + + + + + + 1234 + + + + + + + + + 1234 + + + + + + + 1234 + + + + + + + + + 1234 + + + + + + + 1234 + + + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-06-t.svg b/Tests/W3CTestSuite/svg/text-text-06-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..abefbc57c0b84a41ee7655cac9f40a6f67e65e4a --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-06-t.svg @@ -0,0 +1,152 @@ + + + + + + + + + + + + +

    + The purpose of this test is to validate the interaction of x/y + glyph positioning and ligatures. +

    +

    + The first line shows an example where there is a ligature (fi) which + should be accounted for before breaking into text chunks (see specification + section 10.5, additional x/y/dx/dy processing rules, bullet discussing + ligatures). In this first line, the ligatures cause the x position 180 + (shown in orange), to be ignored. As a result, a glyph should be shown over + each pale blue square markers. The glyphs are black squares of increasing sizes + except for the initial ligature which has the form of two small black triangles + joined at their tops. The ligature should show on the first pale blue + marker position. +

    +

    + The second line shows the same test but using multiple y positions. +

    +

    + The third line shows the same test but using multiple x and y + positions. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if: +

    +
      +
    • + The bottom left hand corners of the first row of black squares are + equal distance apart along the x axis and are centered inside the blue + squares. +
    • +
    • + The bottom left hand corners of the first row of black squares are + equal distance apart along the x and y axis and are centered inside + the blue squares. +
    • +
    • + The bottom left hand corners of the first row of black squares are + same distance apart in the x axis as the first row of squares and are + same distance apart in the y axis as the second row of squares. +
    • +
    +
    + + $RCSfile: text-text-06-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + x positioning + y positioning + x/y positioning + + + + + + + + + + fi1234 + + + + + + + + + + fi1234 + + + + + + + + + + fi1234 + + + + + + $Revision: 1.9 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-07-t.svg b/Tests/W3CTestSuite/svg/text-text-07-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..a4ff44578ac9e7acc044689305f6326c12ec342b --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-07-t.svg @@ -0,0 +1,79 @@ + + + + + + + + + + + + +

    + Tests multiple x, y, rotate, with various combinations. Since an + array of values is given, each glyph must use the value from the + corresponding character in the list. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if: +

    +
      +
    • + Each letter in the word "ROTATE" is rotated 10 + degrees more than the previous letter, with the first letter being + rotated at 0 degrees. +
    • +
    • + Each letter in the word "Multi XY" (including the white space) is + shifted in the x and y by 20 pixels more (in user space) than the + previous letter, with the first letter beginning at coordinate + 240, 60. +
    • +
    • + Each letter in the word "Both Together" (including the space) is + rotated and shifted. Each of the rotated letters is rotated -10 + degrees more than the previous letter, with the first letter being + rotated a 0 degrees. Each of the shifted letters is shifted by 20 + pixels more than the previous letter in the x direction and -10 pixels + more than the previous letter in the y direction, with the first + letter beginning at the coordinate 10, 300. +
    • +
    +
    + + $RCSfile: text-text-07-t.svg,v $ + + + + + + + + + Multi X Y + ROTATE + Both Together + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-08-b.svg b/Tests/W3CTestSuite/svg/text-text-08-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b3938c1d3023aa7a469266de03323557151d0ae6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-08-b.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + +

    + The three opacity properties (fill-opacity, + stroke-opacity, and opacity) of 'text' elements are + covered in this test. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if: +

    +
      +
    • The text "Normal Text" has a pink stroke with no opacity and a blue fill with no opacity.
    • +
    • The text "Fill Opacity" has a pink stroke with no opacity and a blue fill with 50% opacity.
    • +
    • The text "Stroke Opacity" has a pink stroke with 50% opacity and a blue fill with no opacity.
    • +
    • The text "Opacity" has a pink stroke and a blue fill both with 50% opacity.
    • +
    +
    + + $RCSfile: text-text-08-b.svg,v $ + + + + + + + + + Normal Text + Fill opacity + Stroke opacity + Opacity + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-09-t.svg b/Tests/W3CTestSuite/svg/text-text-09-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..41b5ee1dbea368e13f3299e24f8e10d9747df8cd --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-09-t.svg @@ -0,0 +1,83 @@ + + + + + + + + + + + + +

    + Tests multiple x, y, rotate, with various combinations. Since an + array of values is given, each glyph must use the value from the + corresponding character in the list. In this test, there are less values + in the array than there are characters. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if: +

    +
      +
    • + In the word "ROTATE", each of the letters "ROTA" is rotated 10 + degrees more than the previous letter, with the first letter being + rotated at 0 degrees. The letters "TE" have the same 30 degree rotation. +
    • +
    • + The first 5 letters in the word "MultiXY" are shifted in the x and y + by 20 pixels more (in user space) than the previous letter, with the + first letter beginning at coordinate 240, 60. The letters 'X' and 'Y' + will have the same y coordinate as the letter 'i' in "Multi". +
    • +
    • + The first 10 letters (including the space) in the word "Both Together" + are rotated and shifted. Each of the rotated letters is rotated -10 + degrees more than the previous letter, with the first letter being + rotated a 0 degrees. Subsequent letters after the first 10 rotated at + -90 degrees. Each of the shifted letters is shifted by 20 pixels more + than the previous letter in the x direction and -10 pixels more than + the previous letter in the y direction, with the first letter + beginning at the coordinate 10, 300. Subsequent letters after the + first 10 will have the same y coordinate as the letter 't' is + "Together". +
    • +
    +
    + + $RCSfile: text-text-09-t.svg,v $ + + + + + + + + + Multi X Y + ROTATE + Both Together + + + $Revision: 1.7 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-10-t.svg b/Tests/W3CTestSuite/svg/text-text-10-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..57b0e1b9bcdf2e4fe83dca2200ddb99b179561c6 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-10-t.svg @@ -0,0 +1,76 @@ + + + + + + + + + + +

    + Test rendering of text rotated by a transform attribute. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test has passed if the image shows text rotated by various different angles, the result should closely match the reference image. +

    +
    + + $RCSfile: text-text-10-t.svg,v $ + + + + + + + + + + Rotated 90 degrees + Rotated -90 degrees + Rotated 180 degrees + Unrotated text + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-11-t.svg b/Tests/W3CTestSuite/svg/text-text-11-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0316cbd7507e83268814e8be8b57cbc53cbae2b7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-11-t.svg @@ -0,0 +1,81 @@ + + + + + + + + + + +

    + Test rendering of text rotated by a transform attribute, same as the text-text-10-t test but not using an SVGFont. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test has passed if the image shows text rotated by various different angles, the result should closely match the reference image, but note that the font is allowed + be different from the font used in the reference image. +

    +
    + + $RCSfile: text-text-11-t.svg,v $ + + + + + + + + + + + + Rotated 90 degrees + Rotated -90 degrees + Rotated 180 degrees + Unrotated text + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + Rotated by 10 degrees + + + + + $Revision: 1.3 $ + + + + diff --git a/Tests/W3CTestSuite/svg/text-text-12-t.svg b/Tests/W3CTestSuite/svg/text-text-12-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..0fb521c4b5410a92750e77e26a517e4e8bded621 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-text-12-t.svg @@ -0,0 +1,186 @@ + + + + + + + + + + + + +

    ISSUE: the glyphs don't cover the entire em-cell, and the spec doesn't require visual alignment - text adjustments are based on advances

    +

    + The purpose of this test is to validate the interaction of text-anchor + and x/y glyph positioning. +

    +

    + Each row shows a different combination of x/y values: 1, more than characters, + fewer than characters. Each column shows different anchor values: middle + and end. +

    +

    + The blue markers show the various x/y absolute positions around which text + chunks should be anchored. The glyphs are black squares of increasing sizes. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Rendered output must match the reference image for the test to pass. +

    +
    + + $RCSfile: text-text-12-t.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1.x 1.y + 4.x 1.y + 2.x 1.y + 1.x 4.y + 4.x 4.y + 2.x 4.y + 1.x 2.y + 4.x 2.y + 2.x 2.y + + + + + + + 1234 + + + + + + + 1234 + + + + + 1234 + + + + + + + + 1234 + + + + + + + + + 1234 + + + + + + + + + 1234 + + + + + + + 1234 + + + + + + + + + 1234 + + + + + + + 1234 + + + + + + text-anchor + middle + + + + + + text-anchor + end + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-tref-01-b.svg b/Tests/W3CTestSuite/svg/text-tref-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..10a53a0fd8d885210b6bd2df5142ca27ff15a593 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tref-01-b.svg @@ -0,0 +1,73 @@ + + + + + + + + + + + + +

    + Test viewer capability to handle a basic 'tref' element + which points to a text string in an external file. +

    +

    + The test case consists of a single sub-test. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The box in the middle of the frame should + contain green "Simple external referenced text.", + which is obtained by a 'tref' element reference to a 'text' element in a 'defs' + section of another file (text-extTref-BE-18-targ.svg). +

    +
    + + $RCSfile: text-tref-01-b.svg,v $ + + + + + + + + + + Test 'tref' element with an external referenced string. + + + + + + 'tref' to a string in another file + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tref-02-b.svg b/Tests/W3CTestSuite/svg/text-tref-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..7773c95e15c73feefcf6c55da518bb9bf8750593 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tref-02-b.svg @@ -0,0 +1,79 @@ + +]> + + + + + + + + + + + + +

    + Test viewer capability to handle 'tref' elements + which point to text strings outside the current SVG document fragment. +

    +

    + The test case consists of two sub-tests; one results in the word "Hello" and the second, the word "World". +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if the phrase "Hello World" is displayed, in green. +

    +
    + + $RCSfile: text-tref-02-b.svg,v $ + + + + + + + + + + Test 'tref' element pointing outside the SVG document fragment. + + + + + + + + + + Hello + + + + + + World + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tref-03-b.svg b/Tests/W3CTestSuite/svg/text-tref-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..ba05e5d5324c1610fb87a3f7a76bc14dc036fb14 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tref-03-b.svg @@ -0,0 +1,71 @@ + +]> + + + + + + + + + + + + +

    + Test viewer capability to handle 'tref' elements + which point to elements that have children. The flattened text content is to be used. +

    +

    + The test case consists of one sub-test; it results in the word "Flattened" being displayed. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if the phrase "Flattened" is displayed, all in green and at the same font size. +

    +
    + + $RCSfile: text-tref-03-b.svg,v $ + + + + + + + + + + Test 'tref' element uses flattened textContent. + + + + + + + Flattened + + + + + + $Revision: 1.4 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tselect-01-b.svg b/Tests/W3CTestSuite/svg/text-tselect-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b3a3cb0e47b76a722569023346ad09ff39d12ecb --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tselect-01-b.svg @@ -0,0 +1,74 @@ + + + + + + + + + + + + +

    + Test text selection. +

    +

    + Run the test. Make a text selection in the upper block of text, and verify that text selection is possible and that the selection does not extend across multiple lines. Now make a text selection in the lower block of text, verifying that the selection does extend over multiple lines. + +Thus, it should + be possible to start text selection at the start of the "However" + and drag through the end of "same time." and the all four lines + should be selected. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + For basic viewers conformant acion is as described above if there + is a text selection mechanism. Since text selection is optional + on a basic device if text selection is not implemented then this + test is a pass, move on to the next test. +

    +
    + + $RCSfile: text-tselect-01-b.svg,v $ + + + + + + + + + Test single line and multiline text selection. + + Here is a stand-alone 'text' element. + Here is a second 'text' element just below. + Because these are four separate 'text' elements, + text selection should not go across lines here. + + However, these lines of text are achieved by using + one 'tspan' per line, all contained within the same + 'text' element, so you should be able to select all + four lines at the same time. + + + $Revision: 1.8 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tselect-02-f.svg b/Tests/W3CTestSuite/svg/text-tselect-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..12be0f93f58d692c2ac1673134ff9c9bcfa2e2bc --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tselect-02-f.svg @@ -0,0 +1,146 @@ + + + + + + + + + + + + +

    + This test demonstrates text selection of bidirectional text. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The initial result should be that the first 9 characters in logical order + starting from logical position 0 are selected. +

    +

    + Visually the selection is discontigous and these substrings must be selected (listed in visual order): +

    +

    + "abc" +

    +

    + the space between "c" and "ו" +

    +

    + "1" +

    +

    + the space between "3" and "×’" +

    +

    + "×בג" +

    +

    + If only the substrings listed above were selected then the test has passed. +

    +

    + A user agent that allows selecting text in logical order would have generated the same selection + as in this testcase if the user started the selection on the character "a" and ended it on the + character "1". + + A user agent that allows selecting text in visual order would not have a discontigous selection + if the user started the selection on the character "a" and ended it on the character "1". The copied + text would be discontigous instead in this case. + + Note that the SVG DOM method requires logical order text selection, so for both types of user agents + this testcase must look the same. +

    +

    + The testcase also shows what happens when the selection is modified via DOM (click the buttons below + the bidi-text). Compliant viewers must throw an exception when the first parameter handed + to SVGTextContentElement.selectSubString is out-of-range. + That means the variable 'startIndex' must always be in the range 0 <= startIndex <= 18. + It can be noted that the parameter 'numChars' is not restricted in this way. +

    +

    + Note that the color of the text selection is UA dependent and not defined in the SVG specification. +

    +
    + + $RCSfile: text-tselect-02-f.svg,v $ + + + + + + + + + + + + + + StartIndex: 0 NumChars: 0 + + + abc ×בג 123 דהו def + + + + + startIndex++ + + + startIndex-- + + + numChars++ + + + numChars-- + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tselect-03-f.svg b/Tests/W3CTestSuite/svg/text-tselect-03-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..9d051088a9297e17e7098cc1a458be8da4fc8490 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tselect-03-f.svg @@ -0,0 +1,157 @@ + + + + + + + + + + + + +

    + This test demonstrates text selection of bidirectional text. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The initial result should be that the first 9 characters in logical order + starting from logical position 0 are selected. +

    +

    + Visually the selection is discontigous and these substrings must be selected (listed in visual order): +

    +

    + "abc" +

    +

    + the space between "c" and "ו" +

    +

    + "1" +

    +

    + the space between "3" and "×’" +

    +

    + "×בג" +

    +

    + If only the substrings listed above were selected then the test has passed. +

    +

    + A user agent that allows selecting text in logical order would have generated the same selection + as in this testcase if the user started the selection on the character "a" and ended it on the + character "1". + + A user agent that allows selecting text in visual order would not have a discontigous selection + if the user started the selection on the character "a" and ended it on the character "1". The copied + text would be discontigous instead in this case. + + Note that the SVG DOM method requires logical order text selection, so for both types of user agents + this testcase must look the same. +

    +

    + The testcase also shows what happens when the selection is modified via DOM (click the buttons below + the bidi-text). Compliant viewers must throw an exception when the first parameter handed + to SVGTextContentElement.selectSubString is out-of-range. + That means the variable 'startIndex' must always be in the range 0 <= startIndex <= 18. + It can be noted that the parameter 'numChars' is not restricted in this way. +

    +

    + Note that the color of the text selection is UA dependent and not defined in the SVG specification. +

    +
    + + $RCSfile: text-tselect-03-f.svg,v $ + + + + + + + + + + + + + + + + + + + + StartIndex: 0 NumChars: 0 + + + abc ×בג 123 דהו def + + + + + startIndex++ + + + startIndex-- + + + numChars++ + + + numChars-- + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tspan-01-b.svg b/Tests/W3CTestSuite/svg/text-tspan-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..5d10f95d641a5e7e6875721950a2c525ef54770e --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tspan-01-b.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + +

    + Test tspan element styling and relative position adjustments. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test has passed if: +

    +
      +
    • "You are not a banana" is displayed with the word "not" in bold green, with the rest of the sentence in normal blue.
    • +
    • "But you are a peach!" is displayed with the word "are" in bold green raised above the baseline, and "a peach!" lowered below the baseline.
    • +
    • "Cute and fuzzy" is displayed like there was spaces between each character, and "fuzzy" is displayed on a line below "Cute and".
    • +
    +
    + + $RCSfile: text-tspan-01-b.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Basics of tspan: changing visual properties and positioning. + + + + You are not a banana. + + + Text: "You are not a banana." + 'tspan' changes visual attributes of "not", + to green, bold. + + + + + But youare a peach! + + + Text: "But you are a peach!" + Using dx,dy, 'tspan' raises "are", + 'tspan' lowers "a peach!" + + + + + Cute and + fuzzy. + + + Text: "Cute and fuzzy." + 'tspan' char-by-char placement of "Cute and", + 'tspan' char-by-char "fuzzy", below it. + + + + $Revision: 1.10 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/text-tspan-02-b.svg b/Tests/W3CTestSuite/svg/text-tspan-02-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..735b41e9c8b159b78177189be0d053ef16f30bbf --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-tspan-02-b.svg @@ -0,0 +1,177 @@ + + + + + + + + + + +

    + Tests the rotate attribute in the tspan element. +

    +
      +
    • + Tests the case where more characters than rotate values are + supplied. In this case the last rotate value should propogate to + subsequent characters in the element and child tspan elements that + do not contain a rotate value. +
    • +
    • + Tests the case where more values than characters are supplied. In + this case each character should be rotated by the designated value + remaining unused values propogate to any child tspan elements that + do not contain a rotate value. +
    • +
    • + Tests the case where an ansestor of a tspan element specifies a + rotate value but the tspan itself doesn't. In this case the tspan + should use the current rotate value specified by the ansestor + element. +
    • +
    • + Tests the case where a tspan or text element specifies a rotate + value and contains a text string that is broken due to nested child + tspan. In this case characters after the child tspan element must + be rotated by the current rotate value. +
    • +
    + + +

    + Run the test. No interaction required. +

    +
    + +

    + For this test to pass the text "Not all characters in the text have a + specified rotation" must be displayed in green without any red showing. + If any red shows the test is a fail. +

    +

    + Rotation values: +

    +
      +
    • + The characters in the text "Not" must be rotated by 5,15 and 25 + degrees respectively. +
    • +
    • + The first 3 characters in the text "all characters" must be -10,-20 + and -30 degrees respectively. Subsequent characters in the text must + be each rotated by -40 degrees. +
    • +
    • + All the characters in the text "text have a" must be rotated by -40 + degrees. +
    • +
    • + The characters in the text "in the" must be rotated by 70,60,50,40,30 + and 20 degrees respectively. Note: the space in the text consumes a + rotate value. +
    • +
    • + All the characters in the text "specified" must be rotated by -10 + degrees. +
    • +
    • + All the characters in the text "rotation" must be rotated by 55 + degrees. +
    • +
    +
    + + $RCSfile: text-tspan-02-b.svg,v $ + + + + + + + + + + + Not all characters in the + text have a specified rotation + + + + + Not + + + all characters + + + in + + + the + + + + + text + + + have a + + + + specified + + + rotation + + + + +5 15 25 + + +-10 -20 -30 + + + -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 + + +70 60 + + +40 30 20 + + +-40 -40 -40 -40 -40 -40 -40 -40 -40 + + + -10 -10 -10 -10 -10 -10 -10 -10 + + +-10 + + + 55 55 55 55 55 55 55 55 + + + + + + $Revision: 1.11 $ + + + + diff --git a/Tests/W3CTestSuite/svg/text-ws-01-t.svg b/Tests/W3CTestSuite/svg/text-ws-01-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..3d8b66890f860fb2d74f310b3061e1b9d1085698 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-ws-01-t.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + + +

    + Test for viewer correct handling of whitespace and the 'xml:space' attribute. + There are two sub-tests, for xml:space value "default". + In each test, the content of the 'text' element is written on + multiple lines. The first test of each pair has indented text with leading + space characters, tabs, etc. The second has no indentation, but a line break + before the content and after it. There are no space (or other whitespace) + characters at the ends of the lines. +

    +

    + The two test cases are self-descriptive. From the top; + first, "default" value applied to 3 lines of content with indents, space characters, tabs, etc; + second, "default" applied to two lines content with no indent; +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + In each test, the test string is in blue and the reference + image is in black. + The rendered picture should approximately match the reference image, + however there is some question in the reference image concerning the + exact amount of space in the long-space areas. The third test uses the nbsp unicode character + to force the reference white spaces display, which provides an accurate match if the font in use + has the same metrics for that character and the default white space. + Also, variations are possible in the text fonts and layout (per CSS2 rules). +

    +

    + The test also uses the 'rect' element, + as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family (Arial) + and font-size properties. +

    +
    + + $RCSfile: text-ws-01-t.svg,v $ + + + + + + + + + Basic: xml:space attribute + & whitespace handling. + + + + WS with indented lines. + WS with indented lines. + + xml:space='default' + + + + + WS + non-indented lines. + + WS non-indented lines. + + xml:space='default' + + + $Revision: 1.8 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-ws-02-t.svg b/Tests/W3CTestSuite/svg/text-ws-02-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..15317ca014a94ded495598e0ecc75918b80fe910 --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-ws-02-t.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + + + +

    + Test for viewer correct handling of whitespace and the 'xml:space' attribute. + There are two sub-tests, for value "preserve". + In each test, the content of the 'text' element is written on + multiple lines. The first test of each pair has indented text with leading + space characters, tabs, etc. The second has no indentation, but a line break + before the content and after it. There are no space (or other whitespace) + characters at the ends of the lines. +

    +

    + The two test cases are self-descriptive. From the top; + first, "preserve" applied to essentially the same content as first; + second, "preserve" applied to essentially the same content as second. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + In each test, the test string is in blue and the reference + image is in black. + The rendered picture should approximately match the reference image, + however there is some question in the reference image concerning the + exact amount of space in the long-space areas. The third test uses the nbsp unicode character + to force the reference white spaces display, which provides an accurate match if the font in use + has the same metrics for that character and the default white space. + Also, variations are possible in the text fonts and layout (per CSS2 rules). +

    +

    + The test also uses the 'rect' element, + as well as basic fill (solid primary colors), + stroke (black 1-pixel lines), font-family + and font-size properties. +

    +
    + + $RCSfile: text-ws-02-t.svg,v $ + + + + + + + + + Basic: xml:space attribute + & whitespace handling. + + + + +WS + with + indented lines. + + +  WS   with  indented lines. + + + xml:space='preserve' + + + + WS +non-indented lines. + + WS non-indented lines. + + xml:space='preserve' + + + $Revision: 1.8 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/text-ws-03-t.svg b/Tests/W3CTestSuite/svg/text-ws-03-t.svg new file mode 100644 index 0000000000000000000000000000000000000000..03342bbeace302d0ebf09b961f578d84d33ca0bb --- /dev/null +++ b/Tests/W3CTestSuite/svg/text-ws-03-t.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + +

    + This tests that an 'xml:space' attribute on a text element child + will be honored. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + After loading the test, four blue text strings and + four orange text strings should be presented. +

    +

    + The test is passed if all four blue text strings appear + identical (with a large space between the "b" and the "c" + on each line), and all four orange text strings appear + identical (with a small space between the "b" and the "c" + on each line). +

    +
    + + $RCSfile: text-ws-03-t.svg,v $ + + + + + + + + + + Test that xml:space="" is honored on text element children + + + cd + + ab cd + ab cd + ab + ab + + + b cd + + ab cd + ab cd + a + a + + + + + + $Revision: 1.9 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-basic-01-f.svg b/Tests/W3CTestSuite/svg/types-basic-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..2be4195b80517f9ca457c963d4221689b15ac568 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-basic-01-f.svg @@ -0,0 +1,75 @@ + + + + + + + + + + +

    + Tests scientific notation in attribute values; in particular, that numbers + of the form .n with a leading decimal point, are supported +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if all the coloured rectangles are of the same height + and line up with each other and + with the grey marker lines. If any red is visible, the test fails. +

    +
    + + $RCSfile: types-basic-01-f.svg,v $ + + + + + + + + + + + + + + + + + + + + Different forms of the <number> type + + + 50 + 5e1 + .5e2 + + + + + $Revision: 1.5 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/types-basic-02-f.svg b/Tests/W3CTestSuite/svg/types-basic-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..53fb16367798323df2c680809374d016aa59325e --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-basic-02-f.svg @@ -0,0 +1,84 @@ + + + + + + + + + + +

    + Tests units and no units on <length> in CSS on a property defined in the SVG specification. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test is passed if there are six circles with the same thick green stroke visible, and no red. + If the SVG user agent doesn't support CSS styling then this test does not apply. +

    +
    + + $RCSfile: types-basic-02-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-dom-01-b.svg b/Tests/W3CTestSuite/svg/types-dom-01-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..60093ac542094ae8021e034dc52e1f7fd305f008 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-01-b.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + +

    + This test checks all the methods and properties of the SVGLocatable interface. + Note the use of nested svg elements and testing against different elements in the hierarchy. + Note that the values of .getScreenCTM() and .getCTM() can only be tested correctly if they are + in the html-based test or the width and height of the root element is explicitly set to 480x360. + The methods .getScreenCTM() and .getCTM() are tested from the rotated text element, the method .getBBox(), + .getTransformToElement() is tested between the rotated text and its parent group, the method .getBBox() and + the properties .farthestViewportElement and .nearestViewportElement are tested on the blue circle. +

    + + +

    + Run the test. No interaction required. Make sure scripting is enabled. +

    +
    + +

    + For the test to pass, the values generated by script must match the values provided in the png image. The correct values are: +

    +

    + .getScreenCTM() for id "rotText": 0.42,0.42,-0.42,0.42,70.00,-60.00 +

    +

    + .getCTM() for id "rotText": 0.42,0.42,-0.42,0.42,70.00,-60.00 +

    +

    + .getTransformToElement() between id "rotText" and id "parentGroup": 0.42,0.42,-0.42,0.42,0.00,0.00 +

    +

    + .getBBox() for 'blueCircle': .x=-50,.y=-50,.width=100,.height=100 +

    +

    + .farthestViewportElement of blueCircle=svg-root +

    +

    + .nearestViewportElement of blueCircle=nestedSVG +

    +
    + + $RCSfile: types-dom-01-b.svg,v $ + + + + + + + + + + + + Rotated Text for testing SVGLocatable + Some other text with id 'otherText' + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-02-f.svg b/Tests/W3CTestSuite/svg/types-dom-02-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..cac86de2d01e43166f32fd974482e06f429dacfc --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-02-f.svg @@ -0,0 +1,156 @@ + + + + + + + + + + +

    + This tests that the animVal properties that are objects + are always distinct from their corresponding baseVal properties. + This is tested for interfaces SVGAnimatedNumberList, SVGAnimatedLength, + SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect, + SVGAnimatedTransformList and SVGAnimatedPreserveAspectRatio. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Once loaded, the test shows 7 rectangles + representing seven sub-tests reflecting + the result of checking that an animVal object is + not the same object as its corresponding baseVal object. + Each rectangle will be either black to indicate that + the sub-test wasn't run, red to indicate that the + sub-test failed, and green to indicate that the + sub-test passed. +

    +

    + The test is passed if all 7 rectangles are green. +

    +
    + + $RCSfile: types-dom-02-f.svg,v $ + + + + + + + + + + animVal != baseVal: + + + + SVGAnimatedNumberList + + SVGAnimatedLength + + SVGAnimatedLengthList + + SVGAnimatedAngle + + SVGAnimatedRect + + SVGAnimatedTransformList + + SVGAnimatedPreserveAspectRatio + + + + abc + + + + + + + + + + $Revision: 1.8 $ + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-03-b.svg b/Tests/W3CTestSuite/svg/types-dom-03-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..b9228250fe2fb96ae176365d364118813d448d2f --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-03-b.svg @@ -0,0 +1,84 @@ + + + + + + + + + + +

    + Test that bounding box geometry can be obtained + before the SVGLoad event is dispatched. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Load the test. A rectangle will be shown indicating + the result of the test. It will be black if test + did not run, red if the test failed and green if + the test passed. +

    +

    + The test is passed if the rectangle is green. +

    +
    + + $RCSfile: types-dom-03-b.svg,v $ + + + + + + + + + + Test that getBBox() works before SVGLoad + + + Abc + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-04-b.svg b/Tests/W3CTestSuite/svg/types-dom-04-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..37df62551a1ab264311ed5e06a3a34971c923d7d --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-04-b.svg @@ -0,0 +1,250 @@ + + + + + + + + + + +

    + This tests that SVG DOM objects that correspond to attributes + are live. + This is tested for interfaces + SVGAnimatedNumberList, SVGAnimatedLength, + SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect, + SVGAnimatedTransformList, SVGAnimatedPreserveAspectRatio, + SVGAnimatedBoolean, SVGAnimatedString, SVGAnimatedEnumeration, + SVGAnimatedInteger and SVGAnimatedNumber. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Once loaded, the test shows 12 rectangles, one for + each sub-test. Each sub-test is checking that + an SVG DOM object of a particular interface is live. + The rectangle indicates the result of running the + sub-test: black to indicate that it wasn't run, + red to indicate that it failed, and green to indicate + that it passed. +

    +

    + The test is passed if all 12 rectangles are green. +

    +
    + + $RCSfile: types-dom-04-b.svg,v $ + + + + + + + + + + Testing liveness of SVG DOM objects + + + + SVGAnimatedNumberList + + SVGAnimatedLength + + SVGAnimatedLengthList + + SVGAnimatedAngle + + SVGAnimatedRect + + SVGAnimatedTransformList + + SVGAnimatedPreserveAspectRatio + + SVGAnimatedBoolean + + SVGAnimatedString + + SVGAnimatedEnumeration + + SVGAnimatedInteger + + SVGAnimatedNumber + + + + abc + + + + + + + + + + + + + $Revision: 1.7 $ + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-05-b.svg b/Tests/W3CTestSuite/svg/types-dom-05-b.svg new file mode 100644 index 0000000000000000000000000000000000000000..52ca38323a62cd521ca8bcee07d5ae92c9d625e1 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-05-b.svg @@ -0,0 +1,127 @@ + + + + + + + + + + +

    + This tests that assigning a valid length or angle string to + valueAsString on an SVGLength or SVGAngle will affect that object's + unitType, and that assigning an invalid string will throw + a DOMException with code SYNTAX_ERR. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Once the test is loaded, four rectangles are presented, indicating + the result of passing a valid or invalid string to an + SVGLength or SVGAngle object, as indicated. Each rectangle + will be black if the sub-test did not run, red if it + failed or green if it passed. +

    +

    + The test is passed if all four rectangles are green. +

    +
    + + $RCSfile: types-dom-05-b.svg,v $ + + + + + + + + + + Test side effects of assigning to valueAsString + + + + + + + Valid string on SVGLength + Invalid string on SVGLength + Valid string on SVGAngle + Invalid string on SVGAngle + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-06-f.svg b/Tests/W3CTestSuite/svg/types-dom-06-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..09ed98f785d6c40a4e9e08d145d67d4f355da253 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-06-f.svg @@ -0,0 +1,130 @@ + + + + + + + + + + +

    + This tests parts of the SVGStringList interface. Particularly it tests that + strings that are taken from one SVGStringList and then inserted into another + SVGStringList duplicates the value instead of removing the value from the + first list when it's inserted into the second list. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + The test has passed if there are three green rectangles visible and no red. Red is an indication that the test failed. +

    +
    + + $RCSfile: types-dom-06-f.svg,v $ + + + + + + + + + + + + + + SVGStringList DOM + + + + + + + + + + + + + + + + + $Revision: 1.6 $ + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-07-f.svg b/Tests/W3CTestSuite/svg/types-dom-07-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..6abf6cabbab0f02f92623dac64ce280c098d366c --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-07-f.svg @@ -0,0 +1,156 @@ + + + + + + + + + + +

    + This tests that the contents of an animVal object are read only. + This is tested for interfaces SVGAnimatedNumberList, SVGAnimatedLength, + SVGAnimatedLengthList, SVGAnimatedAngle, SVGAnimatedRect, + SVGAnimatedTransformList and SVGAnimatedPreserveAspectRatio. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Once loaded, the test shows 7 rectangles + representing seven sub-tests reflecting the result + of checking that an animVal object's contents is read + only. + Each rectangle will be either black to indicate that + the sub-test wasn't run, red to indicate that the + sub-test failed, and green to indicate that the + sub-test passed. +

    +

    + The test is passed if all 7 rectangles are green. +

    +
    + + $RCSfile: types-dom-07-f.svg,v $ + + + + + + + + + + animVal is read only: + + + + SVGAnimatedNumberList + + SVGAnimatedLength + + SVGAnimatedLengthList + + SVGAnimatedAngle + + SVGAnimatedRect + + SVGAnimatedTransformList + + SVGAnimatedPreserveAspectRatio + + + + abc + + + + + + + + + + $Revision: 1.2 $ + + + + diff --git a/Tests/W3CTestSuite/svg/types-dom-08-f.svg b/Tests/W3CTestSuite/svg/types-dom-08-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..b2d1eaf62ec5bf01b4bd3b91d1eb567299cb86dc --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-08-f.svg @@ -0,0 +1,189 @@ + + + + + + + + + + +

    + This test draws a few basic shapes and checks for correct values from getBBox(). +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + To pass, each returned bounding box must be correct (indicated by printing the values in green), and when this happens the text in the rect with blue stroke changes from 'failed' to 'passed'. +

    +
    + + $RCSfile: types-dom-08-f.svg,v $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SVGLocatable.getBBox() - basic test + + + + failed + + + + + + + $Revision: 1.1 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-dom-svgfittoviewbox-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgfittoviewbox-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..e787925025a4b55d651caa08a4a1f3620587e357 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-svgfittoviewbox-01-f.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + +

    + Retrieving the 'viewBox' and 'preserveAspectRatio' attributes of the 'SVGFitToViewBox' interface is supported. +

    + + +

    + Run the test. No interaction required. +

    +
    + +

    + Test passes if there is no red visible on the page. +

    +
    + + $RCSfile: types-dom-svgfittoviewbox-01-f.svg,v $ + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-dom-svglengthlist-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svglengthlist-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..615cc649e9ddf595acd5e74f33752ae102550ec7 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-svglengthlist-01-f.svg @@ -0,0 +1,114 @@ + + + + + + + + + + +

    + The 'getItem', 'replaceItem', and 'removeItem' operations of the 'SVGLengthList' interface raise the 'INDEX_SIZE_ERR' exception when the specified + index number is greater than the number of items in the list. +

    + + +

    + Retrieve a 'SVGLengthList' object by getting the 'baseVal' attribute from the 'x' object of a 'SVGTextElement'. Attempt to call 'getItem', + 'replaceItem', and 'removeItem' with an index larger than the number of items in the list. For each of these operations, verify there was an + exception of type 'INDEX_SIZE_ERR' thrown. +

    +
    + +

    + Test passes if there is no red visible on the page. +

    +
    + + $RCSfile: types-dom-svglengthlist-01-f.svg,v $ + + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-dom-svgnumberlist-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgnumberlist-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..96e230cfeef6216f1652acbd1791bef3d3dcfaca --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-svgnumberlist-01-f.svg @@ -0,0 +1,114 @@ + + + + + + + + + + +

    + The 'getItem', 'replaceItem', and 'removeItem' operations of the 'SVGNumberList' interface raise the 'INDEX_SIZE_ERR' exception when the specified + index number is greater than the number of items in the list. +

    + + +

    + Retrieve a 'SVGNumberList' object by getting the 'baseVal' attribute from the 'rotate' object of a 'SVGTextElement'. Attempt to call 'getItem', + 'replaceItem', and 'removeItem' with an index larger than the number of items in the list. For each of these operations, verify there was an + exception of type 'INDEX_SIZE_ERR' thrown. +

    +
    + +

    + Test passes if there is no red visible on the page. +

    +
    + + $RCSfile: types-dom-svgnumberlist-01-f.svg,v $ + + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.5 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-dom-svgstringlist-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgstringlist-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..17a457c2cacde80c7cc48f8d93698b61d188d7e4 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-svgstringlist-01-f.svg @@ -0,0 +1,112 @@ + + + + + + + + + + +

    + The 'getItem', 'replaceItem', and 'removeItem' operations of the 'SVGStringList' interface raise the 'INDEX_SIZE_ERR' exception when the specified index number + is greater than the number of items in the list. +

    + + +

    + Retrieve a 'SVGStringList' object by getting the 'requiredExtensions' attribute from a 'SVGSVGElement'. Attempt to call 'getItem', 'replaceItem', + and 'removeItem' with an index larger than the number of items in the list. For each of these operations, verify there was an exception of type 'INDEX_SIZE_ERR' thrown. +

    +
    + +

    + Test passes if there is no red visible on the page. +

    +
    + + $RCSfile: types-dom-svgstringlist-01-f.svg,v $ + + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.4 $ + + + + + + DRAFT + + diff --git a/Tests/W3CTestSuite/svg/types-dom-svgtransformable-01-f.svg b/Tests/W3CTestSuite/svg/types-dom-svgtransformable-01-f.svg new file mode 100644 index 0000000000000000000000000000000000000000..15aa68601448583f2aaf2fc1181db6ad72d51941 --- /dev/null +++ b/Tests/W3CTestSuite/svg/types-dom-svgtransformable-01-f.svg @@ -0,0 +1,82 @@ + + + + + + + + + + +

    + Retrieving and setting the 'transform' attribute of the 'SVGTransformable' interface is supported. +

    + + +

    + Test passes if there is no red visible on the page. +

    +
    + + $RCSfile: types-dom-svgtransformable-01-f.svg,v $ + + + + + + + + + + + FAIL + PASS + + + + + $Revision: 1.5 $ + + + + + + DRAFT + +