1 /* 2 * Copyright (C) 2011 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * 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 package com.android.ddmuilib.logcat; 17 18 import com.android.ddmlib.Log.LogLevel; 19 20 import java.util.Arrays; 21 import java.util.List; 22 23 import junit.framework.TestCase; 24 25 public class LogCatFilterSettingsSerializerTest extends TestCase { 26 /* test that decode(encode(f)) = f */ 27 public void testSerializer() { 28 LogCatFilter fs = new LogCatFilter( 29 "TestFilter", //$NON-NLS-1$ 30 "Tag'.*Regex", //$NON-NLS-1$ 31 "regexForTextField..''", //$NON-NLS-1$ 32 "123", //$NON-NLS-1$ 33 "TestAppName.*", //$NON-NLS-1$ 34 LogLevel.ERROR); 35 36 LogCatFilterSettingsSerializer serializer = new LogCatFilterSettingsSerializer(); 37 String s = serializer.encodeToPreferenceString(Arrays.asList(fs)); 38 List<LogCatFilter> decodedFiltersList = serializer.decodeFromPreferenceString(s); 39 40 assertEquals(1, decodedFiltersList.size()); 41 42 LogCatFilter dfs = decodedFiltersList.get(0); 43 assertEquals(fs.getName(), dfs.getName()); 44 assertEquals(fs.getTag(), dfs.getTag()); 45 assertEquals(fs.getText(), dfs.getText()); 46 assertEquals(fs.getPid(), dfs.getPid()); 47 assertEquals(fs.getAppName(), dfs.getAppName()); 48 assertEquals(fs.getLogLevel(), dfs.getLogLevel()); 49 } 50 51 /* test that transient filters are not persisted */ 52 public void testTransientFilters() { 53 LogCatFilter fs = new LogCatFilter( 54 "TestFilter", //$NON-NLS-1$ 55 "Tag'.*Regex", //$NON-NLS-1$ 56 "regexForTextField..''", //$NON-NLS-1$ 57 "123", //$NON-NLS-1$ 58 "TestAppName.*", //$NON-NLS-1$ 59 LogLevel.ERROR); 60 fs.setTransient(); 61 62 LogCatFilterSettingsSerializer serializer = new LogCatFilterSettingsSerializer(); 63 String s = serializer.encodeToPreferenceString(Arrays.asList(fs)); 64 List<LogCatFilter> decodedFiltersList = serializer.decodeFromPreferenceString(s); 65 66 assertEquals(0, decodedFiltersList.size()); 67 } 68 } 69