+
3.1 Supported Shapes 
shapeoutside001 
= 
Ahem 
Left and right float with shapeoutside
 This test verifies that left floats with a shapeoutside only allow content wrapping on the right side, and right floats only allow wrapping on the left.

shapeoutside002 
= 
Ahem 
Left and right float with shapeoutside with clipped left float
 This test verifies that left floats with a shapeoutside only allow content wrapping on the right side, and right floats only allow wrapping on the left and that the left float shape is clipped to the float's margin box

shapeoutside003 
= 
Ahem 
Left and right float with shapeoutside with clipped right float
 This test verifies that left floats with a shapeoutside only allow content wrapping on the right side, and right floats only allow wrapping on the left and that the right float shape is clipped to the float's margin box

shapeoutside004 
= 
Ahem 
inset with no extent and inline content  inset(50% 50% 50% 50%)
 This test verifies that a shape with no extent allow inline content to flow through all of the float's box.

shapeoutside005 
= 
Ahem 
inset with no extent and inline content  inset(150% 150% 0% 0%)
 This test verifies that a shape with no extent allow inline content to flow through all of the float's box.

shapeoutside006 
= 
Ahem 
shapeoutside with open areas on both the left & right of the float area
 This test verifies that content wraps only on one side of the float even though there is open area on both the left and right sides of the float.

shapeoutside007 
= 
Ahem 
Shape smaller than float content area  1 float
 This test verifies that inline content only wraps around the shape, and otherwise overlays the rest of the float margin box

shapeoutside008 
= 
Ahem 
Shape smaller than float content area  2 floats
 This test verifies that inline content only wraps around the shapes, and otherwise overlays the rest of the float margin boxes when two floats are stacked next to each other.

shapeoutsidecircle032 
= 

float left, circle(50% at left top)
 Test the boxes are wrapping around the left float shape defined by the basic shape circle(50% at left top) value.

shapeoutsidecircle033 
= 

float left, circle(50% at right bottom)
 Test the boxes are wrapping around the left float shape defined by the basic shape circle(50% at right bottom) value.

shapeoutsidecircle034 
= 

float right, circle(50% at right top)
 Test the boxes are wrapping around the right float shape defined by the basic shape circle(50% at right top) value.

shapeoutsidecircle035 
= 

float right, circle(50% at left bottom)
 Test the boxes are wrapping around the right float shape defined by the basic shape circle(50% at left bottom) value.

shapeoutsidecircle036 
= 

float left, circle()
 Test the boxes are wrapping around the left float shape defined by the basic shape circle() value.

shapeoutsidecircle037 
= 

float left, circle(closestside at center) borderbox
 Test the boxes are wrapping around the left float shape defined by the basic shape circle(closestside at center) borderbox value.

shapeoutsidecircle038 
= 

float left, circle(farthestside at center)
 Test the boxes are wrapping around the left float shape defined by the basic shape circle(farthestside at center) value.

shapeoutsidecircle041 
= 

float left, circle(100%)
 Test the boxes are wrapping around the left float shape defined by the basic shape circle(100%) value.

shapeoutsidecircle042 
= 

float right, circle()
 Test the boxes are wrapping around the right float shape defined by the basic shape circle() value.

shapeoutsidecircle043 
= 

float right, circle(closestside at center) borderbox
 Test the boxes are wrapping around the right float shape defined by the basic shape circle(closestside at center) borderbox value.

shapeoutsidecircle044 
= 

float right, circle(farthestside at center)
 Test the boxes are wrapping around the right float shape defined by the basic shape circle(farthestside at center) value.

shapeoutsidecircle047 
= 

float right, circle(100%)
 Test the boxes are wrapping around the right float shape defined by the basic shape circle(100%) value.

shapeoutsidecircle048 
= 

verticalrl, float left, circle(50% at left 40px top 40px)
 Test the boxes are wrapping around the left float shape defined by circle(50% at left 40px top 40px) value under verticalrl writingmode.

shapeoutsidecircle049 
= 

verticalrl, float right, circle(50% at left 40px bottom 40px)
 Test the boxes are wrapping around the right float shape defined by circle(50% at left 40px bottom 40px) value under verticalrl writingmode.

shapeoutsidecircle050 
= 

verticallr, float left, circle(50% at right 40px top 40px)
 Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px top 40px) value under verticallr writingmode.

shapeoutsidecircle051 
= 

verticallr, float right, circle(50% at right 40px bottom 40px)
 Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px bottom 40px) value under verticallr writingmode.

shapeoutsidecircle052 
= 

sidewayslr, float left, circle(50% at right 40px bottom 40px)
 Test the boxes are wrapping around the left float shape defined by circle(50% at right 40px bottom 40px) value under sidewayslr writingmode.

shapeoutsidecircle053 
= 

sidewayslr, float right, circle(50% at right 40px top 40px)
 Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px top 40px) value under sidewayslr writingmode.

shapeoutsidecircle054 
= 

horizontaltb, float left, circle(50% at left 40px bottom 40px)
 Test the boxes are wrapping around the left float shape defined by circle(50% at left 40px bottom 40px) value under horizontaltb writingmode.

shapeoutsidecircle055 
= 

horizontaltb, float right, circle(50% at right 40px bottom 40px)
 Test the boxes are wrapping around the right float shape defined by circle(50% at right 40px bottom 40px) value under horizontaltb writingmode.

shapeoutsideellipse032 
= 

float left, ellipse(40px 60px at left top)
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(40px 60px at left top) value.

shapeoutsideellipse033 
= 

float left, ellipse(40px 60px at right bottom)
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(40px 60px at right bottom) value.

shapeoutsideellipse034 
= 

float right, ellipse(40px 60px at right top)
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(40px 60px at right top)

shapeoutsideellipse035 
= 

float right, ellipse(40px 60px at left bottom)
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(40px 60px at left bottom) value.

shapeoutsideellipse036 
= 

float left, ellipse()
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse() value.

shapeoutsideellipse037 
= 

float left, ellipse(closestside farthestside at left 40px top 60px) borderbox
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closestside farthestside at left 40px top 60px) borderbox

shapeoutsideellipse038 
= 

float right, ellipse()
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse() value.

shapeoutsideellipse039 
= 

float right, ellipse(closestside farthestside at right 40px top 60px) borderbox
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closestside farthestside at right 40px top 60px) borderbox

shapeoutsideellipse040 
= 

float left, ellipse(0% 0%)
 Test the left float shape defines an empty float area by the basic shape ellipse(0% 0%) value.

shapeoutsideellipse041 
= 

float left, ellipse(closestside closestside at top left)
 Test the left float shape defines an empty float area by the basic shape ellipse(0% 0closestside closestside at top left) value.

shapeoutsideellipse042 
= 

float right, ellipse(0% 0%)
 Test the right float shape defines an empty float area by the basic shape ellipse(0% 0%) value.

shapeoutsideellipse043 
= 

float right, ellipse(closestside closestside at top right)
 Test the right float shape defines an empty float area by the basic shape ellipse(0% 0closestside closestside at top right) value.

shapeoutsideellipse044 
= 

float left, ellipse(100% 100%)
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(100% 100%) value.

shapeoutsideellipse045 
= 

float right, ellipse(100% 100%)
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(100% 100%) value.

shapeoutsideellipse046 
= 

verticalrl, float left, ellipse(closestside farthestside at top 40px right 60px) borderbox
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closestside farthestside at top 40px right 60px) borderbox

shapeoutsideellipse047 
= 

verticalrl, float right, ellipse(closestside farthestside at top 40px right 60px) borderbox
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closestside farthestside at top 40px right 60px) borderbox

shapeoutsideellipse048 
= 

verticallr, float left, ellipse(closestside farthestside at top 40px left 60px) borderbox
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closestside farthestside at left 40px top 60px) borderbox

shapeoutsideellipse049 
= 

verticallr, float right, ellipse(closestside farthestside at top 40px left 60px) borderbox
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closestside farthestside at left 40px top 60px) borderbox

shapeoutsideellipse050 
= 

sidewayslr, float left, ellipse(closestside farthestside at top 40px left 60px) borderbox
 Test the boxes are wrapping around the left float shape defined by the basic shape ellipse(closestside farthestside at left 40px top 60px) borderbox

shapeoutsideellipse051 
= 

sidewayslr, float right, ellipse(closestside farthestside at top 40px left 60px) borderbox
 Test the boxes are wrapping around the right float shape defined by the basic shape ellipse(closestside farthestside at left 40px top 60px) borderbox

shapeoutsideinset016 
= 

float left, inset(20px) borderbox
 Test the boxes are wrapping around the left float shape defined by the inset(20px) borderbox value.

shapeoutsideinset017 
= 

float right, inset(20px) borderbox
 Test the boxes are wrapping around the right float shape defined by the inset(20px) borderbox value.

shapeoutsideinset020 
= 

horizontaltb, float left, inset(10px round 0 40px/ 0 60px) borderbox
 Test the boxes are wrapping around the left float shape defined by the inset(10px round 0 40px/ 0 60px) borderbox value under horizontaltb writingmode.

shapeoutsideinset021 
= 

horizontaltb, float right, inset(10px round 0 40px/ 0 60px) borderbox
 Test the boxes are wrapping around the right float shape defined by the inset(10px round 0 40px/ 0 60px) borderbox value under horizontaltb writingmode.

shapeoutsideinset022 
= 

verticalrl, float left, inset(10px round 60px 0/ 40px 0) borderbox
 Test the boxes are wrapping around the left float shape defined by the inset(10px round 60px 0/ 40px 0) borderbox value under verticalrl writingmode.

shapeoutsideinset023 
= 

verticalrl, float right, inset(10px round 60px 0/ 40px 0) borderbox
 Test the boxes are wrapping around the right float shape defined by the inset(10px round 60px 0/ 40px 0) borderbox value under verticalrl writingmode.

shapeoutsideinset024 
= 

verticallr, float left, inset(10px round 60px 0/ 40px 0) borderbox
 Test the boxes are wrapping around the left float shape defined by the inset(10px round 60px 0/ 40px 0) borderbox value under verticallr writingmode.

shapeoutsideinset025 
= 

verticallr, float right, inset(10px round 60px 0/ 40px 0) borderbox
 Test the boxes are wrapping around the right float shape defined by the inset(10px round 60px 0/ 40px 0) borderbox value under verticallr writingmode.

shapeoutsideinset026 
= 

sidewayslr, float left, inset(10px round 60px 0/ 40px 0) borderbox
 Test the boxes are wrapping around the left float shape defined by the inset(10px round 60px 0/ 40px 0) borderbox value under sidewayslr writingmode.

shapeoutsideinset027 
= 

sidewayslr, float right, inset(10px round 60px 0/ 40px 0) borderbox
 Test the boxes are wrapping around the right float shape defined by the inset(10px round 60px 0/ 40px 0) borderbox value under sidewayslr writingmode.

shapeoutsideinvalid001 

DOM/JSScript 
CSS Shapes Test  shapeoutside invalid shape
 shapeoutside declaration is invalid if shape is invalid

shapeoutsideinvalidcircle000 

DOM/JSScript 
Circle  invalid 2 args
 shapeoutside declaration is invalid if circle shape function only has two parameters

shapeoutsideinvalidcircle001 

DOM/JSScript 
Circle  invalid r values
 shapeoutside declaration is invalid if circle shape function has an invalid r parameter

shapeoutsideinvalidcircle002 

DOM/JSScript 
CSS Shapes Test  Circle  invalid cy value
 shapeoutside declaration is invalid if cy for circle function is invalid

shapeoutsideinvalidcircle003 

DOM/JSScript 
Circle  invalid cx value
 shapeoutside declaration is invalid if circle shape function has an invalid cx param

shapeoutsideinvalidellipse001 

DOM/JSScript 
Ellipse  invalid 2 arg
 shapeoutside declaration is invalid if ellipse shape function has two invalid arguments

shapeoutsideinvalidellipse002 

DOM/JSScript 
Ellipse  invalid ry value
 shapeoutside declaration is invalid if ellipse shape function has an invalid ry param

shapeoutsideinvalidellipse003 

DOM/JSScript 
Ellipse  invalid rx value
 shapeoutside declaration is invalid if ellipse shape function has an invalid rx param

shapeoutsideinvalidellipse004 

DOM/JSScript 
CSS Shapes Test  Ellipse  invalid 1 arg
 shapeoutside declaration is invalid if ellipse function has one invalid argument

shapeoutsideinvalidellipse005 

DOM/JSScript 
CSS Shapes Test  Ellipse  invalid cy value
 shapeoutside declaration is invalid if cy in ellipse function is invalid

shapeoutsideinvalidellipse006 

DOM/JSScript 
CSS Shapes Test  Ellipse  invalid cx value
 shapeoutside declaration is invalid if cx in ellipse function is invalid

shapeoutsideinvalidinset001 

DOM/JSScript 
Inset Rectangles  invalid top arg
 shapeoutside declaration is invalid if inset shape function has an invalid top param

shapeoutsideinvalidinset002 

DOM/JSScript 
Inset Rectangles  invalid right arg
 shapeoutside declaration is invalid if inset shape function has an invalid right param

shapeoutsideinvalidinset003 

DOM/JSScript 
Inset Rectangles  invalid bottom arg
 shapeoutside declaration is invalid if inset shape function has an invalid bottom param

shapeoutsideinvalidinset004 

DOM/JSScript 
Inset Rectangles  invalid left param
 shapeoutside declaration is invalid if inset shape function has an invalid left param

shapeoutsidepolygon018 
= 

horizontaltb, float left, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under horizontaltb writingmode.

shapeoutsidepolygon019 
= 

horizontaltb, float right, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under horizontaltb writingmode.

shapeoutsidepolygon020 
= 

verticalrl, float left, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under verticalrl writingmode.

shapeoutsidepolygon021 
= 

verticalrl, float right, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under verticalrl writingmode.

shapeoutsidepolygon022 
= 

verticallr, float left, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under verticallr writingmode.

shapeoutsidepolygon023 
= 

verticallr, float right, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under verticallr writingmode.

shapeoutsidepolygon024 
= 

sidewayslr, float left, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the left float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under sidewayslr writingmode.

shapeoutsidepolygon025 
= 

sidewayslr, float right, polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox
 Test the boxes are wrapping around the right float shape defined by the polygon(60px 20px, 100px 60px, 20px 60px, 60px 100px) borderbox value under sidewayslr writingmode.

shapeoutsidecircle000 

AhemDOM/JSScript 
Shape Outside Circle Valid Formats
 A circular basic shape has an optional radius and position component

shapeoutsidecircle001 

AhemDOM/JSScript 
Shape Outside Circle Valid Radii
 A circle's radius may be a length, percentage, or keyword.

shapeoutsidecircle002 

AhemDOM/JSScript 
Shape Outside Circle Valid Positions
 A circle's position argument may be any of the valid combinations: [ percentagelength leftcenterright ] or [ percentagelength leftcenterright ] [ percentagelength topcenterbottom ] or [ leftcenterright ] or [ leftcenterright topcenterbottom ] or [ topcenterbottom ].

shapeoutsidecircle003 

AhemDOM/JSScript 
Shape Outside Circle Invalid Position Argument Lists
 Valid circle position argument list are in the form of: [ percentagelength leftcenterright ] or [ percentagelength leftcenterright ] [ percentagelength topcenterbottom ] or [ leftcenterright ] or [ leftcenterright topcenterbottom ] or [ topcenterbottom ]. All position arguments not in this form are invalid.

shapeoutsidecircle004 

AhemDOM/JSScript 
Shape Outside Circle  Position Length Units
 A circle's position arguments may in any valid <length> unit allowed by a <position> value.

shapeoutsidecircle005 

AhemDOM/JSScript 
Shape Outside Circle Valid Radii  length units
 A circle's radius may be in any valid length unit.

shapeoutsidecircle006 

AhemDOM/JSScript 
Shape Outside Circle Radii  positive/negative, decimal/nondecimal
 A circle's radius may be in signed positive or decimal/nondecimal format. Negative radii are invalid.

shapeoutsidecircle007 

AhemDOM/JSScript 
Shape Outside Circle Radii  invalid args
 This test verifies that invalid shaperadius arguments on circle() don't parse.

shapeoutsidecircle008 

AhemDOM/JSScript 
Shape Outside Circle Invalid Position Argument Values
 This test verifies that invalid position arguments on circle() don't parse

shapeoutsidecircle009 

AhemDOM/JSScript 
Shape Outside Circle Position Arguments  positive/negative, decimal/nondecimal
 A circle's position arguments may be in signed positive/negative or decimal/nondecimal format.

shapeoutsidecircle010 

AhemDOM/JSScript 
Shape Outside Circle args  calc() values
 A circle's arguments may be in calc() values.

shapeoutsidecircle011 

AhemDOM/JSScript 
Shape Outside Circle position args  calc() values
 A circle's <position> arguments may be in calc() values.

shapeoutsidecircle013 
= 
Ahem 
left float, circle + marginbox + position (px)
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle from the margin box and positioned in px units.

shapeoutsidecircle014 
= 
Ahem 
left float, circle + contentbox + radius and position in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle from the content box with the radius and position in percentage units.

shapeoutsidecircle015 
= 
Ahem 
left float, circle + closestside + paddingbox
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle with the radius explicitly set as closestside from the padding box.

shapeoutsidecircle016 
= 
Ahem 
left float, circle + farthestside + borderbox
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle with the radius defined as farthestside from the border box.

shapeoutsidecircle017 
= 
Ahem 
left float, circle + shapemargin in px
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle with a shapemargin in px units.

shapeoutsidecircle018 
= 
Ahem 
left float, circle + shapemargin in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle with a shapemargin in percentage units.

shapeoutsidecircle019 
= 
Ahem 
left float, circle at top left + marginbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle from the margin box and is positioned top left with a shapemargin.

shapeoutsidecircle020 
= 
Ahem 
left float, circle at % + borderbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle from the padding box with a position specified as a percentage and with a shapemargin.

shapeoutsidecircle021 
= 
Ahem 
left float, circle + farthestside + paddingbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle with a farthestside radius from the padding box with a shapemargin.

shapeoutsidecircle022 
= 
Ahem 
left float, circle at bottom right + contentbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle from the padding box positioned at center right with a shapemargin.

shapeoutsidecircle024 
= 
Ahem 
right float, circle radius in % units + shapemargin + borderbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a circle from the border box with radius in percentage units and with a shapemargin.

shapeoutsidecircle025 
= 
Ahem 
right float, circle + shapemargin + paddingbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a circle from the padding box with a shapemargin.

shapeoutsidecircle026 
= 
Ahem 
right float, circle + shapemargin + contentbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a circle from the content box with a shapemargin.

shapeoutsidecircle027 
= 
Ahem 
right float, circle with radius in % units + shapemargin + marginbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a circle positioned from the margin box with a shapemargin.

shapeoutsidecircle028 
= 
Ahem 
right float, circle(closestside) at position % + shapemargin + borderbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a circle positioned from the border box with a shapemargin.

shapeoutsidecircle029 
= 
Ahem 
right float, circle at center right + shapemargin + paddingbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a circle positioned center right from the padding box with a shapemargin.

shapeoutsidecircle030 
= 
AhemDOM/JS 
left float, circle radius in px units
 The test verifies that text wraps around a left float with a shapeoutside defined as an circle with the radius in px units.

shapeoutsidecircle031 
= 
AhemDOM/JS 
left float, circle radius in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as an circle with the radius in percentage units.

shapeoutsidecircle056 
= 
Ahem 
left float, offset circle at top left + marginbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a circle from the margin box and is positioned top left with a shapemargin. Additionally, the shapeoutside: circle element is offset from its containing block.

shapeoutsideinvalidcircle000 

DOM/JSScript 
Circle  invalid 2 args
 shapeoutside declaration is invalid if circle shape function only has two parameters

shapeoutsideinvalidcircle001 

DOM/JSScript 
Circle  invalid r values
 shapeoutside declaration is invalid if circle shape function has an invalid r parameter

shapeoutsideinvalidcircle002 

DOM/JSScript 
CSS Shapes Test  Circle  invalid cy value
 shapeoutside declaration is invalid if cy for circle function is invalid

shapeoutsideinvalidcircle003 

DOM/JSScript 
Circle  invalid cx value
 shapeoutside declaration is invalid if circle shape function has an invalid cx param

shapeoutsideellipse000 

AhemDOM/JSScript 
Shape Outside Ellipse Valid Formats
 An elliptical basic shape has two optional components, radii (2) and a position.

shapeoutsideellipse001 

AhemDOM/JSScript 
Shape Outside Ellipse Valid Radii
 An elliptical basic shape's radii may be keywords, lengths or percentages

shapeoutsideellipse002 

AhemDOM/JSScript 
Shape Outside Ellipse Valid Positions
 An ellipse's position argument may be any of the valid combinations: [ percentagelength leftcenterright ] or [ percentagelength leftcenterright ] [ percentagelength topcenterbottom ] or [ leftcenterright ] or [ leftcenterright topcenterbottom ] or [ topcenterbottom ].

shapeoutsideellipse003 

AhemDOM/JSScript 
Shape Outside Ellipse Invalid Position Argument Lists
 Valid ellipse position argument list are in the form of: [ percentagelength leftcenterright ] or [ percentagelength leftcenterright ] [ percentagelength topcenterbottom ] or [ leftcenterright ] or [ leftcenterright topcenterbottom ] or [ topcenterbottom ]. All position arguments not in this form are invalid.

shapeoutsideellipse004 

AhemDOM/JSScript 
Shape Outside Ellipse  Position Length Units
 An ellipse's position arguments may in any valid <length> unit allowed by a <position> value.

shapeoutsideellipse005 

AhemDOM/JSScript 
Shape Outside Ellipse Valid Radii  length units
 An ellipse's radii may be in any valid length unit.

shapeoutsideellipse006 

AhemDOM/JSScript 
Shape Outside Ellipse Radii  positive/negative, decimal/nondecimal
 An ellipse's radii may be in signed positive or decimal/nondecimal format. Negative radii are invalid.

shapeoutsideellipse007 

AhemDOM/JSScript 
Shape Outside Ellipse Radii  invalid args
 This test verifies that invalid shaperadius arguments on ellipse() don't parse.

shapeoutsideellipse008 

AhemDOM/JSScript 
Shape Outside Ellipse Invalid Position Argument Values
 This test verifies that invalid position arguments on ellipse() don't parse

shapeoutsideellipse009 

AhemDOM/JSScript 
Shape Outside Ellipse Position Arguments  positive/negative, decimal/nondecimal
 An ellipse's position arguments may be in signed positive/negative or decimal/nondecimal format.

shapeoutsideellipse010 

AhemDOM/JSScript 
Shape Outside Ellipse args  calc() values
 An ellipse's arguments may be in calc() values.

shapeoutsideellipse011 

AhemDOM/JSScript 
Shape Outside Ellipse position args  calc() values
 An ellipse's <position> arguments may be in calc() values.

shapeoutsideellipse013 
= 
Ahem 
left float, ellipse radii and position in px
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse with radii and position in px units.

shapeoutsideellipse014 
= 
Ahem 
left float, ellipse radii and position in % units + contentbox
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse from the content box with the position and radii in percentage units.

shapeoutsideellipse015 
= 
Ahem 
left float, ellipse + closestside + paddingbox
 The test verifies that text wraps around a left float with a shapeoutside defined as an ellipse with the radii explicitly set as closestside from the padding box.

shapeoutsideellipse016 
= 
Ahem 
left float, ellipse radii in % units + paddingbox
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse from the padding box with the radii in percentage units.

shapeoutsideellipse017 
= 
Ahem 
left float, ellipse(farthestside) + shapemargin + contentbox
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse from the content box with only the rx defined as farthestside and with a shapemargin.

shapeoutsideellipse018 
= 
Ahem 
left float, ellipse + shapemargin in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse with a shapemargin in percentage units.

shapeoutsideellipse019 
= 
Ahem 
left float, ellipse radii in % units + paddingbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse from the padding box with radii in percentage units and with a shapemargin.

shapeoutsideellipse020 
= 
Ahem 
left float, ellipse radii in % units + marginbox + shapemargin
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse from the margin box with the radii specified in percentage units and with a shapemargin.

shapeoutsideellipse021 
= 
Ahem 
right float, ellipse (closestside px) + shapemargin + padding box
 The test verifies that text wraps around a right float with a shapeoutside defined as a ellipse from the padding box with rx explicitly set at closestside and ry in px units and with a shapemargin.

shapeoutsideellipse022 
= 
Ahem 
right float, ellipse(closestside px) + shapemargin + contentbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a ellipse from the content box with a shapemargin.

shapeoutsideellipse023 
= 
Ahem 
right float, ellipse + shapemargin
 The test verifies that text wraps around a right float with a shapeoutside defined as an ellipse with only the horizontal offset specifed in px and with a shapemargin.

shapeoutsideellipse024 
= 
Ahem 
right float, ellipse at position (%) + shapemargin (%) + borderbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a ellipse positioned from the border box with only the horizontal offset specified in percentage units and with a shapemargin in percentage units.

shapeoutsideellipse025 
= 
Ahem 
right float, ellipse radii in % at center right + shapemargin + paddingbox
 The test verifies that text wraps around a right float with a shapeoutside defined as a ellipse with the radii in percentage units positioned at center right from the margin box with a shapemargin.

shapeoutsideellipse030 
= 
AhemDOM/JS 
left float, ellipse radii in px
 The test verifies that text wraps around a left float with a shapeoutside defined as an ellipse with radii in px units.

shapeoutsideellipse031 
= 
AhemDOM/JS 
left float, ellipse radii in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as an ellipse with radii in % units.

shapeoutsideellipse052 
= 
Ahem 
left float, offset ellipse + shapemargin in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as a ellipse with a shapemargin in pixel units. Additionally, the shapeoutside: ellipse element is offset from its containing block.

shapeoutsideinvalidcircle003 

DOM/JSScript 
Circle  invalid cx value
 shapeoutside declaration is invalid if circle shape function has an invalid cx param

shapeoutsideinvalidellipse001 

DOM/JSScript 
Ellipse  invalid 2 arg
 shapeoutside declaration is invalid if ellipse shape function has two invalid arguments

shapeoutsidepolygon000 

AhemDOM/JSScript 
Shape Outside Polygon Valid Formats
 A polygonal basic shape has an optional fillrule and one or more pairs of coordinates

shapeoutsidepolygon001 

AhemDOM/JSScript 
Shape Outside Polygon Valid FillRules
 A polygonal basic shape's optional fillrule may be either 'nonzero' or 'evenodd'

shapeoutsidepolygon002 

AhemDOM/JSScript 
Shape Outside Polygon Valid Points
 A polygonal basic shape's points may be either lengths or percentages

shapeoutsidepolygon003 

AhemDOM/JSScript 
Shape Outside Polygon Invalid Points
 A polygonal basic shape's points may be either lengths or percentages

shapeoutsidepolygon004 

AhemDOM/JSScript 
Shape Outside Polygon  Argument Length Units
 A polygon's veritices may in percentage or any valid <length> units.

shapeoutsidepolygon005 

AhemDOM/JSScript 
Shape Outside Polygon Valid Points
 A polygon's vertices can be in signed positive/negative or decimal/nondecimal format

shapeoutsidepolygon006 

AhemDOM/JSScript 
Shape Outside Polygon args  calc() values
 A polygon's arguments may be in calc() values.

shapeoutsidepolygon007 
= 
Ahem 
left float, polygon, args in px units
 The test verifies that text wraps around a left float with a shapeoutside defined as an polygon with the args in px units.

shapeoutsidepolygon008 
= 
Ahem 
left float, polygon, args in % units
 The test verifies that text wraps around a left float with a shapeoutside defined as an polygon with the args in px units.

shapeoutsidepolygon009 
= 
Ahem 
left float, polygon + border box
 The test verifies that text wraps around a left float with a shapeoutside defined as an polygon from the border box.

shapeoutsidepolygon010 
= 
Ahem 
left float, polygon + padding box
 The test verifies that text wraps around a left float with a shapeoutside defined as an polygon from the padding box.

shapeoutsidepolygon011 
= 
Ahem 
left float, polygon + content box
 The test verifies that text wraps around a left float with a shapeoutside defined as an polygon from the content box.

shapeoutsidepolygon012 
= 
Ahem 
right float, polygon + marginbox + shapemargin
 The test verifies that text wraps around a right float with a shapeoutside defined as an polygon from the margin box with a shape margin.

shapeoutsidepolygon013 
= 
Ahem 
right float, polygon + borderbox + shapemargin
 The test verifies that text wraps around a right float with a shapeoutside defined as an polygon from the border box with a shape margin.

shapeoutsidepolygon014 
= 
Ahem 
right float, polygon + paddingbox + shapemargin
 The test verifies that text wraps around a right float with a shapeoutside defined as an polygon from the padding box with a shape margin.

shapeoutsidepolygon015 
= 
Ahem 
right float, polygon + contentbox + shapemargin
 The test verifies that text wraps around a right float with a shapeoutside defined as an polygon from the content box wtih a shape margin.

shapeoutsidepolygon016 
= 
Ahem 
polygon, evenodd
 The test verifies that evenodd behaves the same as nonzero for shapeoutside and that text will wraps around the outer edge of a polygon.

shapeoutsidepolygon017 
= 
Ahem 
right float, polygon + shapemargin beyond margin box
 The test verifies that when a shapemargin is defined that extends beyond the margin box, the shape is clipped to the box.

shapeoutsidepolygon032 
= 
Ahem 
right float, offset polygon + marginbox + shapemargin
 The test verifies that text wraps around a right float with a shapeoutside defined as an polygon from the margin box with a shape margin. Additionally, the shapeoutside: polygon element is offset from its containing block.
