bem / bem/html-differ

[ignoreWhitespace] are newlines equal to spaces?

Open
#150 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
217
Forks
45
PR merge metrics
No merged PRs in 30d

Description

I'd like to use html-differ to write a test system for [marked](https://github.com/chjj/marked), where generated html output is to be compared to pre-written html code, to determine if the two are _equivalent_, so I would like to ignore whitespace differences, when they are not meaningful (as in `

` tags), but I noticed that newlines are treated differently than spaces:

```html

A link. Not anymore.


```
is not considered equal to
```html

A link.
Not anymore.


```
when, IMO, they should be.

I've tracked this to be probably determined by this line of [code] (line 39 on the **right**).

I'm aware this issue is related to CSS, and not HTML itself. According to CSS [specification], when the `white-space` property is **not** `pre`, `pre-wrap`, or `pre-line`, segment breaks (i.e. newlines) are usually [converted] to a space `U+0020`.

[specification]: https://www.w3.org/TR/css-text-3/#white-space-processing
[converted]: https://www.w3.org/TR/css-text-3/#line-break-transform
[code]: https://github.com/bem/html-differ/pull/66/files#diff-6d186b954a58d5bb740f73d84fe39073R39

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.