All files

92.49% Statements 13295/14374
81.55% Branches 9808/12027
88.51% Functions 2141/2419
92.28% Lines 12476/13520

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.55% 252/261 83.26% 199/239 93.02% 40/43 96.3% 234/243
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 90.52% 105/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 86.36% 95/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% 20/20 100% 26/26 100% 1/1 100% 19/19
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.01% 130/134 84.57% 137/162 100% 10/10 96.92% 126/130
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% 19/19 100% 12/12 50% 1/2 100% 18/18
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
92.86% 416/448 80.77% 357/442 98.21% 55/56 92.58% 399/431
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.08% 136/158 73.95% 88/119 90.63% 29/32 86.27% 132/153
roosterjs-content-model-core/lib/corePlugin/copyPaste/utils
96% 24/25 85.71% 36/42 100% 4/4 95.83% 23/24
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
92.35% 314/340 77% 308/400 93.1% 54/58 92.05% 301/327
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
95.92% 353/368 83.58% 402/481 94.59% 35/37 95.73% 336/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% 99/99 92.24% 107/116 100% 30/30 100% 97/97
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% 253/253 100% 0/0 90.48% 133/147 100% 143/143
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.75% 551/558 92.15% 305/331 100% 59/59 98.65% 512/519
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.69% 151/153 92.81% 129/139 96.88% 31/32 98.65% 146/148
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% 9/9 100% 4/4 100% 2/2 100% 9/9
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% 50/50 100% 0/0 100% 2/2 100% 50/50
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 94.96% 113/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
97.99% 146/149 95.56% 172/180 100% 23/23 97.99% 146/149
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.33% 233/247 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.08% 795/845 82.39% 599/727 95.52% 128/134 94% 752/800
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% 424/426 93.02% 320/344 100% 32/32 99.5% 398/400
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/markdownToModel
100% 4/4 100% 2/2 100% 1/1 100% 4/4
roosterjs-content-model-markdown/lib/markdownToModel/appliers
100% 55/55 100% 18/18 100% 6/6 100% 48/48
roosterjs-content-model-markdown/lib/markdownToModel/creators
100% 83/83 94.44% 17/18 100% 13/13 100% 75/75
roosterjs-content-model-markdown/lib/markdownToModel/processor
84.48% 49/58 86.21% 25/29 100% 4/4 88.24% 45/51
roosterjs-content-model-markdown/lib/markdownToModel/utils
97.67% 42/43 89.29% 25/28 100% 7/7 97.37% 37/38
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
86.96% 200/230 74.38% 151/203 79.41% 27/34 86.49% 192/222
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.91% 91/92 85.87% 79/92 100% 14/14 98.84% 85/86
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
84.21% 16/19 83.33% 5/6 71.43% 5/7 83.33% 15/18
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.11% 263/309 62.77% 172/274 75.56% 34/45 84.9% 253/298
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
92.33% 337/365 77.97% 223/286 98.08% 51/52 92.16% 329/357
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.25% 73/80 70.27% 26/37 84.62% 11/13 91.03% 71/78
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
97.13% 169/174 92.73% 153/165 100% 19/19 97.01% 162/167
roosterjs-content-model-plugins/lib/paste/pasteSourceValidations
100% 62/62 92.31% 24/26 100% 10/10 100% 54/54
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
94.75% 361/381 75.32% 232/308 94.87% 37/39 94.58% 349/369
roosterjs-content-model-plugins/lib/tableEdit/editors/utils
100% 6/6 100% 0/0 100% 2/2 100% 6/6
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% 14/14 100% 4/4 100% 2/2 100% 13/13