BloomTestRenderer class

Test harness wrapping a BloomNode AST tree for querying and assertion in VM tests.

Enables testing of Bloom components in standard dart test environments on the Dart VM without requiring a browser DOM, JS runtime, or Flutter engine.

Provides querying utilities (queryBy* and getBy*) that traverse the descriptor hierarchy, inspect attributes and text content, and support snapshot verification via toHtml.

BloomNode counterComponent(Signal<int> count) => Div(
  attrs: {'data-testid': 'counter-root'},
  children: [
    Live(() => Span(attrs: {'data-testid': 'count-val'}, text: 'Count: ${count.value}')),
    Button(
      attrs: {'data-testid': 'inc-btn'},
      onClick: (_) => count.value++,
      text: 'Increment',
    ),
  ],
);

void main() {
  test('increments counter on click', () {
    final count = signal(0);
    final renderer = renderForTest(counterComponent(count));

    expect(renderer.getByTestId('count-val').text, 'Count: 0');

    final btn = renderer.getByTestId('inc-btn');
    fireEvent.click(btn);

    expect(count.value, 1);
  });
}

Constructors

BloomTestRenderer(BloomNode root)
Creates a test renderer wrapping root.
const

Properties

hashCode int
The hash code for this object.
no setterinherited
root BloomNode
The root descriptor node under test.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getByTag(String tag) ElNode
Finds the first ElNode whose HTML tag matches tag (e.g. 'button', 'div').
getByTestId(String testId) ElNode
Finds the first ElNode in the tree whose data-testid attribute matches testId.
getByText(String text) BloomNode
Finds the first node whose direct text content equals text.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
queryByTag(String tag) ElNode?
Finds the first ElNode whose HTML tag matches tag (e.g. 'button', 'div').
queryByTestId(String testId) ElNode?
Finds the first ElNode in the tree whose data-testid attribute matches testId.
queryByText(String text) BloomNode?
Finds the first node whose direct text content equals text.
toHtml() String
Evaluates the tree through the SSR renderer and returns its rendered HTML string.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited