-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update 'ignoreComments' option #116
Comments
А зачем нужны комментарии? |
@eGavr чтобы не плодить файлы тестов, когда нужно проверить например разные модификаторы или разный проброс параметров в одинаковых блоках – можно в одном файле сделать несколько шаблонов |
@alexbaumgertner почему это блокер? Тесты подправить - да и все, тем более, что у тебя там просто нужно свойства местами поменять |
Я вижу смысл в том, чтобы сейчас править тесты руками, а более умная проверка |
зачем вообще хотеть такого? Давайте тогда уже сразу все в один файл писать :) Есть один независимый тест, не нужно смешивать. |
Итак!
Руководствуюсь этим алгоритмом. Все "ЗА"? |
@j0tunn поправил, все равно не проходит: ПС: убрал еще пробелов и стало проходить |
Дело в том, что эти комментарии на данном этапе сравниваются как обычный текст, поэтому пробелы и переносы строк будут учитваться вне зависимости от опции Кейс с Игнорировать комменты мы не можем, так как @sipayRT привел реальный пример баги. |
я ЗА |
Вы главное скажите, ручные комментарии можно будет писать в эталонных шаблонах? |
Нет. |
Нет, так не пойдет, давай сделаем сразу хорошо. Предвещая вопрос зачем мне комментарии и что я этого не должен хотеть, отвечу сразу. Я могу хотеть держать эталонные файлы в опрятном состоянии. На это есть куча причин из жизни и если вы готовы потрать на это наше время, я могу в этом убедить) |
Вроде бы как решили выше в переписках, что ничего лишнего быть не должно |
имхо, эталоны без комментариев - это и есть опрятность. Эталон - это то, что должно сгенериться в результате работы шаблонизатора. В итоговый результат не нужно записывать что-то еще. А название эталона должно говорить что там тестируется. |
Давайте определяться... @sipayRT всех убедил, что игнорировать комментарии мы не будем, и тесты должны быть без лишних комментариев? |
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--[if lt IE 9]>
<script src="//yastatic.net/es5-shims/0.0.1/es5-shims.min.js"></script>
<![endif]-->
<meta charset="utf-8">
<title>bem-components: select</title>
<!--[if gt IE 8]><!-->
<link rel="stylesheet" href="_simple.css">
<!--<![endif]-->
<!--[if IE 8]>
<link rel="stylesheet" href="_simple.ie8.css"/>
<![endif]-->
<script type="text/javascript" charset="utf-8" src="//yastatic.net/jquery/2.1.3/jquery.min.js"></script>
</head> |
@eGavr Нет, меня он не убедил. Очень часто возникает необходимость объедить тесты, которые про одно и то же в один тестовый файл. Например, у меня есть блок А еще бывает нужно сгенерировать тест-кейсы динамически по какому-то заданному упрощенному массиву параметров, чтобы точно проверить все аспекты поведения. Как в таком случае быть? Тоже выносить тесты по разным файлам? Так что если вы действительно хотите сделать ваш инструмент удобным потребителям, то давайте работать в этом направлении. Еще раз хочу напомннить, что html-differ в моем понимании, это инструмент, который позволяет сравнивать значимые части html. И conditional comment здесь значимый элемент. Он отвечает за загрузку разных стилей и влияет на итоговый результат работы html в браузере, а обычные комментарии - не значимые части, они нужны только для удобства разработчиков. |
С точки зрения реализации, мне не принципиально как делать ;) В итоге все будет сводиться к тому, какие опции заюзать. Опцию ignoreComments: {
normalComments: true || false,
conditionalComments: true || false
} а вот какие значения указать этой опции в |
Так в чем тогда проблема? Я же и просил - дайте возможность писать простые комментарии в эталонных шаблонах. А вы пытаетесь убедить меня, что я не так тесты пишу) |
Я пишу html-differ) |
@eGavr Ок, Женя, запили эту фичу. Подробнее отвечу в Стартреке. |
@Coltspb я все равно не понимаю смысла в комментариях. Эталон - это эталон, а не кусок кода, который можно комментировать. Насчет кучи тестов в одном файле - ты пишешь много проверок в одном |
Важно, чтобы вы решили, какой БЭМ-пресет будет! |
Понятно же, что такой: ignoreComments: {
normalComments: true,
conditionalComments: false
} |
@sipayRT не видит смысла игнорировать обычные комментарии, так как они не могут туда попасть, если их не писать дополнительно руками. |
Инструменты не должны никого ограничивать без реальной на то необходимости. Поэтому пресет надо подбирать таким, чтобы используя его были довольны все, и те кто хочет писать коментарии, и те, кто не хочет писать коментарии. |
@andrewblond , может сделать так, чтобы conditional comment проверялись всегда, а конфигурировать только проверку обычный комментов? А смысл НЕ проверять conditional comments? они ломают работоспособность, если отключить проверку и т д. |
По мне идея годная, я тоже не вижу смысла не проверять conditional comments. |
Хорошо! Тогда решено, что опция в структуре не меняется и остается как и была, только она не зависимо от ее значения всегда учитывает conditional comments и их содержимое проверяет как обычный HTML. Для БЭМ-пресета эта опция будет принимать значение |
Да, мне тоже ок |
The new realization of this option:
The text was updated successfully, but these errors were encountered: