Skip to content

Commit af80c52

Browse files
committed
katex [nfc]: Let KatexSpanNode.styles default to empty
We have a lot of calls to the KatexSpanNode constructor in our tests, and a large fraction of them pass an empty `styles`. Let that be the default, reducing some noise. It's a natural default, since it effectively means "do nothing".
1 parent afb3692 commit af80c52

File tree

4 files changed

+53
-59
lines changed

4 files changed

+53
-59
lines changed

lib/model/content.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ sealed class KatexNode extends ContentNode {
380380

381381
class KatexSpanNode extends KatexNode {
382382
const KatexSpanNode({
383-
required this.styles,
383+
this.styles = const KatexSpanStyles(),
384384
this.text,
385385
this.nodes,
386386
super.debugHtmlNode,

lib/model/katex.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,6 @@ class _KatexParser {
345345

346346
if (marginLeftIsNegative) {
347347
child = KatexSpanNode(
348-
styles: KatexSpanStyles(),
349348
nodes: [KatexNegativeMarginNode(
350349
leftOffsetEm: marginLeftEm!,
351350
nodes: [child])]);

test/model/content_test.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ class ContentExample {
518518
'<annotation encoding="application/x-tex"> \\lambda </annotation></semantics></math></span>'
519519
'<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">λ</span></span></span></span></p>',
520520
MathInlineNode(texSource: r'\lambda', nodes: [
521-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
521+
KatexSpanNode(nodes: [
522522
KatexStrutNode(heightEm: 0.6944, verticalAlignEm: null),
523523
KatexSpanNode(
524524
styles: KatexSpanStyles(
@@ -537,7 +537,7 @@ class ContentExample {
537537
'<annotation encoding="application/x-tex">\\lambda</annotation></semantics></math></span>'
538538
'<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">λ</span></span></span></span></span></p>',
539539
[MathBlockNode(texSource: r'\lambda', nodes: [
540-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
540+
KatexSpanNode(nodes: [
541541
KatexStrutNode(heightEm: 0.6944, verticalAlignEm: null),
542542
KatexSpanNode(
543543
styles: KatexSpanStyles(
@@ -561,7 +561,7 @@ class ContentExample {
561561
'<annotation encoding="application/x-tex">b</annotation></semantics></math></span>'
562562
'<span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.6944em;"></span><span class="mord mathnormal">b</span></span></span></span></span></p>', [
563563
MathBlockNode(texSource: 'a', nodes: [
564-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
564+
KatexSpanNode(nodes: [
565565
KatexStrutNode(heightEm: 0.4306, verticalAlignEm: null),
566566
KatexSpanNode(
567567
styles: KatexSpanStyles(
@@ -571,7 +571,7 @@ class ContentExample {
571571
]),
572572
]),
573573
MathBlockNode(texSource: 'b', nodes: [
574-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
574+
KatexSpanNode(nodes: [
575575
KatexStrutNode(heightEm: 0.6944, verticalAlignEm: null),
576576
KatexSpanNode(
577577
styles: KatexSpanStyles(
@@ -598,7 +598,7 @@ class ContentExample {
598598
'<br>\n</p>\n</blockquote>',
599599
[QuotationNode([
600600
MathBlockNode(texSource: r'\lambda', nodes: [
601-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
601+
KatexSpanNode(nodes: [
602602
KatexStrutNode(heightEm: 0.6944, verticalAlignEm: null),
603603
KatexSpanNode(
604604
styles: KatexSpanStyles(
@@ -626,7 +626,7 @@ class ContentExample {
626626
'<br>\n</p>\n</blockquote>',
627627
[QuotationNode([
628628
MathBlockNode(texSource: 'a', nodes: [
629-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
629+
KatexSpanNode(nodes: [
630630
KatexStrutNode(heightEm: 0.4306, verticalAlignEm: null),
631631
KatexSpanNode(
632632
styles: KatexSpanStyles(
@@ -636,7 +636,7 @@ class ContentExample {
636636
]),
637637
]),
638638
MathBlockNode(texSource: 'b', nodes: [
639-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
639+
KatexSpanNode(nodes: [
640640
KatexStrutNode(heightEm: 0.6944, verticalAlignEm: null),
641641
KatexSpanNode(
642642
styles: KatexSpanStyles(
@@ -673,7 +673,7 @@ class ContentExample {
673673
originalHeight: null),
674674
]),
675675
MathBlockNode(texSource: 'a', nodes: [
676-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
676+
KatexSpanNode(nodes: [
677677
KatexStrutNode(heightEm: 0.4306, verticalAlignEm: null),
678678
KatexSpanNode(
679679
styles: KatexSpanStyles(

test/model/katex_test.dart

Lines changed: 44 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ class KatexExample extends ContentExample {
4848
'<span class="mord sizing reset-size6 size4">8</span>'
4949
'<span class="mord sizing reset-size6 size3">9</span>'
5050
'<span class="mord sizing reset-size6 size1">0</span></span></span></span></span></p>', [
51-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
51+
KatexSpanNode(nodes: [
5252
KatexStrutNode(heightEm: 1.6034, verticalAlignEm: null),
5353
KatexSpanNode(
5454
styles: KatexSpanStyles(fontSizeEm: 2.488), // .reset-size6.size11
@@ -96,13 +96,12 @@ class KatexExample extends ContentExample {
9696
'<span class="mord sizing reset-size6 size1">'
9797
'<span class="mord">1</span>'
9898
'<span class="mord sizing reset-size1 size11">2</span></span></span></span></span></span></p>', [
99-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
99+
KatexSpanNode(nodes: [
100100
KatexStrutNode(heightEm: 1.6034, verticalAlignEm: null),
101101
KatexSpanNode(
102102
styles: KatexSpanStyles(fontSizeEm: 0.5), // reset-size6 size1
103103
nodes: [
104-
KatexSpanNode(styles: KatexSpanStyles(),
105-
text: '1'),
104+
KatexSpanNode(text: '1'),
106105
KatexSpanNode(
107106
styles: KatexSpanStyles(fontSizeEm: 4.976), // reset-size1 size11
108107
text: '2'),
@@ -126,26 +125,25 @@ class KatexExample extends ContentExample {
126125
'<span class="mord"><span class="delimsizing size2">[</span></span>'
127126
'<span class="mord"><span class="delimsizing size3">⌈</span></span>'
128127
'<span class="mord"><span class="delimsizing size4">⌊</span></span></span></span></span></span></p>', [
129-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
128+
KatexSpanNode(nodes: [
130129
KatexStrutNode(heightEm: 3, verticalAlignEm: -1.25),
131-
KatexSpanNode(styles: KatexSpanStyles(),
132-
text: '⟨'),
133-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
130+
KatexSpanNode(text: '⟨'),
131+
KatexSpanNode(nodes: [
134132
KatexSpanNode(
135133
styles: KatexSpanStyles(fontFamily: 'KaTeX_Size1'),
136134
text: '('),
137135
]),
138-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
136+
KatexSpanNode(nodes: [
139137
KatexSpanNode(
140138
styles: KatexSpanStyles(fontFamily: 'KaTeX_Size2'),
141139
text: '['),
142140
]),
143-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
141+
KatexSpanNode(nodes: [
144142
KatexSpanNode(
145143
styles: KatexSpanStyles(fontFamily: 'KaTeX_Size3'),
146144
text: '⌈'),
147145
]),
148-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
146+
KatexSpanNode(nodes: [
149147
KatexSpanNode(
150148
styles: KatexSpanStyles(fontFamily: 'KaTeX_Size4'),
151149
text: '⌊'),
@@ -170,23 +168,20 @@ class KatexExample extends ContentExample {
170168
'<span class="base">'
171169
'<span class="strut" style="height:0.6444em;"></span>'
172170
'<span class="mord">2</span></span></span></span></span></p>', [
173-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
171+
KatexSpanNode(nodes: [
174172
KatexStrutNode(heightEm: 0.6444, verticalAlignEm: null),
175-
KatexSpanNode(styles: KatexSpanStyles(),
176-
text: '1'),
173+
KatexSpanNode(text: '1'),
177174
KatexSpanNode(
178175
styles: KatexSpanStyles(marginRightEm: 0.2778),
179176
nodes: []),
180-
KatexSpanNode(styles: KatexSpanStyles(),
181-
text: ':'),
177+
KatexSpanNode(text: ':'),
182178
KatexSpanNode(
183179
styles: KatexSpanStyles(marginRightEm: 0.2778),
184180
nodes: []),
185181
]),
186-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
182+
KatexSpanNode(nodes: [
187183
KatexStrutNode(heightEm: 0.6444, verticalAlignEm: null),
188-
KatexSpanNode(styles: KatexSpanStyles(),
189-
text: '2'),
184+
KatexSpanNode(text: '2'),
190185
]),
191186
]);
192187

@@ -212,9 +207,9 @@ class KatexExample extends ContentExample {
212207
'<span class="sizing reset-size6 size3 mtight">'
213208
'<span class="mord mtight">'
214209
'<span class="mord mtight">′</span></span></span></span></span></span></span></span></span></span></span></span></span></p>', [
215-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
210+
KatexSpanNode(nodes: [
216211
KatexStrutNode(heightEm: 0.8019, verticalAlignEm: null),
217-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
212+
KatexSpanNode(nodes: [
218213
KatexSpanNode(
219214
styles: KatexSpanStyles(
220215
fontFamily: 'KaTeX_Math', fontStyle: KatexSpanFontStyle.italic),
@@ -229,8 +224,8 @@ class KatexExample extends ContentExample {
229224
styles: KatexSpanStyles(marginRightEm: 0.05),
230225
nodes: [
231226
KatexSpanNode(styles: KatexSpanStyles(fontSizeEm: 0.7), nodes: [
232-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
233-
KatexSpanNode(styles: KatexSpanStyles(), text: '′'),
227+
KatexSpanNode(nodes: [
228+
KatexSpanNode(text: '′'),
234229
]),
235230
]),
236231
])),
@@ -264,9 +259,9 @@ class KatexExample extends ContentExample {
264259
'<span class="vlist-s">​</span></span>'
265260
'<span class="vlist-r">'
266261
'<span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span></p>', [
267-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
262+
KatexSpanNode(nodes: [
268263
KatexStrutNode(heightEm: 0.5806, verticalAlignEm: -0.15),
269-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
264+
KatexSpanNode(nodes: [
270265
KatexSpanNode(
271266
styles: KatexSpanStyles(
272267
fontFamily: 'KaTeX_Math', fontStyle: KatexSpanFontStyle.italic),
@@ -322,10 +317,10 @@ class KatexExample extends ContentExample {
322317
'<span class="vlist-s">​</span></span>'
323318
'<span class="vlist-r">'
324319
'<span class="vlist" style="height:0.247em;"><span></span></span></span></span></span></span></span></span></span></span></p>', [
325-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
320+
KatexSpanNode(nodes: [
326321
KatexStrutNode(heightEm: 0.9614, verticalAlignEm: -0.247),
327-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
328-
KatexSpanNode(styles: KatexSpanStyles(), nodes: []),
322+
KatexSpanNode(nodes: [
323+
KatexSpanNode(nodes: []),
329324
KatexSpanNode(
330325
styles: KatexSpanStyles(textAlign: KatexSpanTextAlign.left),
331326
nodes: [
@@ -382,16 +377,16 @@ class KatexExample extends ContentExample {
382377
'<span class="mord">'
383378
'<span class="mord mathnormal">b</span></span></span></span></span></span>'
384379
'<span class="mord mathnormal">c</span></span></span></span></span></p>', [
385-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
380+
KatexSpanNode(nodes: [
386381
KatexStrutNode(heightEm: 0.9444, verticalAlignEm: null),
387382
KatexSpanNode(
388383
styles: KatexSpanStyles(fontFamily: 'KaTeX_Math', fontStyle: KatexSpanFontStyle.italic),
389384
text: 'a'),
390385
KatexVlistNode(rows: [
391386
KatexVlistRowNode(
392387
verticalOffsetEm: -3.25 + 3,
393-
node: KatexSpanNode(styles: KatexSpanStyles(), nodes: [
394-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
388+
node: KatexSpanNode(nodes: [
389+
KatexSpanNode(nodes: [
395390
KatexSpanNode(
396391
styles: KatexSpanStyles(fontFamily: 'KaTeX_Math', fontStyle: KatexSpanFontStyle.italic),
397392
text: 'b'),
@@ -417,12 +412,12 @@ class KatexExample extends ContentExample {
417412
'<span class="mord">1</span>'
418413
'<span class="mspace" style="margin-right:-0.1667em;"></span>'
419414
'<span class="mord">2</span></span></span></span></span></p>', [
420-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
415+
KatexSpanNode(nodes: [
421416
KatexStrutNode(heightEm: 0.6444, verticalAlignEm: null),
422-
KatexSpanNode(styles: KatexSpanStyles(), text: '1'),
423-
KatexSpanNode(styles: KatexSpanStyles(), nodes: []),
417+
KatexSpanNode(text: '1'),
418+
KatexSpanNode(nodes: []),
424419
KatexNegativeMarginNode(leftOffsetEm: -0.1667, nodes: [
425-
KatexSpanNode(styles: KatexSpanStyles(), text: '2'),
420+
KatexSpanNode(text: '2'),
426421
]),
427422
]),
428423
]);
@@ -463,45 +458,45 @@ class KatexExample extends ContentExample {
463458
'<span class="vlist" style="height:0.2155em;"><span></span></span></span></span>'
464459
'<span class="mspace" style="margin-right:-0.125em;"></span>'
465460
'<span class="mord textrm">X</span></span></span></span></span></span></span></p>', [
466-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
461+
KatexSpanNode(nodes: [
467462
KatexStrutNode(heightEm: 0.8988, verticalAlignEm: -0.2155),
468-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
463+
KatexSpanNode(nodes: [
469464
KatexSpanNode(
470465
styles: KatexSpanStyles(fontFamily: 'KaTeX_Main'),
471466
text: 'K'),
472-
KatexSpanNode(styles: KatexSpanStyles(), nodes: []),
467+
KatexSpanNode(nodes: []),
473468
KatexNegativeMarginNode(leftOffsetEm: -0.17, nodes: [
474469
KatexVlistNode(rows: [
475470
KatexVlistRowNode(
476471
verticalOffsetEm: -2.905 + 2.7,
477-
node: KatexSpanNode(styles: KatexSpanStyles(), nodes: [
478-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
472+
node: KatexSpanNode(nodes: [
473+
KatexSpanNode(nodes: [
479474
KatexSpanNode(
480475
styles: KatexSpanStyles(fontFamily: 'KaTeX_Main', fontSizeEm: 0.7), // .reset-size6.size3
481476
text: 'A'),
482477
]),
483478
])),
484479
]),
485-
KatexSpanNode(styles: KatexSpanStyles(), nodes: []),
480+
KatexSpanNode(nodes: []),
486481
KatexNegativeMarginNode(leftOffsetEm: -0.15, nodes: [
487-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
482+
KatexSpanNode(nodes: [
488483
KatexSpanNode(
489484
styles: KatexSpanStyles(fontFamily: 'KaTeX_Main'),
490485
text: 'T'),
491-
KatexSpanNode(styles: KatexSpanStyles(), nodes: []),
486+
KatexSpanNode(nodes: []),
492487
KatexNegativeMarginNode(leftOffsetEm: -0.1667, nodes: [
493488
KatexVlistNode(rows: [
494489
KatexVlistRowNode(
495490
verticalOffsetEm: -2.7845 + 3,
496-
node: KatexSpanNode(styles: KatexSpanStyles(), nodes: [
497-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
491+
node: KatexSpanNode(nodes: [
492+
KatexSpanNode(nodes: [
498493
KatexSpanNode(
499494
styles: KatexSpanStyles(fontFamily: 'KaTeX_Main'),
500495
text: 'E'),
501496
]),
502497
])),
503498
]),
504-
KatexSpanNode(styles: KatexSpanStyles(), nodes: []),
499+
KatexSpanNode(nodes: []),
505500
KatexNegativeMarginNode(leftOffsetEm: -0.125, nodes: [
506501
KatexSpanNode(
507502
styles: KatexSpanStyles(fontFamily: 'KaTeX_Main'),
@@ -538,9 +533,9 @@ class KatexExample extends ContentExample {
538533
'<span class="vlist-s">​</span></span>'
539534
'<span class="vlist-r">'
540535
'<span class="vlist" style="height:0.15em;"><span></span></span></span></span></span></span></span></span></span></span></p>', [
541-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
536+
KatexSpanNode(nodes: [
542537
KatexStrutNode(heightEm: 0.8333, verticalAlignEm: -0.15),
543-
KatexSpanNode(styles: KatexSpanStyles(), nodes: [
538+
KatexSpanNode(nodes: [
544539
KatexSpanNode(
545540
styles: KatexSpanStyles(
546541
marginRightEm: 0.07847,
@@ -552,7 +547,7 @@ class KatexExample extends ContentExample {
552547
KatexVlistNode(rows: [
553548
KatexVlistRowNode(
554549
verticalOffsetEm: -2.55 + 2.7,
555-
node: KatexSpanNode(styles: KatexSpanStyles(), nodes: [
550+
node: KatexSpanNode(nodes: [
556551
KatexNegativeMarginNode(leftOffsetEm: -0.0785, nodes: [
557552
KatexSpanNode(
558553
styles: KatexSpanStyles(marginRightEm: 0.05),

0 commit comments

Comments
 (0)