Я создаю текстовый редактор и только что закончил писать алгоритмы выделения, чтобы каждый синтаксис отображался другим цветом , и рендеринг в правильном положении, используя правильные деревья синтаксического анализа.
Мне было интересно, может ли кто-нибудь предоставить мне или местоположение теста или серии тестовых примеров, чтобы убедиться, что ничего не сломается. Тестовые примеры должны охватывать весь синтаксис JavaScript, поскольку он используется в сети, включая крайние случаи (например, включая синтаксис вроде throw
, хотя он редко используется), создание и изменение DOM и т. Д.
Я добавил следующий статический тестовый пример. Он должен охватывать весь синтаксис.
Следует отметить несколько моментов: поскольку код анализируется рекурсивно на уровне грамматики, требуются только базовые случаи. Например, редактору:
a [1]; и [1] [2] [3] [4] [5]; будет таким же синтаксисом . Поскольку во второй строке рекурсивно больше подпрограмм, чем в первой строке.
Созданный мной тестовый пример перемещен в ответ ниже.