Package com.google.enterprise.connector.util.database

Source Code of com.google.enterprise.connector.util.database.DatabasePropertyResourceBundleTest

// Copyright 2010 Google Inc.
//
// 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 com.google.enterprise.connector.util.database;

import junit.framework.TestCase;

import net.jmatrix.eproperties.EProperties;

import java.io.ByteArrayInputStream;
import java.util.Properties;

/**
* Tests for DatabasePropertyResourceBundle.
*/
public class DatabasePropertyResourceBundleTest extends TestCase {

  public void testEPropertyConstructor() {
    EProperties props = new EProperties();
    props.setProperty("test.property", "test");

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    assertEquals("test", bundle.getString("test.property"));
  }

  public void testPropertyConstructor() {
    Properties props = new Properties();
    props.setProperty("test.property", "test");

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    assertEquals("test", bundle.getString("test.property"));
  }

  public void testGetString() {
    EProperties props = new EProperties();
    props.setProperty("test.property", "test");

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    assertEquals("test", bundle.getString("test.property"));

    assertNull(bundle.getString("bogus"));
  }

  public void testGetStringAsArray() {
    EProperties props = new EProperties();
    props.setProperty("test.property", "test");

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    String[] values =  bundle.getStringArray("test.property");
    assertEquals(1, values.length);
    assertEquals("test", values[0]);
  }

  public void testGetStringArray() throws Exception {
    String propString = "test.property=( \"Hello\" , \"World\" )\n";
    ByteArrayInputStream bais =
        new ByteArrayInputStream(propString.getBytes("ISO-8859-1"));

    EProperties props = new EProperties();
    props.load(bais);

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    String[] values =  bundle.getStringArray("test.property");
    assertEquals(2, values.length);
    assertEquals("Hello", values[0]);
    assertEquals("World", values[1]);

    assertNull(bundle.getStringArray("bogus"));
  }

  public void testGetStringArrayWithEmbeddedCommas() throws Exception {
    String propString =
        "test.property=( \"Hello, Bonjour, Buenos Dias\" , \"World\" )\n";
    ByteArrayInputStream bais =
        new ByteArrayInputStream(propString.getBytes("ISO-8859-1"));

    EProperties props = new EProperties();
    props.load(bais);

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    String[] values =  bundle.getStringArray("test.property");
    assertEquals(2, values.length);
    assertEquals("Hello, Bonjour, Buenos Dias", values[0]);
    assertEquals("World", values[1]);
  }

  public void testGetStringArrayWithEmbeddedParens() throws Exception {
    String propString = "test.property=( \"Hello (I Love You)\" ,"
      + "\"Won't you tell me your name?\" )\n";
    ByteArrayInputStream bais =
        new ByteArrayInputStream(propString.getBytes("ISO-8859-1"));

    EProperties props = new EProperties();
    props.load(bais);

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    String[] values =  bundle.getStringArray("test.property");
    assertEquals(2, values.length);
    assertEquals("Hello (I Love You)", values[0]);
    assertEquals("Won't you tell me your name?", values[1]);
  }

  public void testSubstitution() {
    EProperties props = new EProperties();
    props.setProperty("substitution.property", "Hello");
    props.setProperty("test.property", "${substitution.property} World");

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    assertEquals("Hello World", bundle.getString("test.property"));
  }

  public void testGetStringArrayWithSubstitutionsInQuotes() throws Exception {
    String propString = "hello=Hello\n" + "world=World\n"
        + "helloworld=( \"${hello}\", \"${world}\" )\n";
    ByteArrayInputStream bais =
        new ByteArrayInputStream(propString.getBytes("ISO-8859-1"));

    EProperties props = new EProperties();
    props.load(bais);

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    String[] values =  bundle.getStringArray("helloworld");
    assertEquals(2, values.length);
    assertEquals("Hello", values[0]);
    assertEquals("World", values[1]);
  }

  public void testSetGetParent() {
    EProperties props = new EProperties();
    props.setProperty("test.property", "test");

    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);
    assertEquals("test", bundle.getString("test.property"));
    assertNull(bundle.getString("parent.property"));

    EProperties parentProps = new EProperties();
    parentProps.setProperty("parent.property", "parent");
    DatabasePropertyResourceBundle parentBundle =
        new DatabasePropertyResourceBundle(parentProps);

    bundle.setParent(parentBundle);

    assertSame(parentBundle, bundle.getParent());
    assertEquals("parent", bundle.getString("parent.property"));
  }

  public void testParentSubstitution() {
    EProperties props = new EProperties();
    props.setProperty("test.property", "${substitution.property} World");
    DatabasePropertyResourceBundle bundle =
        new DatabasePropertyResourceBundle(props);

    EProperties parentProps = new EProperties();
    props.setProperty("substitution.property", "Hello");
    DatabasePropertyResourceBundle parentBundle =
        new DatabasePropertyResourceBundle(parentProps);

    bundle.setParent(parentBundle);
    assertEquals("Hello World", bundle.getString("test.property"));
  }
}
TOP

Related Classes of com.google.enterprise.connector.util.database.DatabasePropertyResourceBundleTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.