/******************************************************************************* * Copyright (c) 2007, 2016 Alphonse Van Assche. * 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: * Alphonse Van Assche - initial API and implementation *******************************************************************************/ package org.eclipse.linuxtools.rpm.ui.editor.tests; import static org.junit.Assert.fail; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Map; import org.eclipse.linuxtools.internal.rpm.ui.editor.RpmMacroProposalsList; import org.junit.Before; import org.junit.Test; public class RpmMacroProposalsListTest { RpmMacroProposalsList macroProposalsList; @Before public void setUp() { macroProposalsList = new RpmMacroProposalsList(); } @Test public final void testBuildMacroList() { macroProposalsList.buildMacroList(); if (!macroProposalsList.findKey("%_libdir")) fail("buildMacroList faild, %_libdir macro was not found!"); } /** * Configure is the most common macro that is multi-line so it tests our parsing of multiline macros. */ @Test public final void buildMacroListMultiLineMacro() { macroProposalsList.buildMacroList(); if (!macroProposalsList.findKey("%configure")) { fail("buildMacroList faild, %configure macro was not found!"); } } @Test public final void testGetProposals() { Map<String, String> proposals = macroProposalsList .getProposals("%_libdir"); if (proposals.size() < 1) { fail("getProposals faild, %_libdir macro was retrive as proposals"); } } @Test public final void testGetProposals2() { Map<String, String> proposals = macroProposalsList .getProposals("%_unexistingmacro"); if (proposals.size() != 0) { fail("getProposals faild, %_unexistingmacro don't can exist"); } } @Test public final void testGetValue() { if (macroProposalsList.getValue("_libdir").indexOf("lib") == -1) { fail("getValue faild, %_libdir value don't end with '%{_lib}'"); } } @Test public final void testGetValue2() { if (macroProposalsList.getValue("_unexistingmacro") != null) { fail("getValue faild, %_libdir value don't end with '%{_lib}'"); } } @Test public final void testGetMacroEval() { if (Files.exists(Paths.get("/bin/rpm"))) { if (RpmMacroProposalsList.getMacroEval("%_libdir").indexOf("lib") == -1) { fail("getMacroEval faild, eval don't end with 'lib'"); } } } @Test public final void testGetMacroEval2() { if (!RpmMacroProposalsList.getMacroEval("%_unexistingmacro").equals( "%_unexistingmacro")) { fail("getMacroEval faild, eval don't contain %_unexistingmacro macro name"); } } }