All files

92.14% Statements 14380/15607
81.33% Branches 10594/13026
88.37% Functions 2264/2562
91.95% Lines 13492/14673

Press n or j to go to the next uncovered block, b, p or k for the previous block.

File Statements Branches Functions Lines
roosterjs-color-utils/lib
100% 2/2 100% 0/0 0% 0/1 100% 1/1
roosterjs-color-utils/lib/utils
100% 10/10 50% 2/4 100% 1/1 100% 10/10
roosterjs-content-model-api/lib
100% 124/124 100% 0/0 37.1% 23/62 100% 62/62
roosterjs-content-model-api/lib/modelApi/block
96.27% 232/241 84.05% 137/163 100% 37/37 95.87% 209/218
roosterjs-content-model-api/lib/modelApi/common
96.22% 229/238 92.22% 154/167 97.14% 34/35 95.71% 201/210
roosterjs-content-model-api/lib/modelApi/entity
100% 52/52 92.5% 74/80 100% 2/2 100% 52/52
roosterjs-content-model-api/lib/modelApi/image
100% 35/35 93.75% 15/16 100% 1/1 100% 35/35
roosterjs-content-model-api/lib/modelApi/link
100% 48/48 93.48% 43/46 100% 7/7 100% 42/42
roosterjs-content-model-api/lib/modelApi/list
94.25% 164/174 89.4% 135/151 92.59% 25/27 94.01% 157/167
roosterjs-content-model-api/lib/modelApi/selection
97.54% 119/122 89.72% 96/107 100% 15/15 97.39% 112/115
roosterjs-content-model-api/lib/modelApi/table
96.62% 257/266 82.99% 200/241 93.02% 40/43 96.37% 239/248
roosterjs-content-model-api/lib/publicApi/block
95.71% 67/70 79.55% 35/44 100% 17/17 95.59% 65/68
roosterjs-content-model-api/lib/publicApi/entity
97.67% 42/43 96.88% 31/32 66.67% 2/3 97.44% 38/39
roosterjs-content-model-api/lib/publicApi/format
100% 28/28 90% 9/10 100% 4/4 100% 28/28
roosterjs-content-model-api/lib/publicApi/image
100% 71/71 77.42% 24/31 100% 18/18 100% 71/71
roosterjs-content-model-api/lib/publicApi/link
89.01% 81/91 81.01% 64/79 95.24% 20/21 88.89% 80/90
roosterjs-content-model-api/lib/publicApi/list
100% 24/24 50% 2/4 100% 8/8 100% 22/22
roosterjs-content-model-api/lib/publicApi/segment
100% 180/180 90.58% 125/138 100% 44/44 100% 176/176
roosterjs-content-model-api/lib/publicApi/table
81.3% 213/262 71.92% 105/146 75% 15/20 81.18% 207/255
roosterjs-content-model-api/lib/publicApi/utils
99.53% 212/213 92.24% 107/116 100% 33/33 99.46% 183/184
roosterjs-content-model-core/lib
100% 12/12 100% 0/0 83.33% 5/6 100% 6/6
roosterjs-content-model-core/lib/command/createModelFromHtml
96.19% 101/105 86.81% 79/91 92.86% 13/14 95.74% 90/94
roosterjs-content-model-core/lib/command/exportContent
100% 18/18 88.89% 8/9 100% 2/2 100% 18/18
roosterjs-content-model-core/lib/command/paste
98.89% 178/180 85.83% 109/127 100% 26/26 98.86% 173/175
roosterjs-content-model-core/lib/command/redo
100% 6/6 100% 2/2 100% 1/1 100% 6/6
roosterjs-content-model-core/lib/command/undo
100% 8/8 100% 4/4 100% 1/1 100% 8/8
roosterjs-content-model-core/lib/coreApi
100% 17/17 100% 0/0 100% 0/0 100% 17/17
roosterjs-content-model-core/lib/coreApi/addUndoSnapshot
98.28% 114/116 90.1% 91/101 100% 6/6 98.17% 107/109
roosterjs-content-model-core/lib/coreApi/announce
100% 27/27 90% 27/30 100% 3/3 100% 24/24
roosterjs-content-model-core/lib/coreApi/attachDomEvent
100% 20/20 100% 6/6 100% 6/6 100% 14/14
roosterjs-content-model-core/lib/coreApi/createContentModel
100% 22/22 100% 32/32 100% 1/1 100% 21/21
roosterjs-content-model-core/lib/coreApi/createEditorContext
100% 14/14 100% 24/24 100% 2/2 100% 13/13
roosterjs-content-model-core/lib/coreApi/focus
100% 8/8 100% 12/12 100% 1/1 100% 7/7
roosterjs-content-model-core/lib/coreApi/formatContentModel
100% 69/69 96.69% 117/121 100% 8/8 100% 65/65
roosterjs-content-model-core/lib/coreApi/getDOMSelection
100% 9/9 95.45% 21/22 100% 2/2 100% 8/8
roosterjs-content-model-core/lib/coreApi/getVisibleViewport
100% 15/15 75% 6/8 100% 8/8 100% 14/14
roosterjs-content-model-core/lib/coreApi/restoreUndoSnapshot
99.13% 114/115 86.08% 68/79 100% 10/10 99.09% 109/110
roosterjs-content-model-core/lib/coreApi/setContentModel
100% 19/19 95.45% 21/22 100% 1/1 100% 18/18
roosterjs-content-model-core/lib/coreApi/setDOMSelection
97.08% 133/137 84.76% 139/164 100% 11/11 96.99% 129/133
roosterjs-content-model-core/lib/coreApi/setEditorStyle
100% 45/45 100% 24/24 100% 5/5 100% 43/43
roosterjs-content-model-core/lib/coreApi/setLogicalRoot
100% 17/17 100% 8/8 100% 1/1 100% 16/16
roosterjs-content-model-core/lib/coreApi/switchShadowEdit
100% 22/22 100% 12/12 50% 1/2 100% 21/21
roosterjs-content-model-core/lib/coreApi/triggerEvent
100% 12/12 100% 16/16 100% 4/4 100% 11/11
roosterjs-content-model-core/lib/corePlugin
100% 11/11 100% 0/0 100% 1/1 100% 11/11
roosterjs-content-model-core/lib/corePlugin/cache
93.79% 468/499 80.17% 380/474 98.55% 68/69 93.56% 450/481
roosterjs-content-model-core/lib/corePlugin/contextMenu
95.65% 44/46 75.93% 41/54 91.67% 11/12 95.56% 43/45
roosterjs-content-model-core/lib/corePlugin/copyPaste
86.31% 145/168 73.68% 98/133 90.63% 29/32 86.5% 141/163
roosterjs-content-model-core/lib/corePlugin/copyPaste/utils
95% 95/100 86.81% 79/91 100% 8/8 94.51% 86/91
roosterjs-content-model-core/lib/corePlugin/domEvent
87.13% 88/101 71.94% 100/139 72.73% 16/22 87% 87/100
roosterjs-content-model-core/lib/corePlugin/entity
91.25% 313/343 76.35% 310/406 91.53% 54/59 90.91% 300/330
roosterjs-content-model-core/lib/corePlugin/format
97.96% 144/147 84.47% 136/161 96.15% 25/26 97.92% 141/144
roosterjs-content-model-core/lib/corePlugin/lifecycle
98.33% 59/60 88.57% 31/35 92.86% 13/14 98.31% 58/59
roosterjs-content-model-core/lib/corePlugin/selection
96.61% 371/384 84.39% 427/506 94.59% 35/37 96.46% 354/367
roosterjs-content-model-core/lib/corePlugin/undo
94.27% 148/157 88.24% 135/153 93.1% 27/29 94.27% 148/157
roosterjs-content-model-core/lib/editor
97.56% 120/123 97.56% 40/41 94.44% 34/36 97.48% 116/119
roosterjs-content-model-core/lib/editor/core
100% 103/103 90% 117/130 100% 31/31 100% 101/101
roosterjs-content-model-core/lib/override
100% 98/98 92.86% 91/98 100% 16/16 100% 91/91
roosterjs-content-model-core/lib/utils
96.15% 25/26 100% 6/6 87.5% 7/8 100% 23/23
roosterjs-content-model-dom/lib
100% 272/272 100% 0/0 91.25% 146/160 100% 156/156
roosterjs-content-model-dom/lib/config
100% 3/3 100% 0/0 100% 0/0 100% 3/3
roosterjs-content-model-dom/lib/constants
100% 9/9 100% 0/0 100% 0/0 100% 9/9
roosterjs-content-model-dom/lib/domToModel
100% 11/11 100% 12/12 100% 1/1 100% 11/11
roosterjs-content-model-dom/lib/domToModel/context
100% 53/53 97.62% 41/42 100% 15/15 100% 53/53
roosterjs-content-model-dom/lib/domToModel/processors
98.8% 577/584 91.48% 333/364 100% 61/61 98.72% 538/545
roosterjs-content-model-dom/lib/domToModel/utils
98.85% 86/87 98.57% 69/70 100% 16/16 98.84% 85/86
roosterjs-content-model-dom/lib/domUtils
98.14% 158/161 92.91% 131/141 96.97% 32/33 98.08% 153/156
roosterjs-content-model-dom/lib/domUtils/event
93.1% 54/58 97.96% 48/49 94.44% 17/18 93.1% 54/58
roosterjs-content-model-dom/lib/domUtils/hiddenProperties
100% 25/25 100% 4/4 100% 8/8 100% 25/25
roosterjs-content-model-dom/lib/domUtils/selection
91.67% 22/24 86.67% 26/30 100% 5/5 91.67% 22/24
roosterjs-content-model-dom/lib/domUtils/style
94.44% 51/54 92.11% 35/38 100% 11/11 94.34% 50/53
roosterjs-content-model-dom/lib/domUtils/table
100% 21/21 80% 8/10 100% 3/3 100% 15/15
roosterjs-content-model-dom/lib/formatHandlers
100% 52/52 100% 0/0 100% 2/2 100% 52/52
roosterjs-content-model-dom/lib/formatHandlers/block
98.17% 107/109 94.2% 130/138 100% 22/22 98.17% 107/109
roosterjs-content-model-dom/lib/formatHandlers/common
99.2% 124/125 95.8% 114/119 100% 28/28 99.2% 124/125
roosterjs-content-model-dom/lib/formatHandlers/entity
100% 8/8 100% 4/4 100% 2/2 100% 8/8
roosterjs-content-model-dom/lib/formatHandlers/list
100% 55/55 100% 46/46 100% 8/8 100% 54/54
roosterjs-content-model-dom/lib/formatHandlers/segment
98.17% 161/164 95.9% 187/195 100% 27/27 98.17% 161/164
roosterjs-content-model-dom/lib/formatHandlers/table
100% 28/28 100% 18/18 83.33% 5/6 100% 28/28
roosterjs-content-model-dom/lib/formatHandlers/utils
98.2% 109/111 95.56% 129/135 100% 12/12 98.06% 101/103
roosterjs-content-model-dom/lib/modelApi/block
100% 17/17 100% 8/8 100% 2/2 100% 14/14
roosterjs-content-model-dom/lib/modelApi/common
99.32% 293/295 93.98% 250/266 100% 58/58 99.29% 280/282
roosterjs-content-model-dom/lib/modelApi/creators
100% 74/74 95.83% 23/24 100% 19/19 100% 73/73
roosterjs-content-model-dom/lib/modelApi/editing
94.63% 828/875 84.81% 653/770 95.59% 130/136 94.58% 785/830
roosterjs-content-model-dom/lib/modelApi/list
100% 37/37 100% 35/35 100% 4/4 100% 34/34
roosterjs-content-model-dom/lib/modelApi/metadata
100% 86/86 100% 50/50 100% 20/20 100% 86/86
roosterjs-content-model-dom/lib/modelApi/selection
97.34% 293/301 96.49% 302/313 100% 52/52 97.13% 271/279
roosterjs-content-model-dom/lib/modelApi/typeCheck
100% 5/5 100% 6/6 100% 2/2 100% 5/5
roosterjs-content-model-dom/lib/modelToDom
95% 38/40 75.81% 47/62 100% 3/3 94.87% 37/39
roosterjs-content-model-dom/lib/modelToDom/context
100% 49/49 100% 40/40 100% 16/16 100% 49/49
roosterjs-content-model-dom/lib/modelToDom/handlers
99.54% 433/435 93.26% 332/356 100% 32/32 99.51% 406/408
roosterjs-content-model-dom/lib/modelToDom/optimizers
100% 66/66 92.73% 51/55 100% 6/6 100% 62/62
roosterjs-content-model-dom/lib/modelToDom/utils
100% 27/27 95% 19/20 100% 6/6 100% 27/27
roosterjs-content-model-dom/lib/modelToText
95.92% 47/49 73.33% 22/30 86.67% 13/15 95.92% 47/49
roosterjs-content-model-markdown/lib
100% 4/4 100% 0/0 0% 0/2 100% 2/2
roosterjs-content-model-markdown/lib/constants
100% 3/3 100% 0/0 100% 0/0 100% 3/3
roosterjs-content-model-markdown/lib/markdownToModel
100% 4/4 66.67% 4/6 100% 1/1 100% 4/4
roosterjs-content-model-markdown/lib/markdownToModel/appliers
100% 95/95 100% 47/47 100% 10/10 100% 92/92
roosterjs-content-model-markdown/lib/markdownToModel/creators
100% 91/91 90% 27/30 100% 13/13 100% 84/84
roosterjs-content-model-markdown/lib/markdownToModel/processor
89.41% 76/85 91.04% 61/67 100% 4/4 92.41% 73/79
roosterjs-content-model-markdown/lib/markdownToModel/utils
97.73% 43/44 90% 27/30 100% 7/7 97.44% 38/39
roosterjs-content-model-markdown/lib/modelToMarkdown
100% 3/3 100% 0/0 100% 1/1 100% 3/3
roosterjs-content-model-markdown/lib/modelToMarkdown/creators
92.14% 129/140 81.03% 47/58 100% 8/8 93.1% 108/116
roosterjs-content-model-markdown/lib/modelToMarkdown/processor
100% 17/17 100% 9/9 100% 1/1 100% 14/14
roosterjs-content-model-plugins/lib
100% 48/48 100% 0/0 9.68% 3/31 100% 32/32
roosterjs-content-model-plugins/lib/autoFormat
98.1% 103/105 92.86% 52/56 89.47% 17/19 97.8% 89/91
roosterjs-content-model-plugins/lib/autoFormat/horizontalLine
100% 27/27 100% 11/11 100% 6/6 100% 24/24
roosterjs-content-model-plugins/lib/autoFormat/hyphen
100% 21/21 93.75% 15/16 100% 1/1 100% 21/21
roosterjs-content-model-plugins/lib/autoFormat/link
87.5% 21/24 68.75% 11/16 66.67% 4/6 87.5% 21/24
roosterjs-content-model-plugins/lib/autoFormat/list
100% 159/159 84.46% 125/148 100% 23/23 100% 154/154
roosterjs-content-model-plugins/lib/autoFormat/numbers
100% 46/46 90% 36/40 100% 4/4 100% 46/46
roosterjs-content-model-plugins/lib/contextMenuBase
19.51% 8/41 0% 0/34 12.5% 1/8 17.95% 7/39
roosterjs-content-model-plugins/lib/customReplace
72.22% 26/36 78.57% 11/14 70% 7/10 75% 24/32
roosterjs-content-model-plugins/lib/edit
88.04% 243/276 78.95% 195/247 83.72% 36/43 87.92% 233/265
roosterjs-content-model-plugins/lib/edit/deleteSteps
86.42% 210/243 80.38% 168/209 95% 19/20 86.64% 188/217
roosterjs-content-model-plugins/lib/edit/inputSteps
97.73% 86/88 87.67% 64/73 100% 10/10 97.56% 80/82
roosterjs-content-model-plugins/lib/edit/tabUtils
98% 98/100 78.57% 77/98 100% 14/14 97.89% 93/95
roosterjs-content-model-plugins/lib/edit/utils
100% 52/52 95% 38/40 100% 3/3 100% 52/52
roosterjs-content-model-plugins/lib/hiddenProperty
89.66% 26/29 90% 9/10 75% 6/8 88% 22/25
roosterjs-content-model-plugins/lib/hyperlink
94.12% 64/68 84.38% 81/96 84.62% 11/13 95.31% 61/64
roosterjs-content-model-plugins/lib/imageEdit
85.43% 299/350 65.03% 212/326 74.51% 38/51 85.25% 289/339
roosterjs-content-model-plugins/lib/imageEdit/Cropper
93.85% 61/65 87.76% 43/49 92.86% 13/14 95% 57/60
roosterjs-content-model-plugins/lib/imageEdit/Resizer
86.25% 69/80 81.93% 68/83 93.33% 14/15 86.49% 64/74
roosterjs-content-model-plugins/lib/imageEdit/Rotator
81.82% 54/66 64.71% 33/51 87.5% 7/8 82.81% 53/64
roosterjs-content-model-plugins/lib/imageEdit/constants
100% 19/19 100% 0/0 100% 0/0 100% 19/19
roosterjs-content-model-plugins/lib/imageEdit/types
100% 7/7 100% 2/2 100% 1/1 100% 7/7
roosterjs-content-model-plugins/lib/imageEdit/utils
93.68% 356/380 78.45% 233/297 98.08% 51/52 93.55% 348/372
roosterjs-content-model-plugins/lib/markdown
83.67% 82/98 60.26% 47/78 81.82% 9/11 83.33% 80/96
roosterjs-content-model-plugins/lib/markdown/utils
100% 20/20 83.33% 15/18 100% 3/3 100% 20/20
roosterjs-content-model-plugins/lib/paste
91.86% 79/86 71.05% 27/38 84.62% 11/13 91.67% 77/84
roosterjs-content-model-plugins/lib/paste/Excel
91.23% 52/57 73.33% 44/60 85.71% 6/7 91.07% 51/56
roosterjs-content-model-plugins/lib/paste/PowerPoint
98.28% 57/58 88.89% 48/54 100% 6/6 98.21% 55/56
roosterjs-content-model-plugins/lib/paste/WacComponents
95.54% 107/112 93.1% 81/87 100% 15/15 95.41% 104/109
roosterjs-content-model-plugins/lib/paste/WordDesktop
95.34% 184/193 93.92% 170/181 100% 20/20 95.11% 175/184
roosterjs-content-model-plugins/lib/paste/oneNote
100% 50/50 76.47% 26/34 100% 5/5 100% 45/45
roosterjs-content-model-plugins/lib/paste/parsers
92.59% 25/27 94.74% 18/19 100% 5/5 91.67% 22/24
roosterjs-content-model-plugins/lib/paste/pasteSourceValidations
100% 69/69 91.18% 31/34 100% 11/11 100% 60/60
roosterjs-content-model-plugins/lib/paste/processors
100% 15/15 66.67% 4/6 100% 2/2 100% 13/13
roosterjs-content-model-plugins/lib/paste/utils
87.14% 61/70 71.7% 38/53 84.62% 11/13 86.96% 60/69
roosterjs-content-model-plugins/lib/picker
95.68% 133/139 83.69% 118/141 89.47% 17/19 95.45% 126/132
roosterjs-content-model-plugins/lib/pluginUtils/CreateElement
100% 25/25 95.83% 23/24 100% 4/4 100% 25/25
roosterjs-content-model-plugins/lib/pluginUtils/DragAndDrop
94.92% 56/59 73.53% 25/34 100% 13/13 94.64% 53/56
roosterjs-content-model-plugins/lib/pluginUtils/Rect
100% 12/12 66.67% 4/6 100% 7/7 100% 12/12
roosterjs-content-model-plugins/lib/shortcut
96.77% 90/93 94.59% 35/37 92.86% 26/28 96.59% 85/88
roosterjs-content-model-plugins/lib/shortcut/utils
100% 9/9 100% 5/5 100% 2/2 100% 9/9
roosterjs-content-model-plugins/lib/tableEdit
66.28% 57/86 58.97% 46/78 62.5% 10/16 66.25% 53/80
roosterjs-content-model-plugins/lib/tableEdit/editors
76.11% 137/180 59.51% 97/163 67.74% 21/31 75.84% 135/178
roosterjs-content-model-plugins/lib/tableEdit/editors/features
86.86% 324/373 69.05% 203/294 92.11% 35/38 87.53% 316/361
roosterjs-content-model-plugins/lib/tableEdit/editors/utils
100% 7/7 66.67% 4/6 100% 1/1 100% 7/7
roosterjs-content-model-plugins/lib/touch
11.32% 12/106 0% 0/90 12.5% 1/8 11% 11/100
roosterjs-content-model-plugins/lib/utils
87.5% 14/16 72.22% 13/18 100% 1/1 87.5% 14/16
roosterjs-content-model-plugins/lib/watermark
91.14% 72/79 84.62% 55/65 82.35% 14/17 90.67% 68/75
roosterjs-content-model-types/lib
0% 0/0 0% 0/0 0% 0/0 0% 0/0
roosterjs-editor-adapter/lib/corePlugins
86.67% 104/120 64.13% 59/92 90% 27/30 86.49% 96/111
roosterjs-editor-adapter/lib/editor
36.05% 137/380 13.81% 50/362 16.25% 13/80 36.31% 134/369
roosterjs-editor-adapter/lib/editor/utils
54.64% 106/194 60.1% 250/416 50% 9/18 54.74% 104/190
roosterjs/lib
100% 15/15 100% 4/4 100% 2/2 100% 14/14