/* * Copyright (C) 2011 The Android Open Source Project * * 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.android.ddmuilib.logcat; import com.android.ddmlib.Log.LogLevel; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; public class LogCatFilterSettingsSerializerTest extends TestCase { /* test that decode(encode(f)) = f */ public void testSerializer() { LogCatFilter fs = new LogCatFilter( "TestFilter", //$NON-NLS-1$ "Tag'.*Regex", //$NON-NLS-1$ "regexForTextField..''", //$NON-NLS-1$ "123", //$NON-NLS-1$ "TestAppName.*", //$NON-NLS-1$ LogLevel.ERROR); LogCatFilterSettingsSerializer serializer = new LogCatFilterSettingsSerializer(); String s = serializer.encodeToPreferenceString(Arrays.asList(fs)); List<LogCatFilter> decodedFiltersList = serializer.decodeFromPreferenceString(s); assertEquals(1, decodedFiltersList.size()); LogCatFilter dfs = decodedFiltersList.get(0); assertEquals(fs.getName(), dfs.getName()); assertEquals(fs.getTag(), dfs.getTag()); assertEquals(fs.getText(), dfs.getText()); assertEquals(fs.getPid(), dfs.getPid()); assertEquals(fs.getAppName(), dfs.getAppName()); assertEquals(fs.getLogLevel(), dfs.getLogLevel()); } /* test that transient filters are not persisted */ public void testTransientFilters() { LogCatFilter fs = new LogCatFilter( "TestFilter", //$NON-NLS-1$ "Tag'.*Regex", //$NON-NLS-1$ "regexForTextField..''", //$NON-NLS-1$ "123", //$NON-NLS-1$ "TestAppName.*", //$NON-NLS-1$ LogLevel.ERROR); fs.setTransient(); LogCatFilterSettingsSerializer serializer = new LogCatFilterSettingsSerializer(); String s = serializer.encodeToPreferenceString(Arrays.asList(fs)); List<LogCatFilter> decodedFiltersList = serializer.decodeFromPreferenceString(s); assertEquals(0, decodedFiltersList.size()); } }