mirror of
https://github.com/beautifier/js-beautify.git
synced 2025-02-24 07:11:17 +00:00
Merge pull request #1487 from MacKLess/newline
Adds test to preserve newlines
This commit is contained in:
commit
fd4945f6b5
@ -4704,6 +4704,197 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
test_fragment('{{#if 1}}<span>{{content}}</span>{{/if}}');
|
||||
|
||||
|
||||
//============================================================
|
||||
// Preserve newlines false
|
||||
reset_options();
|
||||
set_name('Preserve newlines false');
|
||||
opts.indent_size = 2;
|
||||
opts.preserve_newlines = false;
|
||||
bth(
|
||||
'<div>\n' +
|
||||
'\tfoo\n' +
|
||||
'</div>',
|
||||
// -- output --
|
||||
'<div> foo </div>');
|
||||
bth(
|
||||
'<div>Should not</div>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
'<div>preserve newlines</div>',
|
||||
// -- output --
|
||||
'<div>Should not</div>\n' +
|
||||
'<div>preserve newlines</div>');
|
||||
bth(
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' <ul>\n' +
|
||||
'\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>',
|
||||
// -- output --
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
' <ul>\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>');
|
||||
|
||||
|
||||
//============================================================
|
||||
// Preserve newlines true
|
||||
reset_options();
|
||||
set_name('Preserve newlines true');
|
||||
opts.indent_size = 1;
|
||||
opts.indent_char = " ";
|
||||
opts.preserve_newlines = true;
|
||||
test_fragment(
|
||||
'<div>\n' +
|
||||
'\tfoo\n' +
|
||||
'</div>');
|
||||
|
||||
|
||||
//============================================================
|
||||
// Preserve newlines true with zero max newline
|
||||
reset_options();
|
||||
set_name('Preserve newlines true with zero max newline');
|
||||
opts.preserve_newlines = true;
|
||||
opts.max_preserve_newlines = 0;
|
||||
opts.indent_size = 2;
|
||||
test_fragment(
|
||||
'<div>Should</div>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
'<div>preserve zero newlines</div>',
|
||||
// -- output --
|
||||
'<div>Should</div>\n' +
|
||||
'<div>preserve zero newlines</div>');
|
||||
bth(
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' <ul>\n' +
|
||||
'\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>',
|
||||
// -- output --
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
' <ul>\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>');
|
||||
|
||||
|
||||
//============================================================
|
||||
// Preserve newlines true with 1 max newline
|
||||
reset_options();
|
||||
set_name('Preserve newlines true with 1 max newline');
|
||||
opts.preserve_newlines = true;
|
||||
opts.indent_size = 2;
|
||||
opts.max_preserve_newlines = 1;
|
||||
test_fragment(
|
||||
'<div>Should</div>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
'<div>preserve one newline</div>',
|
||||
// -- output --
|
||||
'<div>Should</div>\n' +
|
||||
'\n' +
|
||||
'<div>preserve one newline</div>');
|
||||
bth(
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' <ul>\n' +
|
||||
'\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>',
|
||||
// -- output --
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
'\n' +
|
||||
' <ul>\n' +
|
||||
'\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
'\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>');
|
||||
|
||||
|
||||
//============================================================
|
||||
// Preserve newlines true with null max newline
|
||||
reset_options();
|
||||
set_name('Preserve newlines true with null max newline');
|
||||
opts.preserve_newlines = true;
|
||||
opts.indent_size = 2;
|
||||
opts.max_preserve_newlines = null;
|
||||
test_fragment(
|
||||
'<div>Should</div>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
'<div>preserve zero newlines</div>');
|
||||
bth(
|
||||
'<header>\n' +
|
||||
' <h1>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' <ul>\n' +
|
||||
'\n' +
|
||||
' <li class="menuactive menuparent">\n' +
|
||||
' <a>\n' +
|
||||
' <span>Anita Koppe</span>\n' +
|
||||
' </a>\n' +
|
||||
'\n' +
|
||||
'\n' +
|
||||
' </li>\n' +
|
||||
' </ul>\n' +
|
||||
' </h1>\n' +
|
||||
'</header>');
|
||||
|
||||
|
||||
//============================================================
|
||||
// unformatted to prevent formatting changes
|
||||
reset_options();
|
||||
@ -5191,43 +5382,7 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
|
||||
reset_options();
|
||||
//============================================================
|
||||
set_name('preserve newline tests');
|
||||
|
||||
opts.indent_size = 1;
|
||||
opts.indent_char = '\t';
|
||||
opts.preserve_newlines = false;
|
||||
bth('<div>\n\tfoo\n</div>', '<div> foo </div>');
|
||||
|
||||
opts.preserve_newlines = true;
|
||||
bth('<div>\n\tfoo\n</div>');
|
||||
|
||||
|
||||
|
||||
// test preserve_newlines and max_preserve_newlines
|
||||
opts.preserve_newlines = false;
|
||||
bth('<div>Should not</div>\n\n\n' +
|
||||
'<div>preserve newlines</div>',
|
||||
'<div>Should not</div>\n' +
|
||||
'<div>preserve newlines</div>');
|
||||
|
||||
opts.preserve_newlines = true;
|
||||
opts.max_preserve_newlines = 0;
|
||||
bth('<div>Should</div>\n\n\n' +
|
||||
'<div>preserve zero newlines</div>',
|
||||
'<div>Should</div>\n' +
|
||||
'<div>preserve zero newlines</div>');
|
||||
|
||||
opts.max_preserve_newlines = 1;
|
||||
bth('<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>',
|
||||
'<div>Should</div>\n\n' +
|
||||
'<div>preserve one newline</div>');
|
||||
|
||||
opts.max_preserve_newlines = null;
|
||||
bth('<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>',
|
||||
'<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>');
|
||||
}
|
||||
|
||||
beautifier_tests();
|
||||
|
@ -403,43 +403,7 @@ function run_html_tests(test_obj, Urlencoded, js_beautify, html_beautify, css_be
|
||||
|
||||
reset_options();
|
||||
//============================================================
|
||||
set_name('preserve newline tests');
|
||||
|
||||
opts.indent_size = 1;
|
||||
opts.indent_char = '\t';
|
||||
opts.preserve_newlines = false;
|
||||
bth('<div>\n\tfoo\n</div>', '<div> foo </div>');
|
||||
|
||||
opts.preserve_newlines = true;
|
||||
bth('<div>\n\tfoo\n</div>');
|
||||
|
||||
|
||||
|
||||
// test preserve_newlines and max_preserve_newlines
|
||||
opts.preserve_newlines = false;
|
||||
bth('<div>Should not</div>\n\n\n' +
|
||||
'<div>preserve newlines</div>',
|
||||
'<div>Should not</div>\n' +
|
||||
'<div>preserve newlines</div>');
|
||||
|
||||
opts.preserve_newlines = true;
|
||||
opts.max_preserve_newlines = 0;
|
||||
bth('<div>Should</div>\n\n\n' +
|
||||
'<div>preserve zero newlines</div>',
|
||||
'<div>Should</div>\n' +
|
||||
'<div>preserve zero newlines</div>');
|
||||
|
||||
opts.max_preserve_newlines = 1;
|
||||
bth('<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>',
|
||||
'<div>Should</div>\n\n' +
|
||||
'<div>preserve one newline</div>');
|
||||
|
||||
opts.max_preserve_newlines = null;
|
||||
bth('<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>',
|
||||
'<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>');
|
||||
}
|
||||
|
||||
beautifier_tests();
|
||||
|
@ -1392,6 +1392,195 @@ exports.test_data = {
|
||||
fragment: true,
|
||||
unchanged: '{{#if 1}}<span>{{content}}</span>{{/if}}'
|
||||
}]
|
||||
}, {
|
||||
name: "Preserve newlines false",
|
||||
description: "",
|
||||
options: [
|
||||
{ name: 'indent_size', value: "2" },
|
||||
{ name: 'preserve_newlines', value: "false" }
|
||||
],
|
||||
tests: [{
|
||||
input: '<div>\n\tfoo\n</div>',
|
||||
output: '<div> foo </div>'
|
||||
}, {
|
||||
input_: '<div>Should not</div>\n\n\n' +
|
||||
'<div>preserve newlines</div>',
|
||||
output: '<div>Should not</div>\n' +
|
||||
'<div>preserve newlines</div>'
|
||||
}, {
|
||||
input: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
'',
|
||||
'',
|
||||
' <ul>',
|
||||
'',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
'',
|
||||
'',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
],
|
||||
output: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
' <ul>',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
]
|
||||
}]
|
||||
}, {
|
||||
name: "Preserve newlines true",
|
||||
description: "",
|
||||
options: [
|
||||
{ name: 'indent_size', value: "1" },
|
||||
{ name: 'indent_char', value: '"\t"' },
|
||||
{ name: 'preserve_newlines', value: "true" }
|
||||
],
|
||||
tests: [{
|
||||
fragment: true,
|
||||
unchanged: '<div>\n\tfoo\n</div>'
|
||||
}]
|
||||
}, {
|
||||
name: "Preserve newlines true with zero max newline",
|
||||
description: "",
|
||||
options: [
|
||||
{ name: 'preserve_newlines', value: "true" },
|
||||
{ name: 'max_preserve_newlines', value: "0" },
|
||||
{ name: 'indent_size', value: "2" }
|
||||
],
|
||||
tests: [{
|
||||
fragment: true,
|
||||
input_: '<div>Should</div>\n\n\n' +
|
||||
'<div>preserve zero newlines</div>',
|
||||
output: '<div>Should</div>\n' +
|
||||
'<div>preserve zero newlines</div>'
|
||||
}, {
|
||||
input: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
'',
|
||||
'',
|
||||
' <ul>',
|
||||
'',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
'',
|
||||
'',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
],
|
||||
output: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
' <ul>',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
]
|
||||
}]
|
||||
}, {
|
||||
name: "Preserve newlines true with 1 max newline",
|
||||
description: "",
|
||||
options: [
|
||||
{ name: 'preserve_newlines', value: "true" },
|
||||
{ name: 'indent_size', value: "2" },
|
||||
{ name: 'max_preserve_newlines', value: "1" }
|
||||
],
|
||||
tests: [{
|
||||
fragment: true,
|
||||
input_: '<div>Should</div>\n\n\n' +
|
||||
'<div>preserve one newline</div>',
|
||||
output: '<div>Should</div>\n\n' +
|
||||
'<div>preserve one newline</div>'
|
||||
}, {
|
||||
input: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
'',
|
||||
'',
|
||||
' <ul>',
|
||||
'',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
'',
|
||||
'',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
],
|
||||
output: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
'',
|
||||
' <ul>',
|
||||
'',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
'',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
]
|
||||
}]
|
||||
}, {
|
||||
name: "Preserve newlines true with null max newline",
|
||||
description: "",
|
||||
options: [
|
||||
{ name: 'preserve_newlines', value: "true" },
|
||||
{ name: 'indent_size', value: "2" },
|
||||
{ name: 'max_preserve_newlines', value: "null" }
|
||||
],
|
||||
tests: [{
|
||||
fragment: true,
|
||||
unchanged: '<div>Should</div>\n\n\n' +
|
||||
'<div>preserve zero newlines</div>'
|
||||
}, {
|
||||
unchanged: [
|
||||
'<header>',
|
||||
' <h1>',
|
||||
'',
|
||||
'',
|
||||
' <ul>',
|
||||
'',
|
||||
' <li class="menuactive menuparent">',
|
||||
' <a>',
|
||||
' <span>Anita Koppe</span>',
|
||||
' </a>',
|
||||
'',
|
||||
'',
|
||||
' </li>',
|
||||
' </ul>',
|
||||
' </h1>',
|
||||
'</header>'
|
||||
]
|
||||
}]
|
||||
}, {
|
||||
name: "unformatted to prevent formatting changes",
|
||||
description: "",
|
||||
|
Loading…
x
Reference in New Issue
Block a user