/* * Copyright (C) 2011 Laurent Caillette * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation, either * version 3 of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.novelang.opus.function.builtin; import java.io.File; import com.google.common.collect.ImmutableMap; import org.junit.Assert; import org.junit.Test; import org.novelang.ResourceTools; import org.novelang.common.Location; import org.novelang.logger.Logger; import org.novelang.logger.LoggerFactory; import org.novelang.opus.CommandExecutionContext; import org.novelang.opus.function.CommandParameterException; import org.novelang.outfit.loader.ResourceName; import org.novelang.rendering.RenditionMimeType; /** * Tests for {@link org.novelang.opus.function.builtin.MapstylesheetCommand}. * * @author Laurent Caillette */ public class MapstylesheetCommandTest { private static final Logger LOGGER = LoggerFactory.getLogger( MapstylesheetCommandTest.class ) ; @Test public void correctMapping() throws CommandParameterException { final ImmutableMap< String, String > map = ImmutableMap.of( "html", "dir/stylesheet.xsl", "pdf", "other/pdf.xsl" ) ; final MapstylesheetCommand definition = new MapstylesheetCommand( new Location( "", -1, -1 ), map ) ; LOGGER.debug( "Stylesheet map: \n", map ) ; final CommandExecutionContext result = definition.evaluate( new CommandExecutionContext( new File( "" ), ResourceTools.getExecutorService() ) ); Assert.assertEquals( new ResourceName( "dir/stylesheet.xsl" ), result.getCustomStylesheets().get( RenditionMimeType.HTML ) ) ; Assert.assertEquals( new ResourceName( "other/pdf.xsl" ), result.getCustomStylesheets().get( RenditionMimeType.PDF ) ) ; } }