/******************************************************************************* * Copyright (c) 2010 SAP AG. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Emil Simeonov - initial API and implementation. * Dimitar Donchev - initial API and implementation. * Dimitar Tenev - initial API and implementation. * Nevena Manova - initial API and implementation. * Georgi Konstantinov - initial API and implementation. *******************************************************************************/ package org.eclipse.wst.sse.sieditor.test.ui.v2.common; import static org.junit.Assert.assertEquals; import java.util.LinkedList; import java.util.List; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.wst.sse.sieditor.ui.v2.common.ValidationListener; import org.junit.Before; import org.junit.Test; import org.eclipse.wst.sse.sieditor.ui.AbstractEditorPage; public class EditorTitleMessagesManagerTest { private static final String[] WARNINGS = { "warning1", "warning2", "warning3", "warning4", "warning5" }; private static final String[] ERRORS = { "error1", "error2", "error3", "error4", "error5", "error6" }; private static final String EXPECTED_TOOLTIP_1 = "Errors (5 of 6)\n- error1\n- error2\n- error3\n- error4\n- error5\nWarnings (5)"; private static final String EXPECTED_TITLE_1 = "6 errors, 5 warnings detected"; private static final String EXPECTED_TOOLTIP_2 = "Warnings (2 of 2)\n- warning1\n- warning2\n"; private static final String EXPECTED_TITLE_2 = "2 warnings detected"; private static final String EXPECTED_TOOLTIP_3 = "Errors (3 of 3)\n- error1\n- error2\n- error3\nWarnings (2 of 3)\n- warning1\n- warning2\n"; private static final String EXPECTED_TITLE_3 = "3 errors, 3 warnings detected"; private static final String EXPECTED_TOOLTIP_4 = "Errors (1 of 1)\n- error1\n"; private static final String EXPECTED_TOOLTIP_5 = "Warnings (1 of 1)\n- warning1\n"; private static final String EXPECTED_TOOLTIP_6 = "Errors (1 of 1)\n- error1\nWarnings (3 of 3)\n- warning1\n- warning2\n- warning3\n"; private static final String EXPECTED_TITLE_6 = "1 error, 3 warnings detected"; private static final String EXPECTED_TOOLTIP_7 = "Errors (3 of 3)\n- error1\n- error2\n- error3\nWarnings (1 of 1)\n- warning1\n"; private static final String EXPECTED_TITLE_7 = "3 errors, 1 warning detected"; @Before public void setUp() { } @Test public void createCreateMessages() { final EditorTitleMessagesManagerExpose manager = new EditorTitleMessagesManagerExpose(new LinkedList<AbstractEditorPage>()); testMessages(manager, 6, 5, EXPECTED_TOOLTIP_1, EXPECTED_TITLE_1, IMessageProvider.ERROR); testMessages(manager, 0, 2, EXPECTED_TOOLTIP_2, EXPECTED_TITLE_2, IMessageProvider.WARNING); testMessages(manager, 3, 3, EXPECTED_TOOLTIP_3, EXPECTED_TITLE_3, IMessageProvider.ERROR); testMessages(manager, 1, 0, EXPECTED_TOOLTIP_4, ERRORS[0], IMessageProvider.ERROR); testMessages(manager, 0, 1, EXPECTED_TOOLTIP_5, WARNINGS[0], IMessageProvider.WARNING); testMessages(manager, 1, 3, EXPECTED_TOOLTIP_6, EXPECTED_TITLE_6, IMessageProvider.ERROR); testMessages(manager, 3, 1, EXPECTED_TOOLTIP_7, EXPECTED_TITLE_7, IMessageProvider.ERROR); } private void testMessages(final EditorTitleMessagesManagerExpose manager, final int errors, final int warnings, final String tooltip, final String title, final int status) { manager.resetValidationMessages(); assertEquals("", manager.createTooltipMessage()); assertEquals("", manager.createTitleMessageText()); assertEquals(IMessageProvider.NONE, manager.createTitleMessageStatus()); for (int i = 0; i < warnings; i++) { manager.addWarningMessage(WARNINGS[i]); } for (int i = 0; i < errors; i++) { manager.addErrorMessage(ERRORS[i]); } assertEquals(tooltip, manager.createTooltipMessage()); assertEquals(title, manager.createTitleMessageText()); assertEquals(status, manager.createTitleMessageStatus()); } private class EditorTitleMessagesManagerExpose extends ValidationListener { public EditorTitleMessagesManagerExpose(final List<AbstractEditorPage> pages) { super(pages); } @Override public int createTitleMessageStatus() { return super.createTitleMessageStatus(); } @Override public String createTitleMessageText() { return super.createTitleMessageText(); } @Override public String createTooltipMessage() { return super.createTooltipMessage(); } @Override public void resetValidationMessages() { super.resetValidationMessages(); } @Override public void addErrorMessage(final String message) { super.addErrorMessage(message); } @Override public void addWarningMessage(final String message) { super.addWarningMessage(message); } } }