public void testWidgetProcessor() throws Exception {

    CssStyleProcessor processor = new CssStyleProcessor();

    // Pass through

    HtmlMetawidget metawidget = new HtmlMetawidget();
    UIComponent component = new HtmlInputText();
    assertEquals(component, processor.processWidget(component, PROPERTY, null, metawidget));
    assertEquals(null, component.getAttributes().get("style"));
    assertEquals(null, component.getAttributes().get("styleClass"));

    // Simple styles and styleClasses

    metawidget.setStyle("foo1");
    metawidget.setStyleClass("bar1");
    assertEquals(component, processor.processWidget(component, PROPERTY, null, metawidget));
    assertEquals("foo1", component.getAttributes().get("style"));
    assertEquals("bar1", component.getAttributes().get("styleClass"));

    // Compound styles and styleClasses

    metawidget.setStyle("foo2");
    metawidget.setStyleClass("bar2");
    assertEquals(component, processor.processWidget(component, PROPERTY, null, metawidget));
    assertEquals("foo1 foo2", component.getAttributes().get("style"));
    assertEquals("bar1 bar2", component.getAttributes().get("styleClass"));
  }