{
  "version": "18.0",
  "examples": "Four standard samples plus two clearly marked constructed alterations",
  "platform_rendering_tested": false,
  "cases": [
    {
      "label": "Woman technologist",
      "text": "👩‍💻",
      "expected_codepoints": "1F469 200D 1F4BB",
      "note": "Contains ZWJ; listed complete sequence"
    },
    {
      "label": "Woman and laptop without joiner",
      "text": "👩💻",
      "expected_codepoints": "1F469 1F4BB",
      "note": "Different string; no joining instruction"
    },
    {
      "label": "Rainbow flag",
      "text": "🏳️‍🌈",
      "expected_codepoints": "1F3F3 FE0F 200D 1F308",
      "note": "Contains presentation selector and ZWJ"
    },
    {
      "label": "Pirate flag",
      "text": "🏴‍☠️",
      "expected_codepoints": "1F3F4 200D 2620 FE0F",
      "note": "Contains ZWJ and presentation selector"
    },
    {
      "label": "Thumbs up with medium skin tone",
      "text": "👍🏽",
      "expected_codepoints": "1F44D 1F3FD",
      "note": "Modifier sequence; not a ZWJ example"
    },
    {
      "label": "Rainbow example with VS15 inserted",
      "text": "🏳︎‍🌈",
      "expected_codepoints": "1F3F3 FE0E 200D 1F308",
      "note": "Constructed alteration; text selector breaks joining"
    }
  ]
}
