⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourcetest.java

📁 Wicket一个开发Java Web应用程序框架。它使得开发web应用程序变得容易而轻松。 Wicket利用一个POJO data beans组件使得它可以与任何持久层技术相结合。
💻 JAVA
字号:
/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements.  See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License.  You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.wicket.util.resource;import java.io.File;import java.net.URI;import java.net.URISyntaxException;import java.net.URL;import java.util.Locale;import junit.framework.TestCase;import org.apache.wicket.util.file.Folder;import org.apache.wicket.util.file.Path;import org.apache.wicket.util.resource.locator.IResourceStreamLocator;import org.apache.wicket.util.resource.locator.ResourceStreamLocator;import org.apache.wicket.util.string.Strings;/** * Resources test. *  * @author Juergen Donnerstag */public class ResourceTest extends TestCase{	private final Locale locale_de = new Locale("de");	private final Locale locale_de_DE = new Locale("de", "DE");	private final Locale locale_de_DE_POSIX = new Locale("de", "DE", "POSIX");	private final Locale locale_de_POSIX = new Locale("de", "", "POSIX");	private final Locale locale_de_CH = new Locale("de", "CH");	private final Locale locale_en = new Locale("en");	private final Locale locale_en_US = new Locale("en", "US");	private final Locale locale_en_US_WIN = new Locale("en", "US", "WIN");	private final Locale locale_en_WIN = new Locale("en", "", "WIN");	private final Locale locale_fr = new Locale("fr");	private final Locale locale_fr_FR = new Locale("fr", "FR");	private final Locale locale_fr_FR_WIN = new Locale("fr", "FR", "WIN");	private final Locale locale_fr_WIN = new Locale("fr", "", "WIN");	/**	 * 	 * @param sourcePath	 * @param style	 * @param locale	 * @param extension	 */	public void createAndTestResource(Path sourcePath, String style, Locale locale, String extension)	{		IResourceStreamLocator locator = new ResourceStreamLocator(sourcePath);		IResourceStream resource = locator.locate(this.getClass(), this.getClass().getName()				.replace('.', '/'), style, locale, "txt");		compareFilename(resource, extension);	}	/**	 * 	 * @param sourcePath	 */	public void executeMultiple(Path sourcePath)	{		createAndTestResource(sourcePath, null, null, "");		createAndTestResource(sourcePath, "style", null, "_style");		createAndTestResource(sourcePath, null, locale_de, "_de");		createAndTestResource(sourcePath, null, locale_de_DE, "_de_DE");		createAndTestResource(sourcePath, null, locale_de_DE_POSIX, "_de_DE_POSIX");		createAndTestResource(sourcePath, null, locale_de_POSIX, "_de__POSIX");		createAndTestResource(sourcePath, null, locale_de_CH, "_de");		createAndTestResource(sourcePath, "style", locale_de, "_style_de");		createAndTestResource(sourcePath, "style", locale_de_DE, "_style_de_DE");		createAndTestResource(sourcePath, "style", locale_de_DE_POSIX, "_style_de_DE_POSIX");		createAndTestResource(sourcePath, "style", locale_de_POSIX, "_style_de__POSIX");		createAndTestResource(sourcePath, "style", locale_de_CH, "_style_de");		createAndTestResource(sourcePath, null, locale_en, "");		createAndTestResource(sourcePath, null, locale_en_US, "");		createAndTestResource(sourcePath, null, locale_en_US_WIN, "");		createAndTestResource(sourcePath, null, locale_en_WIN, "");		createAndTestResource(sourcePath, "style", locale_en_WIN, "_style");		createAndTestResource(sourcePath, null, locale_fr, "_fr");		createAndTestResource(sourcePath, null, locale_fr_FR, "_fr");		createAndTestResource(sourcePath, null, locale_fr_FR_WIN, "_fr");		createAndTestResource(sourcePath, null, locale_fr_WIN, "_fr");		createAndTestResource(sourcePath, "style", locale_fr_WIN, "_style");	}	/**	 * Test locating a resource.	 */	public void testLocate()	{		// Execute without source path		executeMultiple(new Path());		// Determine source path		IResourceStreamLocator locator = new ResourceStreamLocator();		IResourceStream resource = locator.locate(getClass(), this.getClass().getName().replace(				'.', '/'), null, null, "txt");		String path = getPath(resource);		path = Strings.beforeLastPathComponent(path, '/') + "/sourcePath";		// and execute		executeMultiple(new Path(new Folder(path)));	}	/**	 * Compares the given name with the resource.	 * 	 * @param resource	 * @param name	 */	private void compareFilename(IResourceStream resource, String name)	{		assertNotNull("Did not find resource: " + name, resource);		String filename = Strings.replaceAll(this.getClass().getName(), ".", "/").toString();		filename += name + ".txt";		String resourcePath = getPath(resource);		if (!resourcePath.endsWith(filename))		{			filename = Strings.afterLast(filename, '/');			resourcePath = Strings.afterLast(resourcePath, '/');			assertEquals("Did not find resource", filename, resourcePath);		}	}	/**	 * Gets the path of the resource as a string.	 * 	 * @param resource	 *            the resource	 * @return the path of the resource as a string	 */	private String getPath(IResourceStream resource)	{		try		{			URL url = ((UrlResourceStream)resource).getURL();			CharSequence path = new File(new URI(url.toString())).getPath();			path = Strings.replaceAll(path, "\\", "/");			return path.toString();		}		catch (URISyntaxException e)		{			throw new RuntimeException(e);		}	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -