broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table hidden copy column result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in reversed(rows) if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected[:1]]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table selected copy order result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s=str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if not v else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table null cell copy result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table quote escaping result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t',)) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table newline quoting result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if True: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers and rr: lines.append('\t'.join(text(c['label']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table header inclusion result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c['id']) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(rows, columns, selected, hidden, include_headers, raw):
    cols=[c for c in columns if c['id'] not in hidden and c.get('copy',True)]
    rr=[r for r in rows if r['id'] in selected]
    def text(v):
        s='' if v is None else str(v)
        return '"'+s.replace('"','""')+'"' if any(x in s for x in ('\t','\n','"')) else s
    lines=[]
    if include_headers: lines.append('\t'.join(text(c.get('title','')) for c in cols))
    for r in rr:
        values=[r.get(c['id']) if raw else r.get('_display',{}).get(c['id'],r.get(c['id'])) for c in cols]
        lines.append('\t'.join(text(v) for v in values))
    return '\r\n'.join(lines)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
    check('display selected rows', solve([{'id':'r1','a':1,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 2:
    check('display selected rows', solve([{'id':'r1','a':2,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 3:
    check('display selected rows', solve([{'id':'r1','a':3,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 4:
    check('display selected rows', solve([{'id':'r1','a':4,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

if N == 5:
    check('display selected rows', solve([{'id':'r1','a':5,'b':0,'_display':{'a':'shown'}},{'id':'r2','a':None,'b':'x'}], [{'id':'a','label':'Alpha'},{'id':'b','label':'Beta'}], ['r2','r1'], [], True, False), 'Alpha\tBeta\r\nshown\t0\r\n\tx')
    check('quoted cells', solve([{'id':'r','a':'x"y','b':'line\nnext','c':'x\ty'}], [{'id':'a','label':'A'},{'id':'b','label':'B'},{'id':'c','label':'C'}], ['r'], [], False, True), '"x""y"\t"line\nnext"\t"x\ty"')
    check('hidden private', solve([{'id':'r','a':1,'b':2,'c':3}], [{'id':'a','label':'A'},{'id':'b','label':'B','copy':False},{'id':'c','label':'C'}], ['r'], ['a'], False, True), '3')
    check('raw mode', solve([{'id':'r','a':2,'b':None,'_display':{'a':'two'}}], [{'id':'a','label':'A'},{'id':'b','label':'B'}], ['r'], [], False, True), '2\t')
    check('header-only', solve([], [{'id':'a','label':'Alpha'}], [], [], True, True), 'Alpha')
    check('no selection', solve([{'id':'r','a':1}], [{'id':'a','label':'A'}], [], [], False, False), '')

check('variant formatted clipboard value', solve([{'id':'r','a':N,'_display':{'a':'value'+str(N)}}], [{'id':'a','label':'A'}], ['r'], [], False, False), 'value'+str(N))
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The table header label result violates the stipulated table clipboard serialization contract.

Serialize selected rows in current table order and copyable visible columns in schema order. Optional labels precede records, display/raw selection is explicit, None is empty while zero is retained, TSV-special cells use doubled quotes, and records use CRLF without a trailing separator.

split: open-access