All files

92.41% Statements 13769/14900
81.6% Branches 10121/12403
88.58% Functions 2188/2470
92.22% Lines 12912/14001

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% 122/122 100% 0/0 37.7% 23/61 100% 61/61
roosterjs-content-model-api/lib/modelApi/block
96.82% 213/220 84.56% 126/149 100% 33/33 96.45% 190/197
roosterjs-content-model-api/lib/modelApi/common
95.51% 170/178 91.85% 124/135 96.43% 27/28 94.87% 148/156
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% 46/46 93.18% 41/44 100% 7/7 100% 40/40
roosterjs-content-model-api/lib/modelApi/list
92.27% 167/181 88.34% 144/163 92.31% 24/26 91.95% 160/174
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 80.52% 62/77 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
75% 195/260 59.59% 87/146 65% 13/20 74.7% 189/253
roosterjs-content-model-api/lib/publicApi/utils
99.05% 208/210 91.38% 106/116 100% 33/33 98.9% 179/181
roosterjs-content-model-core/lib
100% 12/12 100% 0/0 66.67% 4/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% 13/13 83.33% 5/6 100% 1/1 100% 13/13
roosterjs-content-model-core/lib/command/paste
99.3% 141/142 87.27% 96/110 100% 23/23 99.28% 138/139
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.25% 112/114 90.1% 91/101 100% 6/6 98.13% 105/107
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% 19/19 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.46% 109/113 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.09% 109/110 84.06% 58/69 100% 10/10 99.06% 105/106
roosterjs-content-model-core/lib/coreApi/setContentModel
100% 19/19 100% 22/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% 15/15 100% 8/8 100% 1/1 100% 14/14
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.52% 462/494 81.09% 373/460 98.48% 65/66 93.29% 445/477
roosterjs-content-model-core/lib/corePlugin/contextMenu
95.24% 40/42 76.19% 32/42 90.91% 10/11 95.24% 40/42
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
97.37% 74/76 80.9% 72/89 88.89% 16/18 97.37% 74/76
roosterjs-content-model-core/lib/corePlugin/entity
91.59% 316/345 76.72% 313/408 91.53% 54/59 91.27% 303/332
roosterjs-content-model-core/lib/corePlugin/format
97.9% 140/143 84.28% 134/159 96.15% 25/26 97.86% 137/140
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.47% 355/368 84.2% 405/481 94.59% 35/37 96.3% 338/351
roosterjs-content-model-core/lib/corePlugin/undo
94.27% 148/157 87.84% 130/148 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% 97/97 93.75% 90/96 100% 16/16 100% 90/90
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% 259/259 100% 0/0 90.73% 137/151 100% 147/147
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% 52/52 97.37% 37/38 100% 14/14 100% 52/52
roosterjs-content-model-dom/lib/domToModel/processors
98.79% 573/580 91.36% 328/359 100% 61/61 98.71% 534/541
roosterjs-content-model-dom/lib/domToModel/utils
98.84% 85/86 98.53% 67/68 100% 16/16 98.82% 84/85
roosterjs-content-model-dom/lib/domUtils
98.06% 152/155 92.81% 129/139 96.88% 31/32 98% 147/150
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% 20/20 100% 4/4 100% 6/6 100% 20/20
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
91.43% 32/35 91.18% 31/34 100% 8/8 91.18% 31/34
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% 51/51 100% 0/0 100% 2/2 100% 51/51
roosterjs-content-model-dom/lib/formatHandlers/block
98.04% 100/102 93.39% 113/121 100% 22/22 98.04% 100/102
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.09% 154/157 95.81% 183/191 100% 25/25 98.09% 154/157
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% 4/4 100% 4/4 100% 1/1 100% 4/4
roosterjs-content-model-dom/lib/modelApi/common
99.27% 272/274 94.53% 242/256 100% 56/56 99.23% 259/261
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.5% 824/872 84.49% 648/767 95.59% 130/136 94.44% 781/827
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% 47/47 100% 36/36 100% 15/15 100% 47/47
roosterjs-content-model-dom/lib/modelToDom/handlers
99.53% 425/427 93.22% 330/354 100% 32/32 99.5% 399/401
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% 28/28 95% 19/20 100% 6/6 100% 28/28
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 100% 2/2 100% 1/1 100% 4/4
roosterjs-content-model-markdown/lib/markdownToModel/appliers
96.36% 53/55 94.44% 17/18 100% 6/6 95.83% 46/48
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
86.36% 57/66 88.1% 37/42 100% 3/3 90% 54/60
roosterjs-content-model-markdown/lib/markdownToModel/utils
97.62% 41/42 89.29% 25/28 100% 7/7 97.3% 36/37
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
91.97% 126/137 78.85% 41/52 100% 8/8 92.92% 105/113
roosterjs-content-model-markdown/lib/modelToMarkdown/processor
100% 17/17 88.89% 8/9 100% 1/1 100% 14/14
roosterjs-content-model-plugins/lib
100% 46/46 100% 0/0 10% 3/30 100% 31/31
roosterjs-content-model-plugins/lib/autoFormat
98.25% 112/114 94.29% 66/70 90.48% 19/21 97.96% 96/98
roosterjs-content-model-plugins/lib/autoFormat/horizontalLine
100% 26/26 100% 6/6 100% 7/7 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
88% 22/25 68.75% 11/16 66.67% 4/6 88% 22/25
roosterjs-content-model-plugins/lib/autoFormat/list
100% 158/158 84.67% 127/150 100% 23/23 100% 153/153
roosterjs-content-model-plugins/lib/autoFormat/numbers
100% 45/45 89.47% 34/38 100% 4/4 100% 45/45
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
87.45% 209/239 75.34% 165/219 79.41% 27/34 87.07% 202/232
roosterjs-content-model-plugins/lib/edit/deleteSteps
85.33% 192/225 80.63% 154/191 94.12% 16/17 85.5% 171/200
roosterjs-content-model-plugins/lib/edit/inputSteps
97.7% 85/87 87.67% 64/73 100% 10/10 97.53% 79/81
roosterjs-content-model-plugins/lib/edit/tabUtils
98.98% 97/98 84.38% 81/96 100% 14/14 98.91% 91/92
roosterjs-content-model-plugins/lib/edit/utils
100% 47/47 93.75% 30/32 100% 3/3 100% 47/47
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.4% 269/315 62.28% 175/281 75.56% 34/45 85.2% 259/304
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 82.72% 67/81 93.33% 14/15 86.49% 64/74
roosterjs-content-model-plugins/lib/imageEdit/Rotator
81.54% 53/65 65.96% 31/47 87.5% 7/8 82.54% 52/63
roosterjs-content-model-plugins/lib/imageEdit/constants
100% 18/18 100% 0/0 100% 0/0 100% 18/18
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
91.8% 336/366 77.97% 223/286 98.08% 51/52 91.62% 328/358
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.57% 76/83 71.05% 27/38 84.62% 11/13 91.36% 74/81
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
100% 6/6 88.89% 8/9 100% 1/1 100% 6/6
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
96.88% 186/192 93.45% 157/168 100% 22/22 96.76% 179/185
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/pasteSourceValidations
100% 69/69 92.31% 24/26 100% 11/11 100% 60/60
roosterjs-content-model-plugins/lib/paste/utils
79.63% 43/54 68.89% 31/45 81.82% 9/11 78.85% 41/52
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.27% 55/83 58.11% 43/74 76.92% 10/13 68.42% 52/76
roosterjs-content-model-plugins/lib/tableEdit/editors
77.14% 135/175 59.51% 97/163 70% 21/30 76.88% 133/173
roosterjs-content-model-plugins/lib/tableEdit/editors/features
86.75% 334/385 69.23% 216/312 92.31% 36/39 87.4% 326/373
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/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.32% 101/117 62.5% 55/88 90% 27/30 86.11% 93/108
roosterjs-editor-adapter/lib/editor
36.05% 137/380 13.89% 50/360 16.25% 13/80 36.31% 134/369
roosterjs-editor-adapter/lib/editor/utils
54.64% 106/194 59.95% 247/412 50% 9/18 54.74% 104/190
roosterjs/lib
100% 15/15 100% 4/4 100% 2/2 100% 14/14