package jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.popup; import static org.junit.Assert.assertEquals; import java.time.Duration; import java.time.LocalDateTime; import java.util.Locale; import java.util.ResourceBundle; import org.junit.Test; import javafx.scene.Parent; import javafx.scene.control.TextField; import jfxtras.icalendarfx.components.VTodo; import jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour.Settings; import jfxtras.scene.control.LocalDateTimeTextField; import jfxtras.scene.control.agenda.Agenda; import jfxtras.scene.control.agenda.icalendar.ICalendarAgenda; import jfxtras.scene.control.agenda.icalendar.agenda.AgendaTestAbstract; import jfxtras.test.TestUtil; public class VTodoMakeiTIPTest extends VEventPopupTestBase { private EditVTodoTabPane editComponentPopup; @Override public Parent getRootNode() { ResourceBundle resources = ResourceBundle.getBundle("jfxtras.ICalendarAgenda", Locale.getDefault()); Settings.setup(resources); editComponentPopup = new EditVTodoTabPane(); String agendaSheet = Agenda.class.getResource("/jfxtras/internal/scene/control/skin/agenda/" + Agenda.class.getSimpleName() + ".css").toExternalForm(); editComponentPopup.getStylesheets().addAll(ICalendarAgenda.ICALENDAR_STYLE_SHEET, agendaSheet); return editComponentPopup; } @Test public void canDisplayPopupWithVTodo() { VTodo vtodo = new VTodo() .withDateTimeStart("20160518T110000") .withDuration(Duration.ofHours(1)) .withSummary("test todo") .withDateTimeStamp("20160518T232502Z") .withUniqueIdentifier("20160518T232502-0@jfxtras.org"); TestUtil.runThenWaitForPaintPulse( () -> { editComponentPopup.setupData( vtodo, LocalDateTime.of(2016, 5, 18, 11, 0), // start of edited instance LocalDateTime.of(2016, 5, 18, 12, 0), // end of edited instance (calculated from duration) AgendaTestAbstract.CATEGORIES); }); TextField summary = find("#summaryTextField"); assertEquals("test todo", summary.getText()); LocalDateTimeTextField start = find("#startDateTimeTextField"); assertEquals(LocalDateTime.of(2016, 5, 18, 11, 0), start.getLocalDateTime()); } }