beautifier/js-beautify

HTML format breaks when text contains un-encoded <

Open

#1646 aperta il 22 mar 2019

Vedi su GitHub
 (6 commenti) (0 reazioni) (0 assegnatari)JavaScript (1460 fork)batch import
good first issuelanguage: htmltype: bug

Metriche repository

Star
 (8342 star)
Metriche merge PR
 (Merge medio 51g 1h) (16 PR mergiate in 30 g)

Descrizione

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.

Guida contributor