diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2018-11-05 16:59:09 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2018-11-05 16:59:09 +0000 |
commit | a47ab8b4250817c2954033af5376f1751d206a4c (patch) | |
tree | bc6efc5f318960193d24d810e482fb8aab6f6165 /robolectric_tests | |
parent | 0ef4c4fcb3f22b01cf70cae7ce7eac3e461024e9 (diff) | |
parent | 499a0c932e7f8d3fe8236f9d0e073e693a3a6476 (diff) | |
download | packages_apps_Trebuchet-a47ab8b4250817c2954033af5376f1751d206a4c.tar.gz packages_apps_Trebuchet-a47ab8b4250817c2954033af5376f1751d206a4c.tar.bz2 packages_apps_Trebuchet-a47ab8b4250817c2954033af5376f1751d206a4c.zip |
Merge "Make FileLogTest use robolectric" into ub-launcher3-master
Diffstat (limited to 'robolectric_tests')
-rw-r--r-- | robolectric_tests/src/com/android/launcher3/logging/FileLogTest.java | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/robolectric_tests/src/com/android/launcher3/logging/FileLogTest.java b/robolectric_tests/src/com/android/launcher3/logging/FileLogTest.java new file mode 100644 index 000000000..096db57f9 --- /dev/null +++ b/robolectric_tests/src/com/android/launcher3/logging/FileLogTest.java @@ -0,0 +1,91 @@ +package com.android.launcher3.logging; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RobolectricTestRunner; +import org.robolectric.RuntimeEnvironment; + +import java.io.File; +import java.io.PrintWriter; +import java.io.StringWriter; +import java.util.Calendar; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * Tests for {@link FileLog} + */ +@RunWith(RobolectricTestRunner.class) +public class FileLogTest { + + private File mTempDir; + + @Before + public void setUp() throws Exception { + int count = 0; + do { + mTempDir = new File(RuntimeEnvironment.application.getCacheDir(), + "log-test-" + (count++)); + } while (!mTempDir.mkdir()); + + FileLog.setDir(mTempDir); + } + + @After + public void tearDown() throws Exception { + // Clear existing logs + new File(mTempDir, "log-0").delete(); + new File(mTempDir, "log-1").delete(); + mTempDir.delete(); + } + + @Test + public void testPrintLog() throws Exception { + if (!FileLog.ENABLED) { + return; + } + FileLog.print("Testing", "hoolalala"); + StringWriter writer = new StringWriter(); + FileLog.flushAll(new PrintWriter(writer)); + assertTrue(writer.toString().contains("hoolalala")); + + FileLog.print("Testing", "abracadabra", new Exception("cat! cat!")); + writer = new StringWriter(); + FileLog.flushAll(new PrintWriter(writer)); + assertTrue(writer.toString().contains("abracadabra")); + // Exception is also printed + assertTrue(writer.toString().contains("cat! cat!")); + + // Old logs still present after flush + assertTrue(writer.toString().contains("hoolalala")); + } + + @Test + public void testOldFileTruncated() throws Exception { + if (!FileLog.ENABLED) { + return; + } + FileLog.print("Testing", "hoolalala"); + StringWriter writer = new StringWriter(); + FileLog.flushAll(new PrintWriter(writer)); + assertTrue(writer.toString().contains("hoolalala")); + + Calendar threeDaysAgo = Calendar.getInstance(); + threeDaysAgo.add(Calendar.HOUR, -72); + new File(mTempDir, "log-0").setLastModified(threeDaysAgo.getTimeInMillis()); + new File(mTempDir, "log-1").setLastModified(threeDaysAgo.getTimeInMillis()); + + FileLog.print("Testing", "abracadabra", new Exception("cat! cat!")); + writer = new StringWriter(); + FileLog.flushAll(new PrintWriter(writer)); + assertTrue(writer.toString().contains("abracadabra")); + // Exception is also printed + assertTrue(writer.toString().contains("cat! cat!")); + + // Old logs have been truncated + assertFalse(writer.toString().contains("hoolalala")); + } +} |