From ed69d96a439b7995ee0e74733757083a79d95024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Calvi=C3=B1o=20S=C3=A1nchez?= Date: Thu, 5 Dec 2024 14:13:36 +0100 Subject: [PATCH] Add dummy Log implementation to be used in tests MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Log methods are static, so they can not be mocked using Mockito. Although it might be possible to use PowerMockito a dummy implementation was added instead, as Log uses are widespread and it is not something worth mocking anyway. Signed-off-by: Daniel Calviño Sánchez --- app/src/test/java/android/util/Log.java | 51 +++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 app/src/test/java/android/util/Log.java diff --git a/app/src/test/java/android/util/Log.java b/app/src/test/java/android/util/Log.java new file mode 100644 index 000000000..7090f73cd --- /dev/null +++ b/app/src/test/java/android/util/Log.java @@ -0,0 +1,51 @@ +/* + * Nextcloud Talk - Android Client + * + * SPDX-FileCopyrightText: 2024 Daniel Calviño Sánchez + * SPDX-License-Identifier: GPL-3.0-or-later + */ +package android.util; + +/** + * Dummy implementation of android.util.Log to be used in unit tests. + *

+ * The Android Gradle plugin provides a library with the APIs of the Android framework that throws an exception if any + * of them are called. This class is loaded before that library and therefore becomes the implementation used during the + * tests, simply printing the messages to the system console. + */ +public class Log { + + public static int d(String tag, String msg) { + System.out.println("DEBUG: " + tag + ": " + msg); + + return 1; + } + + public static int e(String tag, String msg) { + System.out.println("ERROR: " + tag + ": " + msg); + + return 1; + } + + public static int i(String tag, String msg) { + System.out.println("INFO: " + tag + ": " + msg); + + return 1; + } + + public static boolean isLoggable(String tag, int level) { + return true; + } + + public static int v(String tag, String msg) { + System.out.println("VERBOSE: " + tag + ": " + msg); + + return 1; + } + + public static int w(String tag, String msg) { + System.out.println("WARN: " + tag + ": " + msg); + + return 1; + } +}