Working Test Cases

border-collapse: separate

TC-A1: table no border

Cell 1A Cell 1B

TC-A2: table attribute controlled border (1px, red)

Cell 1A Cell 1B

TC-A3: table attribute controlled border (4px, blue)

Cell 1A Cell 1B
Note: Real browsers render the inner cells border with 1px, but QTextDocument's rendering has always been like this.

border-collapse: collapse

TC-B1: table no border

Cell 1A Cell 1B

TC-B2: table attribute + css controlled grid (outer border 1px)

Cell 1A Cell 1B

TC-B3: table attribute + css controlled grid (outer border 4px)

Cell 1A Cell 1B

TC-B4: table attribute + css controlled grid (one cell with custom edge)

Cell 1A Cell 1B (border-right: 8px solid green)

TC-B5: table with single decorated cell

Cell 1A Cell 1B (border: 2px solid red)

cells with competing rules

TC-C1: vertical edge (pink, 6px) wins over horizontal edge (red|blue, 6px)

Cell 1A Cell 2B

TC-C2: vertical edge (pink, 6px) loses over horizontal edge (red|blue, 8px)

Cell 1A Cell 2B

TC-C3: cells with span and competing rules

Cell 1A/B spans over two columns (border-bottom: red)
Cell 2A (border-top loses -> red) Cell 2B (border-top wins -> green)

Non-Working Test Cases

border-collapse: separate

TC-X1: table css border (red via style)

Cell 1A Cell 1B

border-collapse: collapse

TC-X2: tr css border

Cell 1A (border-bottom should be red) Cell 1B (border-bottom should be red)
Cell 2A (border-left should be red) Cell 2B

TC-X3: cells with competing rules and colspan

Cell 1A/B spans over two columns (border-bottom: red, border-right pink)
Cell 2A (border-top loses -> red) Cell 2B (border-top wins -> green)
This is currently not 100% correct but admittedly a constructed corner case (and Chrome failes here, too).