Преглед на файлове

Meta: Add check-emoji script to validate emoji filenames

Verifies that emoji filenames:
- Contain only uppercase letters, numbers, +, and _
- Use _ and a separator between codepoints, not +
- Do not include the U+FE0F emoji presentation specifier
Ryan Liptak преди 2 години
родител
ревизия
68ff0a7d13
променени са 2 файла, в които са добавени 31 реда и са изтрити 0 реда
  1. 30 0
      Meta/check-emoji.sh
  2. 1 0
      Meta/lint-ci.sh

+ 30 - 0
Meta/check-emoji.sh

@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+set -eo pipefail
+
+script_path=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
+cd "${script_path}/.."
+
+files=()
+for file in Base/res/emoji/*.png; do
+    files+=("${file}")
+done
+
+found_invalid_filenames=0
+for fn in "${files[@]}"; do
+    basename=$(basename "$fn" .png)
+    if [[ $basename =~ [^A-Z0-9+_] ]] ; then
+        echo "$fn contains invalid characters in its filename. Only uppercase letters, numbers, +, and _ should be used."
+        found_invalid_filenames=1
+    fi
+    if [[ $basename == *+U* ]] ; then
+        echo "$fn is incorrectly named. _ should be used as a separator between codepoints, not +."
+        found_invalid_filenames=1
+    fi
+    if [[ $basename == *_U+FE0F* ]] ; then
+        echo "$fn should not include any emoji presentation selectors. U+FE0F codepoints should be removed from the filename."
+        found_invalid_filenames=1
+    fi
+done
+
+exit $found_invalid_filenames

+ 1 - 0
Meta/lint-ci.sh

@@ -22,6 +22,7 @@ set +e
 for cmd in \
         Meta/check-ak-test-files.sh \
         Meta/check-debug-flags.sh \
+        Meta/check-emoji.sh \
         Meta/check-markdown.sh \
         Meta/check-newlines-at-eof.py \
         Meta/check-png-sizes.sh \