| /* |
| * 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.server.rpc.impl; |
| |
| import com.google.gwt.user.client.rpc.SerializationException; |
| |
| import junit.framework.TestCase; |
| |
| import java.util.HashMap; |
| import java.util.Map; |
| |
| /** |
| * Tests for the {@link StandardSerializationPolicy} class. |
| */ |
| public class StandardSerializationPolicyTest extends TestCase { |
| |
| // This type will be included |
| class A { |
| // purposely empty |
| } |
| |
| // This type will not be included |
| class B { |
| // purposely empty |
| } |
| |
| // This type is serializable but not instantiable |
| class C { |
| // purposely empty |
| } |
| |
| /** |
| * Test method for |
| * {@link com.google.gwt.user.server.rpc.impl.StandardSerializationPolicy#shouldDeserializeFields(java.lang.Class)}. |
| */ |
| public void testShouldDerializeFields() { |
| StandardSerializationPolicy ssp = getStandardSerializationPolicy(); |
| assertTrue(ssp.shouldDeserializeFields(A.class)); |
| assertFalse(ssp.shouldDeserializeFields(B.class)); |
| assertTrue(ssp.shouldDeserializeFields(C.class)); |
| } |
| |
| /** |
| * Test method for |
| * {@link com.google.gwt.user.server.rpc.impl.StandardSerializationPolicy#shouldSerializeFields(java.lang.Class)}. |
| */ |
| public void testShouldSerializeFields() { |
| StandardSerializationPolicy ssp = getStandardSerializationPolicy(); |
| assertTrue(ssp.shouldSerializeFields(A.class)); |
| assertFalse(ssp.shouldSerializeFields(B.class)); |
| assertTrue(ssp.shouldSerializeFields(C.class)); |
| } |
| |
| /** |
| * Test method for |
| * {@link com.google.gwt.user.server.rpc.impl.StandardSerializationPolicy#validateDeserialize(java.lang.Class)}. |
| * |
| * @throws SerializationException |
| */ |
| public void testValidateDeserialize() throws SerializationException { |
| StandardSerializationPolicy ssp = getStandardSerializationPolicy(); |
| |
| ssp.validateDeserialize(A.class); |
| |
| try { |
| ssp.validateDeserialize(B.class); |
| fail("Expected SerializationException"); |
| } catch (SerializationException e) { |
| // should get here |
| } |
| |
| try { |
| ssp.validateDeserialize(C.class); |
| fail("Expected SerializationException"); |
| } catch (SerializationException e) { |
| // should get here |
| } |
| } |
| |
| /** |
| * Test method for |
| * {@link com.google.gwt.user.server.rpc.impl.StandardSerializationPolicy#validateSerialize(java.lang.Class)}. |
| * |
| * @throws SerializationException |
| */ |
| public void testValidateSerialize() throws SerializationException { |
| StandardSerializationPolicy ssp = getStandardSerializationPolicy(); |
| |
| ssp.validateSerialize(A.class); |
| |
| try { |
| ssp.validateSerialize(B.class); |
| fail("Expected SerializationException"); |
| } catch (SerializationException e) { |
| // should get here |
| } |
| |
| try { |
| ssp.validateSerialize(C.class); |
| fail("Expected SerializationException"); |
| } catch (SerializationException e) { |
| // should get here |
| } |
| } |
| |
| StandardSerializationPolicy getStandardSerializationPolicy() { |
| Map map = new HashMap(); |
| map.put(A.class, Boolean.TRUE); |
| map.put(C.class, Boolean.FALSE); |
| |
| Map typeIds = new HashMap(); |
| typeIds.put(A.class, "A"); |
| typeIds.put(B.class, "B"); |
| |
| return new StandardSerializationPolicy(map, map, typeIds); |
| } |
| } |