text-wrap.mjs (2874B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 // InactivePropertyHelper `text-wrap: balance` test cases. 6 const LOREM_IPSUM = ` 7 Lorem ipsum dolor sit amet, consectetur adipiscing elit. 8 Donec a diam lectus. Sed sit amet ipsum mauris. 9 Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. 10 `; 11 12 export default [ 13 { 14 info: "text-wrap: balance; is inactive when line number exceeds threshold", 15 property: "text-wrap", 16 createTestElement: rootNode => { 17 const element = document.createElement("div"); 18 element.textContent = LOREM_IPSUM; 19 rootNode.append(element); 20 return element; 21 }, 22 tagName: "div", 23 rules: ["div { text-wrap: balance; width: 100px; }"], 24 isActive: false, 25 }, 26 { 27 info: "text-wrap: balance; is active when line number is below threshold", 28 property: "text-wrap", 29 createTestElement: rootNode => { 30 const element = document.createElement("div"); 31 element.textContent = LOREM_IPSUM; 32 rootNode.append(element); 33 return element; 34 }, 35 tagName: "div", 36 rules: ["div { text-wrap: balance; width: 300px; }"], 37 isActive: true, 38 }, 39 { 40 info: "text-wrap: balance is inactive when element is fragmented", 41 property: "text-wrap", 42 createTestElement: rootNode => { 43 const element = document.createElement("div"); 44 element.textContent = ` 45 Lorem ipsum dolor sit amet, consectetur adipiscing elit. 46 Donec a diam lectus. Sed sit amet ipsum mauris. 47 Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. 48 `; 49 rootNode.append(element); 50 return element; 51 }, 52 tagName: "div", 53 rules: ["div { text-wrap: balance; column-count: 2; }"], 54 isActive: false, 55 }, 56 { 57 info: "text-wrap: balance; does not throw if element is not a block", 58 property: "text-wrap", 59 createTestElement: rootNode => { 60 const element = document.createElement("div"); 61 element.textContent = LOREM_IPSUM; 62 rootNode.append(element); 63 return element; 64 }, 65 tagName: "div", 66 rules: ["div { text-wrap: balance; display: inline; }"], 67 isActive: true, 68 }, 69 { 70 info: "text-wrap: initial; is active", 71 property: "text-wrap", 72 createTestElement: rootNode => { 73 const element = document.createElement("div"); 74 element.textContent = ` 75 Lorem ipsum dolor sit amet, consectetur adipiscing elit. 76 Donec a diam lectus. Sed sit amet ipsum mauris. 77 Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit. 78 `; 79 rootNode.append(element); 80 return element; 81 }, 82 tagName: "div", 83 rules: ["div { text-wrap: initial; width: 100px; }"], 84 isActive: true, 85 }, 86 ];