{
  "data": [
    {
      "module":"toImage",
      "tests": [
        {
          "description": "test toImage",
          "text": "Hello world! 😄 :smile:",
          "expected": "Hello world! <img class=\"joypixels\" alt=\"😄\" title=\":smile:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f604.png\"/> <img class=\"joypixels\" alt=\"😄\" title=\":smile:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f604.png\"/>"
        },
        {
          "description": "mixed ascii, regular unicode and duplicate emoji",
          "text": ":alien: is 👽 and 저 is not :alien: or :alien: also :randomy: is not emoji",
          "expected": "<img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> is <img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> and 저 is not <img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> or <img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> also :randomy: is not emoji"
        }
      ]
    },
    {
      "module":"unifyUnicode",
      "tests": [
        {
          "description": "test unifyUnicode",
          "text": "Hello world! 😄 :smile:",
          "expected": "Hello world! 😄 😄"
        },
        {
          "description": "mixed ascii, regular unicode and duplicate emoji",
          "text": ":alien: is 👽 and 저 is not :alien: or :alien: also :randomy: is not emoji",
          "expected": "👽 is 👽 and 저 is not 👽 or 👽 also :randomy: is not emoji"
        },
        {
          "description": "multiline emoji string",
          "text": ":dancer:\\\n:dancer:",
          "expected": "💃\\\n💃"
        },
        {
          "description": "triple emoji string",
          "text": ":dancer::dancer::alien:",
          "expected": "💃💃👽"
        }
      ]
    },
    {
      "module": "shortnameToUnicode",
      "tests": [
        {
          "description": "single unicode character conversion",
          "text": "Hello world! 😄 :smile:",
          "expected": "Hello world! 😄 😄"
        },
        {
          "description": "shortname at start of sentence with apostrophe",
          "text": ":snail:'s are cool!",
          "expected": "🐌\\'s are cool!"
        },
        {
          "description": "shortname shares a colon",
          "text": ":invalid:snail:",
          "expected": ":invalid🐌"
        },
        {
          "description": "mixed ascii, regular unicode and duplicate emoji",
          "text": ":alien: is 👽 and 저 is not :alien: or :alien: also :randomy: is not emoji",
          "expected": "👽 is 👽 and 저 is not 👽 or 👽 also :randomy: is not emoji"
        },
        {
          "description": "multiline emoji string",
          "text": ":dancer:\\n:dancer:",
          "expected": "💃\\n💃"
        },
        {
          "description": "triple emoji string",
          "text": ":dancer::dancer::alien:",
          "expected": "💃💃👽"
        }
      ]
    },
    {
      "module": "shortnameToImage",
      "tests": [
        {
          "description": "single shortname character conversion",
          "text": "Hello world! 😄 :smile:",
          "expected": "Hello world! 😄 <img class=\"joypixels\" alt=\"😄\" title=\":smile:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f604.png\"/>"
        },
        {
          "description": "shortname at start of sentence with apostrophe",
          "text": ":snail:'s are cool!",
          "expected": "<img class=\"joypixels\" alt=\"🐌\" title=\":snail:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f40c.png\"/>\\'s are cool!"
        },
        {
          "description": "shortname shares a colon",
          "text": ":invalid:snail:",
          "expected": ":invalid<img class=\"joypixels\" alt=\"🐌\" title=\":snail:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f40c.png\"/>"
        },
        {
          "description": "mixed ascii, regular unicode and duplicate emoji",
          "text": ":alien: is 👽 and 저 is not :alien: or :alien: also :randomy: is not emoji",
          "expected": "<img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> is 👽 and 저 is not <img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> or <img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/> also :randomy: is not emoji"
        },
        {
          "description": "multiline emoji string",
          "text": ":dancer:\\n:dancer:",
          "expected": "<img class=\"joypixels\" alt=\"💃\" title=\":dancer:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f483.png\"/>\\n<img class=\"joypixels\" alt=\"💃\" title=\":dancer:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f483.png\"/>"
        },
        {
          "description": "triple emoji string",
          "text": ":dancer::dancer::alien:",
          "expected": "<img class=\"joypixels\" alt=\"💃\" title=\":dancer:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f483.png\"/><img class=\"joypixels\" alt=\"💃\" title=\":dancer:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f483.png\"/><img class=\"joypixels\" alt=\"👽\" title=\":alien:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f47d.png\"/>"
        }
      ]
    },
    {
      "module": "toShort",
      "tests": [
        {
          "description": "single unicode character conversion",
          "text": "Hello world! 😄 :smile:",
          "expected": "Hello world! :smile: :smile:"
        },
        {
          "description": "mixed ascii, regular unicode and duplicate emoji",
          "text": "👽 is not :alien: and 저 is not 👽 or 👽",
          "expected": ":alien: is not :alien: and 저 is not :alien: or :alien:"
        },
        {
          "description": "multiline emoji string",
          "text": "💃\\n💃",
          "expected": ":dancer:\\n:dancer:"
        },
        {
          "description": "alias vs. canonical",
          "text": "🇯🇵 どうもありがとう",
          "expected": ":flag_jp: どうもありがとう"
        },
        {
          "description": "unicode character conversion within excluded tag",
          "text": "<div>😄</div>",
          "expected": "<div>:smile:</div>"
        }
      ]
    },
    {
      "module": "toImage",
      "tests": [
        {
          "description": "single character shortname conversion",
          "text": "Hello world! 😄 :smile:",
          "expected": "Hello world! <img class=\"joypixels\" alt=\"😄\" title=\":smile:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f604.png\"/> <img class=\"joypixels\" alt=\"😄\" title=\":smile:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f604.png\"/>"
        },
        {
          "description": "shortname shares a colon",
          "text": ":invalid:snail:",
          "expected": ":invalid<img class=\"joypixels\" alt=\"🐌\" title=\":snail:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f40c.png\"/>"
        },
        {
          "description": "single unicode character conversion",
          "text": "🐌",
          "expected": "<img class=\"joypixels\" alt=\"🐌\" title=\":snail:\" src=\"https://cdn.jsdelivr.net/joypixels/assets/{{version}}/png/unicode/32/1f40c.png\"/>"
        }
      ]
    }
  ]
}