/* * Copyright 2007 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.gwt.user.client.ui; import com.google.gwt.junit.client.GWTTestCase; import java.util.Collection; import java.util.Map; import java.util.Set; /** * Tests <code>FastStringMap</code>Right now, no tests are directly run here, * because the tests are run in mapTest.FastStringMapTest. This is because * otherwise the inclusion of the map testing code causes the system to generate * many compiler errors during unit testing, thereby making real errors harder * to spot. */ public class FastStringMapTest extends GWTTestCase { /** * These is an example of two correctly formatted java API specification. */ public static Map<String, String> makeEmptyMap() { return new FastStringMap<String>(); } public String getModuleName() { return "com.google.gwt.user.User"; } public void test() { // Only FastStringMap specific tests should go here. Look in // com.google.gwt.user.maptests.FastStringMapTest for all apache Map tests. } /* * Test for collisions between stored strings and JavaScript Object * properties. */ public void testJSOCollision() { Map<String, String> map = makeEmptyMap(); assertEquals(0, map.size()); map.put("k1", "v1"); assertEquals(1, map.size()); assertEquals("v1", map.get("k1")); map.put("toString", "toStringVal"); assertEquals(2, map.size()); assertEquals("toStringVal", map.get("toString")); map.put("watch", "watchVal"); Set<String> keys = map.keySet(); assertEquals(3, keys.size()); map.put("__proto__", "__proto__Val"); assertEquals(4 ,map.size()); assertEquals("__proto__Val", map.get("__proto__")); map.put("k1", "v1b"); keys = map.keySet(); assertEquals(4, keys.size()); Collection<String> values = map.values(); assertEquals(4, values.size()); map.put("k2", "v1b"); values = map.values(); assertEquals(5, values.size()); map.put("","empty"); assertEquals("empty", map.get("")); map.remove("k2"); assertEquals(5, values.size()); } }