Home | History | Annotate | Download | only in prefs
      1 /* Licensed to the Apache Software Foundation (ASF) under one or more
      2  * contributor license agreements.  See the NOTICE file distributed with
      3  * this work for additional information regarding copyright ownership.
      4  * The ASF licenses this file to You under the Apache License, Version 2.0
      5  * (the "License"); you may not use this file except in compliance with
      6  * the License.  You may obtain a copy of the License at
      7  *
      8  *     http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package org.apache.harmony.tests.java.util.prefs;
     18 
     19 import java.io.NotSerializableException;
     20 import java.util.prefs.PreferenceChangeEvent;
     21 import java.util.prefs.Preferences;
     22 import junit.framework.TestCase;
     23 import org.apache.harmony.testframework.serialization.SerializationTest;
     24 
     25 /**
     26  *
     27  */
     28 public class PreferenceChangeEventTest extends TestCase {
     29 
     30     PreferenceChangeEvent event;
     31 
     32     public void testPreferenceChangeEventException() {
     33         try {
     34             event = new PreferenceChangeEvent(null, "key", "value");
     35             fail();
     36         } catch (IllegalArgumentException e) {
     37         }
     38     }
     39 
     40     public void testConstructorNullValue() {
     41         event = new PreferenceChangeEvent(Preferences.userRoot(), "key", null);
     42         assertEquals("key", event.getKey());
     43         assertNull(event.getNewValue());
     44         assertSame(Preferences.userRoot(), event.getNode());
     45         assertSame(Preferences.userRoot(), event.getSource());
     46 
     47         event = new PreferenceChangeEvent(Preferences.userRoot(), "", null);
     48         assertEquals("", event.getKey());
     49         assertNull(event.getNewValue());
     50         assertSame(Preferences.userRoot(), event.getNode());
     51         assertSame(Preferences.userRoot(), event.getSource());
     52 
     53         event = new PreferenceChangeEvent(Preferences.userRoot(), null, "value");
     54         assertNull(event.getKey());
     55         assertEquals("value", event.getNewValue());
     56         assertSame(Preferences.userRoot(), event.getNode());
     57         assertSame(Preferences.userRoot(), event.getSource());
     58 
     59         event = new PreferenceChangeEvent(Preferences.userRoot(), null, "");
     60         assertNull(event.getKey());
     61         assertEquals("", event.getNewValue());
     62         assertSame(Preferences.userRoot(), event.getNode());
     63         assertSame(Preferences.userRoot(), event.getSource());
     64     }
     65 
     66     public void testConstructor() {
     67         event = new PreferenceChangeEvent(Preferences.userRoot(), "key",
     68                 "value");
     69         assertEquals("key", event.getKey());
     70         assertEquals("value", event.getNewValue());
     71         assertSame(Preferences.userRoot(), event.getNode());
     72         assertSame(Preferences.userRoot(), event.getSource());
     73     }
     74 
     75     public void testSerialization() throws Exception {
     76         event = new PreferenceChangeEvent(Preferences.userRoot(), "key",
     77                 "value");
     78         try {
     79             SerializationTest.copySerializable(event);
     80             fail("No expected NotSerializableException");
     81         } catch (NotSerializableException e) {
     82         }
     83     }
     84 }
     85