Skip to content

fix(lessons): дописать про регистр в условие упражнения logical-negation - #865

Merged
fey merged 1 commit into
mainfrom
feedback-425-palindrome-case
Sep 2, 2026
Merged

fix(lessons): дописать про регистр в условие упражнения logical-negation#865
fey merged 1 commit into
mainfrom
feedback-425-palindrome-case

Conversation

@fey

@fey fey commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Что не так

Тест урока 45-logic/28-logical-negation проверяет вызов с заглавной буквы:

expect(f("Wow")).toBe(false);

Значит isPalindrome("Wow") обязан вернуть true, и эталонное решение это делает через word.toLowerCase(). Условие про регистр не говорило ничего, все его примеры были в нижнем регистре. Студент, реализовавший условие дословно (сравнение с учётом регистра), получал красный тест на верном по тексту решении, и причина в выводе теста не видна.

Нашёл студент Хекслета, разбор в тикете FEEDBACK-425.

Что изменено

Дописано упоминание регистра с примером Wow из теста — в ru/en/es EXERCISE.md и в description.es.yml (ключ instructions). Тест и решение не менялись.

Формулировка по канону соседних стеков: в php, python и java регистр в этом задании описан во всех локалях, javascript оставался единственным стеком без этой строки.

…logical-negation

Тест урока проверяет isPalindrome("Wow"), а условие про регистр не говорило:
студент, реализовавший его дословно, получал красный тест на верном решении.
Формулировка взята по канону php, python и java, где регистр описан во всех
локалях.
@fey
fey merged commit 663a0de into main Sep 2, 2026
2 checks passed
@fey

fey commented Sep 2, 2026

Copy link
Copy Markdown
Contributor Author

Дополнено вторым коммитом: тест теперь проверяет isPalindrome прямо.

Условие урока требует две функции, а тест вызывал только isNotPalindrome через импорт по умолчанию — ошибка в isPalindrome ловилась косвенно. Добавлен именованный экспорт isPalindrome в index.js и три проверки в test.js, включая вызов с заглавной буквы.

Что стоит знать при мерже:

  • это первый именованный экспорт из index.js в курсе — остальные 70 уроков проверяют один export default;
  • каркас студента теперь несёт два экспорта, то есть имена функций из условия становятся обязательными;
  • решения, сданные до этой правки, на перепрогоне упадут с isPalindrome is not a function.

Прогон в образе практики Хекслета: эталон зелёный, решение без toLowerCase() даёт AssertionError, решение без второго экспорта — TypeError.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant