beautifier/js-beautify

HTML format breaks when text contains un-encoded <

Open

#1.646 geöffnet am 22. März 2019

Auf GitHub ansehen
 (6 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)JavaScript (8.342 Stars) (1.460 Forks)batch import
good first issuelanguage: htmltype: bug

Beschreibung

Input

The code looked like this before beautification:

<!doctype html>
<html>

<body>
  <div>
    <button id="test">test < test</button>
  </div>
</body>

</html>

Expected Output

The code should have looked like this after beautification:

<!doctype html>
<html>

	<body>
		<div>
			<button id="test">test %3C test</button>
		</div>
	</body>

</html>

or

<!doctype html>
<html>

	<body>
		<div>
			<button id="test">test < test</button>
		</div>
	</body>

</html>

Actual Output

The code actually looked like this after beautification:

<!doctype html>
<html>

	<body>
		<div>
			<button id="test">test < test</button> </div> </body> </html>

This is using 1.9.0 on the online testing site.

I would assume you could take care of encoding the < while parsing. I personally think it would be fine to return it back encoded, but I'm not sure what your feelings on that part are, or if you even want to support it at all. I got an issue on it so I figured I would run it up the chain.

As a side note to save you a couple minutes I tried and having > in the text works as expected.

Contributor Guide