Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * 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.shindig.gadgets.variables;
 
 
 
 
 public class SubstitutionsTest extends TestCase {
   private Substitutions subst;
 
   @Override
   public void setUp() throws Exception {
     super.setUp();
      = new Substitutions();
   }
 
   public void testMessages() throws Exception {
     String msg = "Hello, __MSG_world__!";
     .addSubstitution(."world""planet");
     assertEquals("Hello, planet!".substituteString(msg));
   }
 
   public void testBidi() throws Exception {
     String msg = "Hello, __BIDI_DIR__-world!";
     .addSubstitution(."DIR""rtl");
     assertEquals("Hello, rtl-world!".substituteString(msg));
   }
 
   public void testUserPref() throws Exception {
     String msg = "__UP_hello__, world!";
     .addSubstitution(."hello""Greetings");
     assertEquals("Greetings, world!".substituteString(msg));
   }
 
   public void testCorrectOrder() throws Exception {
     String msg = "__UP_hello__, __MSG_world__!";
     .addSubstitution(."world",
         "planet __BIDI_DIR__-__UP_planet__");
     .addSubstitution(."DIR""rtl");
     .addSubstitution(."hello""Greetings");
     .addSubstitution(."planet""Earth");
     assertEquals("Greetings, planet rtl-Earth!".substituteString(msg));
   }
 
   public void testIncorrectOrder() throws Exception {
     String msg = "__UP_hello__, __MSG_world__";
     .addSubstitution(."world",
         "planet __MSG_earth____UP_punc__");
     .addSubstitution(."earth""Earth");
     .addSubstitution(."punc""???");
     .addSubstitution(."hello",
         "Greetings __MSG_foo____UP_bar__");
     .addSubstitution(."foo""FOO!!!");
     .addSubstitution(."bar""BAR!!!");
     assertEquals("Greetings __MSG_foo____UP_bar__, planet __MSG_earth__???",
         .substituteString(msg));
   }
 
   public void testDanglingUnderScoresAreIgnored() throws Exception {
     String msg = "__MSG_hello__, var_msg + '__' + 'world __MSG_world__";
     .addSubstitution(."hello""Hello");
     .addSubstitution(."world""World");
 
     assertEquals("Hello, var_msg + '__' + 'world World".substituteString(msg));
   }
 
   public void testComplexUnderscores() throws Exception {
     String msg = "__MSG_hello____________ten____________MSG_world______";
     .addSubstitution(."hello""Hello");
     .addSubstitution(."world""World");
 
     assertEquals("Hello__________ten__________World____".substituteString(msg));
   }
 
   public void testMessageId() throws Exception {
     String msg = "Hello, __MODULE_ID__!";
     .addSubstitution(."ID""123");
     assertEquals("Hello, 123!".substituteString(msg));
   }
 
  public void testOddNumberOfPrecedingUnderscores() throws Exception {
    String msg = "<div id='div___MODULE_ID__'/>";
    .addSubstitution(."ID""123");
    assertEquals("<div id='div_123'/>".substituteString(msg));
  }
    String msg = "<div id='div___HI_THERE__MODULE_ID___'/>";
    .addSubstitution(."ID""123");
    assertEquals("<div id='div___HI_THERE123_'/>".substituteString(msg));
  }
  public void loadTest() throws Exception {
    String msg
        = "Random text and __UP_hello__, amongst other words __MSG_world__ stuff __weeeeee";
        "planet __MSG_earth____UP_punc__");
    .addSubstitution(."earth""Earth");
    .addSubstitution(."punc""???");
        "Greetings __MSG_foo____UP_bar__");
    .addSubstitution(."foo""FOO!!!");
    .addSubstitution(."bar""BAR!!!");
    // Most real-world content contains very few substitutions.
    msg += StringUtils.repeat("foo ", 1000);
    String message = StringUtils.repeat(msg, 1000);
    long now = System.nanoTime();
    int cnt = 1000;
    for (int i = 0; i < cnt; ++i) {
      .substituteString(message);
    }
    long duration = System.nanoTime() - now;
    ..println("Duration: " + duration + " avg: " + duration / cnt);
  }
New to GrepCode? Check out our FAQ X