Gosub Render Test Suite

Manual rendering checks for the Gosub browser engine.

The progressive tests build from the simplest possible page up to complex layout. Start at 01 and work down until something breaks — that's the first feature to look at.

Progressive — simplest first

01Plain textbare text, no styling 02Background colorcolored boxes, inline styles only 03Box modelmargin, padding, border 04Inline vs blockdisplay types 05Text propertiesfont-size, color, line-height 06Nested & percentagesrelative units, containment 07Flexbox basicrow/column, justify/align 08Flexbox advancedwrap, grow, shrink, basis 09Grid basicgrid-template-columns, gap 10Positioningrelative, absolute, z-index

Text & typography

Typographytext rendering, paragraphs Inline (basic)block vs inline borders Inline (minimal)plain text with bold and link Inline elements suitecomprehensive inline element tests Line-height (large)30px font, 100px line-height Line-height (tight)30px font, 10px line-height Listsmarkers, start/reversed, nesting, counters, ::marker, dl Fonts & text stylingfamilies, weights, variants, decoration, spacing, shadows Text wrappingwhite-space, word-break, overflow-wrap, hyphens, tab-size Writing modesdirection/RTL, bidi, vertical text, text-orientation

Box model & layout

Margin (box model)browser box model test page Margin (nested)5 levels of nested margins Margin (nested alt)nested margin variation Buttons (basic)two sized buttons Buttons (inline-block)inline vs inline-block layout Forms & widgetsbuttons, inputs, selects, custom toggles, card radios, progress & meters Tablescaption, header, footer, colspan/rowspan Floats & cleartext wrap, clearfix, drop-cap, formatting contexts Overflow & clippingoverflow values, ellipsis, line-clamp, clip-path Grid (advanced)areas, auto-fit/fill, span, dense, alignment, named lines Scrollscroll behavior, tall-content layout

Tables — layout fixtures

01Basic grid3×3 grid, auto columns, border-spacing 02Ragged rowsrows of unequal length, empty cells 03Sectionstfoot before thead in source, multiple tbodies 04Anonymous boxesdisplay: table divs, cells without a row 05Captioncaption, caption-side: bottom 06Colspancolspan 2/3/full/overflowing 07Rowspanrowspan, tall spanning content, span past last row 08Span mixinterlocking colspan+rowspan block puzzle 09Explicit widthspx/% cell widths, width on a row-2 cell 10Table widthtable width auto/px/%/100% 11Fixed layouttable-layout: fixed semantics 12Colgroupwidths from col/colgroup 13Content extremesunbreakable word, over-wide block 14Border spacingspacing 0 / 10px / asymmetric; padding 15Border collapseseparate vs collapse, border conflict 16Nested layoutflex + block stacks + wrapping text in cells 17Nested tabletable inside a table cell 18Vertical aligntop/middle/bottom/baseline 19Infoboxwikipedia-style infobox: fixed width, spans, label column 20Data tablefull-width data table, zebra, collapse, tfoot

Graphics & media

Images & backgroundspng/jpg/gif/webp/svg, background-image, sizing, broken images Borders & backgroundsborder styles, radius, box-shadow, gradients, multiple backgrounds SVGGosub logo as inline SVG

Visual effects

Transformstranslate, scale, rotate, skew, transform-origin, 3D, perspective Filters & opacityfilter functions, backdrop-filter, opacity, mix-blend-mode

CSS mechanics

Selectors & pseudo-elementsnth-child, combinators, attribute selectors, ::before/::after, states Units & calc()px/em/rem/ch/%/vw/vh, calc, min/max/clamp

Interactive & embedded

Interactive elementsdetails/summary, dialog, CSS-only menu & tabs Embedded mediacanvas, video/audio, iframe, object, aspect-ratio

Real-world pages

Gopher proxy pagereal-world styled page