// HTML5 tags https://html.spec.whatwg.org/multipage/indices.html#elements-3
// Phrasing Content https://html.spec.whatwg.org/multipage/dom.html#phrasing-content
-var nonPhrasing = makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track');
+var nonPhrasing = makeMap('address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,ol,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track,ul');
var reCache = {};
assert.equal(minify(input, { html5: true }), input);
});
+// https://github.com/kangax/html-minifier/issues/888
+QUnit.test('ul/ol should be phrasing content', function(assert) {
+ var input, output;
+
+ input = '<p>a<ul><li>item</li></ul>';
+ output = '<p>a</p><ul><li>item</li></ul>';
+ assert.equal(minify(input, { html5: true }), output);
+
+ output = '<p>a<ul><li>item</ul>';
+ assert.equal(minify(input, { html5: true, removeOptionalTags: true }), output);
+
+ output = '<p>a<ul><li>item</li></ul></p>';
+ assert.equal(minify(input, { html5: false }), output);
+
+ input = '<p>a<ol><li>item</li></ol></p>';
+ output = '<p>a</p><ol><li>item</li></ol><p></p>';
+ assert.equal(minify(input, { html5: true }), output);
+
+ output = '<p>a<ol><li>item</ol><p>';
+ assert.equal(minify(input, { html5: true, removeOptionalTags: true }), output);
+
+ output = '<p>a</p><ol><li>item</li></ol>';
+ assert.equal(minify(input, { html5: true, removeEmptyElements: true }), output);
+});
+
QUnit.test('phrasing content with Web Components', function(assert) {
var input = '<span><phrasing-element></phrasing-element></span>';
var output = '<span><phrasing-element></phrasing-element></span>';