All files / src/compiler/phases/2-analyze/visitors ExpressionTag.js

90% Statements 18/20
75% Branches 3/4
100% Functions 1/1
88.88% Lines 16/18

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 192x 2x 2x 2x 2x 2x 2x 2x 2x 2x 7246x 4172x     4172x 7246x 7246x 7246x  
/** @import { ExpressionTag } from '#compiler' */
/** @import { Context } from '../types' */
import { is_tag_valid_with_parent } from '../../../../html-tree-validation.js';
import * as e from '../../../errors.js';
 
/**
 * @param {ExpressionTag} node
 * @param {Context} context
 */
export function ExpressionTag(node, context) {
	if (node.parent && context.state.parent_element) {
		if (!is_tag_valid_with_parent('#text', context.state.parent_element)) {
			e.node_invalid_placement(node, '`{expression}`', context.state.parent_element);
		}
	}
 
	context.next({ ...context.state, expression: node.metadata.expression });
}