From 1be49fdd8a795a0636734f5a845cbe74c937f099 Mon Sep 17 00:00:00 2001
From: Robert Scott <code@humanleg.org.uk>
Date: Sun, 7 Jan 2018 22:01:57 +0000
Subject: [PATCH v1 1/4] TestUtils: add setPrivateStaticField method
---
test/unit/org/openstreetmap/josm/TestUtils.java | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/test/unit/org/openstreetmap/josm/TestUtils.java b/test/unit/org/openstreetmap/josm/TestUtils.java
index 050d7de2b..28282cf49 100644
a
|
b
|
public final class TestUtils {
|
187 | 187 | } |
188 | 188 | |
189 | 189 | /** |
| 190 | * Sets a private static field value. |
| 191 | * @param cls object class |
| 192 | * @param fieldName private field name |
| 193 | * @param value replacement value |
| 194 | * @throws ReflectiveOperationException if a reflection operation error occurs |
| 195 | */ |
| 196 | public static void setPrivateStaticField(Class<?> cls, String fieldName, final Object value) throws ReflectiveOperationException { |
| 197 | Field f = cls.getDeclaredField(fieldName); |
| 198 | AccessController.doPrivileged((PrivilegedAction<Void>) () -> { |
| 199 | f.setAccessible(true); |
| 200 | return null; |
| 201 | }); |
| 202 | f.set(null, value); |
| 203 | } |
| 204 | |
| 205 | /** |
190 | 206 | * Returns an instance of {@link AbstractProgressMonitor} which keeps track of the monitor state, |
191 | 207 | * but does not show the progress. |
192 | 208 | * @return a progress monitor |