html-differ icon indicating copy to clipboard operation
html-differ copied to clipboard

Сравнение <noscript> c учетом порядка элементов

Open kompolom opened this issue 9 years ago • 12 comments

Diff: https://github.com/bem/bem-forum-content-ru/issues/829 Описание: https://github.com/bem/bem-forum-content-ru/issues/865

Воспроизводится только на noscript

kompolom avatar Feb 13 '16 11:02 kompolom

Отправь реальный пример HTML, пожалуйста.

eGavr avatar Feb 13 '16 12:02 eGavr

https://github.com/appwilio/ap-components/blob/master/common.blocks/image/image.tmpl-specs/50-semantic-lazy.html Так пойдет? В качестве шаблонизаторов используются bh.php (4.1) и bh.js

kompolom avatar Feb 13 '16 12:02 kompolom

Тулза ничего не знает про шаблонизаторы, они ей неинтересны, она просто сравнивает два HTML. Чтобы воспроизвести багу, мне нужны два HTML, которые по твоему сравниваются неправильно.

eGavr avatar Feb 13 '16 12:02 eGavr

Ок. как их получить?

kompolom avatar Feb 13 '16 12:02 kompolom

Я же не генерю их руками. Они создаются enb-tmpl-specs и нигде не сохраняются

kompolom avatar Feb 13 '16 12:02 kompolom

https://github.com/enb-bem/enb-bem-tmpl-specs/#Сохранение-результатов

eGavr avatar Feb 13 '16 12:02 eGavr

<span class="image image_load_lazy image_lazy_scroll scrollspy i-bem" role="img" data-bem='{"image":{"url":"/image.jpg"},"scrollspy":{"offset":"-30"}}'><span class="image__container"><img class="image image__img" alt="alt" title="title" role="img"/><span class="image__spin"></span></span>
<noscript
class="image__fallback"><img class="image" src="/image.jpg" alt="alt" role="img" /></noscript>
    </span>

Вот что в desktop.tmpl-specs/image/30-lazy.BH.js.html Форматирование сохранил.

kompolom avatar Feb 13 '16 13:02 kompolom

А второй HTML где ? :) Ты выше уже его кидал? Та забудь ты про шаблонизаторы :)

В этом issue мне от тебя нужно просто два HTML, которые должны считаться равными, но инструмент все равно показывает дифф :)

eGavr avatar Feb 13 '16 14:02 eGavr

@eGavr ссылку на эталон я скинул выше. В предыдущем коменте второй файл. фу, сам запутался в этих файлах... Сейчас скину оба вместе..

kompolom avatar Feb 13 '16 14:02 kompolom

<span class="image image_load_lazy image_lazy_scroll scrollspy i-bem" role="img" data-bem='{"image":{"url":"/image.jpg"},"scrollspy":{"offset":"-30"}}'><span class="image__container"><img class="image image__img" alt="alt" title="title" role="img"/><span class="image__spin"></span></span>
<noscript
class="image__fallback"><img class="image" src="/image.jpg" alt="alt" role="img" /></noscript>
    </span>
<span class="image image_load_lazy image_lazy_scroll scrollspy i-bem"
    role="img"
    data-bem="{&quot;image&quot;:{&quot;url&quot;:&quot;/image.jpg&quot;},&quot;scrollspy&quot;:{&quot;offset&quot;:&quot;-30&quot;}}">
    <span class="image__container">
        <img class="image image__img" role="img" alt="alt" title="title"/>
        <span class="image__spin">
        </span>
    </span>
    <noscript class="image__fallback">
        <img class="image" role="img" src="/image.jpg" alt="alt"/>
    </noscript>
</span>

upd: Diff 2016-02-13 17 21 02

kompolom avatar Feb 13 '16 14:02 kompolom

Спасибо, будем смотреть ;)

eGavr avatar Feb 13 '16 14:02 eGavr

@kompolom , парсер, который используется в html-differ считает содержимое тега noscript обычным текстом, а не HTML-кодом, поэтому этот участок сравнивается как обычный текст, как следствие получаем дифф.

Завел issue в parse5, можешь присоединяться к обсуждению или просто плюсануть в issue :)

eGavr avatar Feb 13 '16 16:02 eGavr