testFragment function

String testFragment(
  1. Trellis engine,
  2. String template,
  3. String fragment,
  4. Map<String, dynamic> context,
)

Renders a specific fragment from an in-memory template.

Convenience wrapper around Trellis.renderFragment for test code. The template parameter is a template name (key in MapLoader), not a raw source string. The source is loaded via engine.loader.loadSync().

final html = testFragment(engine, 'nav', 'mainNav', {
  'items': [{'url': '/home', 'label': 'Home'}],
});
expect(html, hasElement('a'));

Throws TemplateNotFoundException if template is not in the engine's loader. Throws FragmentNotFoundException if fragment is not found in the template.

Implementation

String testFragment(Trellis engine, String template, String fragment, Map<String, dynamic> context) {
  final source = engine.loader.loadSync(template);
  if (source == null) {
    throw TemplateNotFoundException(template);
  }
  return engine.renderFragment(source, fragment: fragment, context: context);
}