{
"schema_version": 2,
"notes": "Baseline wrap conformance fixtures for the renderer wrapper. These goldens are expected to change when upgrading line breaking (text-line-breaking-v1 M1/M2). Schema v2 adds `word_break` cases.",
"cases": [
{
"id": "ascii_words_word_wrap",
"text": "hello world hello world hello world",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 6], [6, 12], [12, 18], [18, 24], [24, 30], [30, 35]]
},
{
"id": "ascii_words_grapheme_wrap",
"text": "hello world hello world hello world",
"font_family": "Fira Mono",
"wrap": "grapheme",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 6], [6, 12], [12, 18], [18, 24], [24, 30], [30, 35]]
},
{
"id": "identifier_snake_and_camel_word_wrap",
"text": "snake_caseIdentifierCamelCase123 snake_caseIdentifierCamelCase123",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 80.0,
"expected_line_ranges": [[0, 33], [33, 65]]
},
{
"id": "identifier_snake_and_camel_grapheme_wrap",
"text": "snake_caseIdentifierCamelCase123 snake_caseIdentifierCamelCase123",
"font_family": "Fira Mono",
"wrap": "grapheme",
"max_width_px": 80.0,
"expected_line_ranges": [[0, 8], [8, 16], [16, 24], [24, 32], [32, 40], [40, 48], [48, 56], [56, 64], [64, 65]]
},
{
"id": "path_windows_word_wrap",
"text": "C:\\\\Users\\\\name\\\\Documents\\\\some_long_file_name.rs",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 90.0,
"expected_line_ranges": [[0, 3], [3, 10], [10, 16], [16, 27], [27, 50]]
},
{
"id": "url_query_word_wrap",
"text": "https://example.com/a/b?c=d#e https://example.com/a/b?c=d#e",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 90.0,
"expected_line_ranges": [[0, 8], [8, 20], [20, 30], [30, 38], [38, 50], [50, 59]]
},
{
"id": "cjk_punctuation_word_wrap",
"text": "你好,世界!你好,世界!你好,世界!",
"font_family": "Noto Sans CJK SC",
"wrap": "word",
"max_width_px": 60.0,
"assert_no_forbidden_punct": true,
"expected_line_ranges": [[0, 9], [9, 18], [18, 27], [27, 36], [36, 45], [45, 54]]
},
{
"id": "newline_paragraphs_word_wrap",
"text": "hello world\nhello world hello world",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 6], [6, 11], [12, 18], [18, 24], [24, 30], [30, 35]]
},
{
"id": "unix_path_word_wrap",
"text": "/usr/local/bin/some_long_tool_name --flag",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 90.0,
"expected_line_ranges": [[0, 5], [5, 11], [11, 15], [15, 35], [35, 41]]
},
{
"id": "cjk_brackets_word_wrap",
"text": "你好(世界)你好(世界)你好(世界)",
"font_family": "Noto Sans CJK SC",
"wrap": "word",
"max_width_px": 60.0,
"assert_no_forbidden_punct": true,
"expected_line_ranges": [[0, 6], [6, 12], [12, 21], [21, 30], [30, 39], [39, 48], [48, 54]]
},
{
"id": "cjk_quotes_word_wrap",
"text": "“你好”,他说。“你好”,她说。",
"font_family": "Noto Sans CJK SC",
"wrap": "word",
"max_width_px": 60.0,
"assert_no_forbidden_punct": true,
"expected_line_ranges": [[0, 6], [6, 15], [15, 18], [18, 30], [30, 39], [39, 48]]
},
{
"id": "emoji_zwj_sequence_grapheme_wrap",
"text": "👩👩👧👦👩👩👧👦👩👩👧👦👩👩👧👦",
"font_family": "Noto Color Emoji",
"wrap": "grapheme",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 75], [75, 100]]
},
{
"id": "emoji_vs16_grapheme_wrap",
"text": "✈️✈️✈️✈️✈️✈️",
"font_family": "Noto Color Emoji",
"wrap": "grapheme",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 18], [18, 36]]
},
{
"id": "long_token_word_wrap",
"text": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 256]]
},
{
"id": "long_token_grapheme_wrap",
"text": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"font_family": "Fira Mono",
"wrap": "grapheme",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 6], [6, 12], [12, 18], [18, 24], [24, 30], [30, 36], [36, 42], [42, 48], [48, 54], [54, 60], [60, 66], [66, 72], [72, 78], [78, 84], [84, 90], [90, 96], [96, 102], [102, 108], [108, 114], [114, 120], [120, 126], [126, 132], [132, 138], [138, 144], [144, 150], [150, 156], [156, 162], [162, 168], [168, 174], [174, 180], [180, 186], [186, 192], [192, 198], [198, 204], [204, 210], [210, 216], [216, 222], [222, 228], [228, 234], [234, 240], [240, 246], [246, 252], [252, 256]]
},
{
"id": "rust_path_colon_colon_word_wrap",
"text": "Self::new Self::new Self::new",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 10], [10, 20], [20, 29]]
},
{
"id": "kebab_case_word_wrap",
"text": "foo-bar-baz-qux foo-bar-baz-qux",
"font_family": "Fira Mono",
"wrap": "word",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 4], [4, 8], [8, 12], [12, 16], [16, 20], [20, 24], [24, 28], [28, 31]]
},
{
"id": "long_token_word_break_wrap",
"text": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"font_family": "Fira Mono",
"wrap": "word_break",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 6], [6, 12], [12, 18], [18, 24], [24, 30], [30, 36], [36, 42], [42, 48], [48, 54], [54, 60], [60, 66], [66, 72], [72, 78], [78, 84], [84, 90], [90, 96], [96, 102], [102, 108], [108, 114], [114, 120], [120, 126], [126, 132], [132, 138], [138, 144], [144, 150], [150, 156], [156, 162], [162, 168], [168, 174], [174, 180], [180, 186], [186, 192], [192, 198], [198, 204], [204, 210], [210, 216], [216, 222], [222, 228], [228, 234], [234, 240], [240, 246], [246, 252], [252, 256]]
},
{
"id": "url_query_word_break_wrap",
"text": "https://example.com/a/b?c=d#e https://example.com/a/b?c=d#e",
"font_family": "Fira Mono",
"wrap": "word_break",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 6], [6, 8], [8, 14], [14, 20], [20, 24], [24, 30], [30, 36], [36, 38], [38, 44], [44, 50], [50, 54], [54, 59]]
},
{
"id": "emoji_keycap_word_break_wrap",
"text": "1️⃣1️⃣1️⃣1️⃣1️⃣1️⃣1️⃣1️⃣1️⃣1️⃣",
"font_family": "Noto Color Emoji",
"wrap": "word_break",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 21], [21, 42], [42, 63], [63, 70]]
},
{
"id": "emoji_regional_indicator_flag_word_break_wrap",
"text": "🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸🇺🇸",
"font_family": "Noto Color Emoji",
"wrap": "word_break",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 24], [24, 48], [48, 64]]
},
{
"id": "emoji_zwj_sequence_word_break_wrap",
"text": "👩👩👧👦👩👩👧👦👩👩👧👦👩👩👧👦",
"font_family": "Noto Color Emoji",
"wrap": "word_break",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 75], [75, 100]]
},
{
"id": "emoji_vs16_word_break_wrap",
"text": "✈️✈️✈️✈️✈️✈️",
"font_family": "Noto Color Emoji",
"wrap": "word_break",
"max_width_px": 60.0,
"expected_line_ranges": [[0, 18], [18, 36]]
}
]
}