All files / roosterjs-content-model-dom/lib/formatHandlers/segment fontFamilyFormatHandler.ts

100% Statements 6/6
100% Branches 10/10
100% Functions 2/2
100% Lines 6/6

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21            1x   2847x   2847x 566x       1992x 259x        
import type { FontFamilyFormat } from 'roosterjs-content-model-types';
import type { FormatHandler } from '../FormatHandler';
 
/**
 * @internal
 */
export const fontFamilyFormatHandler: FormatHandler<FontFamilyFormat> = {
    parse: (format, element, context, defaultStyle) => {
        const fontFamily = element.style.fontFamily || defaultStyle.fontFamily;
 
        if (fontFamily && fontFamily != 'inherit') {
            format.fontFamily = fontFamily;
        }
    },
    apply: (format, element, context) => {
        if (format.fontFamily && format.fontFamily != context.implicitFormat.fontFamily) {
            element.style.fontFamily = format.fontFamily;
        }
    },
};