/******************************************************************************* * Copyright (c) 2013 IBM Corporation. * 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: * IBM Corporation - initial API and implementation *******************************************************************************/ package com.ibm.wala.util.io; import static org.junit.Assert.assertEquals; import java.net.MalformedURLException; import java.net.URL; import org.junit.Test; import com.ibm.wala.util.PlatformUtil; public class FileProviderTest { @Test public void testValidFile() throws MalformedURLException { // setup: URL url = new URL("file:///c:/my/File.jar"); String expected = "/c:/my/File.jar"; // exercise: String actual = (new FileProvider()).filePathFromURL(url); // verify: assertEquals(expected, actual); } @Test public void testURLWithInvalidURIChars() throws MalformedURLException { // setup: URL url = new URL("file:///[Eclipse]/File.jar"); String expected = PlatformUtil.onWindows() ? "/C:/[Eclipse]/File.jar" : "/[Eclipse]/File.jar"; // exercise: String actual = (new FileProvider()).filePathFromURL(url); // verify: assertEquals(expected, actual); } @Test public void testURLWithSpace() throws MalformedURLException { URL url = new URL("file:///With%20Space/File.jar"); String expected = PlatformUtil.onWindows() ? "/C:/With Space/File.jar" : "/With Space/File.jar"; // exercise: String actual = (new FileProvider()).filePathFromURL(url); // verify: assertEquals(expected, actual); } }