|
What this is
Other links
The source code// $Header: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/resources/PackageTest.java,v 1.8.2.1 2004/05/20 15:23:12 mstover1 Exp $ /* * Copyright 2003-2004 The Apache Software Foundation. * * Licensed 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.jmeter.resources; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.List; import java.util.MissingResourceException; import java.util.PropertyResourceBundle; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; /* * Created on Nov 29, 2003 * * Test the composition of the properties files * - properties files exist (default, DE, NO, JA) * - properties files don't have duplicate keys * - non-default properties files don't have any extra keys. * * N.B. If there is a default resource, ResourceBundle does not detect missing resources, * i.e. the presence of messages.properties means that the ResourceBundle for Locale "XYZ" * would still be found, and have the same keys as the default. This makes it not very * useful for checking properties files. * * This is why the tests use Class.getResourceAsStream() etc * * The tests don't quite follow the normal JUnit test strategy of one test * per possible failure. This was done in order to make it easier to report * exactly why the tests failed. */ /** * @version $Revision: 1.8.2.1 $ $Date: 2004/05/20 15:23:12 $ */ public class PackageTest extends TestCase { //private static List defaultList = null; private static PropertyResourceBundle defaultPRB; // Read resource into ResourceBundle and store in List private PropertyResourceBundle getRAS(String res) throws Exception{ InputStream ras = this.getClass().getResourceAsStream(res); return new PropertyResourceBundle(ras); } // Read resource file saving the keys private void readRF(String res, List l) throws Exception { InputStream ras = this.getClass().getResourceAsStream(res); BufferedReader fileReader = new BufferedReader(new InputStreamReader(ras)); String s; while((s=fileReader.readLine())!=null) { if (s.length() > 0 && !s.startsWith("#")) { l.add(s.substring(0,s.indexOf('='))); } } } // Helper method to construct resource name private static String getResName(String lang){ if (lang.length()==0){ return "messages.properties"; } else { return "messages_"+lang.toLowerCase()+".properties"; } } /* * perform the checks on the resources * */ private void check(String resname) throws Exception { ArrayList alf = new ArrayList(500);// holds keys from file String res = getResName(resname); readRF(res,alf); Collections.sort(alf); // Look for duplicate keys in the file String last=""; for (int i=0;i |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.