mirror of
https://github.com/fankes/moshi.git
synced 2025-10-20 00:19:21 +08:00
Improve message and match in tests
This commit is contained in:
@@ -56,8 +56,12 @@ final class ClassJsonAdapter<T> extends JsonAdapter<T> {
|
|||||||
if (rawType.isInterface() || rawType.isEnum()) return null;
|
if (rawType.isInterface() || rawType.isEnum()) return null;
|
||||||
if (!annotations.isEmpty()) return null;
|
if (!annotations.isEmpty()) return null;
|
||||||
if (Util.isPlatformType(rawType)) {
|
if (Util.isPlatformType(rawType)) {
|
||||||
|
String messagePrefix = "Platform " + rawType;
|
||||||
|
if (type instanceof ParameterizedType) {
|
||||||
|
messagePrefix += " in " + type;
|
||||||
|
}
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
"Platform " + rawType + " requires explicit JsonAdapter to be registered");
|
messagePrefix + " requires explicit JsonAdapter to be registered");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rawType.isAnonymousClass()) {
|
if (rawType.isAnonymousClass()) {
|
||||||
|
@@ -973,14 +973,14 @@ public final class MoshiTest {
|
|||||||
fail();
|
fail();
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
assertThat(e).hasMessage(
|
assertThat(e).hasMessage(
|
||||||
"Platform java.util.ArrayList<java.lang.String> requires explicit "
|
"Platform class java.util.ArrayList in java.util.ArrayList<java.lang.String> requires explicit "
|
||||||
+ "JsonAdapter to be registered"
|
+ "JsonAdapter to be registered"
|
||||||
+ "\nfor java.util.ArrayList<java.lang.String> strings"
|
+ "\nfor java.util.ArrayList<java.lang.String> strings"
|
||||||
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType"
|
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType"
|
||||||
+ "\nfor java.util.Map<java.lang.String, "
|
+ "\nfor java.util.Map<java.lang.String, "
|
||||||
+ "com.squareup.moshi.MoshiTest$HasPlatformType>");
|
+ "com.squareup.moshi.MoshiTest$HasPlatformType>");
|
||||||
assertThat(e).hasCauseExactlyInstanceOf(IllegalArgumentException.class);
|
assertThat(e).hasCauseExactlyInstanceOf(IllegalArgumentException.class);
|
||||||
assertThat(e.getCause()).hasMessage("Platform java.util.ArrayList<java.lang.String> "
|
assertThat(e.getCause()).hasMessage("Platform class java.util.ArrayList in java.util.ArrayList<java.lang.String> "
|
||||||
+ "requires explicit JsonAdapter to be registered");
|
+ "requires explicit JsonAdapter to be registered");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -992,13 +992,13 @@ public final class MoshiTest {
|
|||||||
fail();
|
fail();
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
assertThat(e).hasMessage(
|
assertThat(e).hasMessage(
|
||||||
"Platform java.util.ArrayList<java.lang.String> requires explicit "
|
"Platform class java.util.ArrayList in java.util.ArrayList<java.lang.String> requires explicit "
|
||||||
+ "JsonAdapter to be registered"
|
+ "JsonAdapter to be registered"
|
||||||
+ "\nfor java.util.ArrayList<java.lang.String> strings"
|
+ "\nfor java.util.ArrayList<java.lang.String> strings"
|
||||||
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType hasPlatformType"
|
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType hasPlatformType"
|
||||||
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType$Wrapper");
|
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType$Wrapper");
|
||||||
assertThat(e).hasCauseExactlyInstanceOf(IllegalArgumentException.class);
|
assertThat(e).hasCauseExactlyInstanceOf(IllegalArgumentException.class);
|
||||||
assertThat(e.getCause()).hasMessage("Platform java.util.ArrayList<java.lang.String> "
|
assertThat(e.getCause()).hasMessage("Platform class java.util.ArrayList in java.util.ArrayList<java.lang.String> "
|
||||||
+ "requires explicit JsonAdapter to be registered");
|
+ "requires explicit JsonAdapter to be registered");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1010,14 +1010,14 @@ public final class MoshiTest {
|
|||||||
fail();
|
fail();
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
assertThat(e).hasMessage(
|
assertThat(e).hasMessage(
|
||||||
"Platform java.util.ArrayList<java.lang.String> requires explicit "
|
"Platform class java.util.ArrayList in java.util.ArrayList<java.lang.String> requires explicit "
|
||||||
+ "JsonAdapter to be registered"
|
+ "JsonAdapter to be registered"
|
||||||
+ "\nfor java.util.ArrayList<java.lang.String> strings"
|
+ "\nfor java.util.ArrayList<java.lang.String> strings"
|
||||||
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType"
|
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType"
|
||||||
+ "\nfor java.util.List<com.squareup.moshi.MoshiTest$HasPlatformType> platformTypes"
|
+ "\nfor java.util.List<com.squareup.moshi.MoshiTest$HasPlatformType> platformTypes"
|
||||||
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType$ListWrapper");
|
+ "\nfor class com.squareup.moshi.MoshiTest$HasPlatformType$ListWrapper");
|
||||||
assertThat(e).hasCauseExactlyInstanceOf(IllegalArgumentException.class);
|
assertThat(e).hasCauseExactlyInstanceOf(IllegalArgumentException.class);
|
||||||
assertThat(e.getCause()).hasMessage("Platform java.util.ArrayList<java.lang.String> "
|
assertThat(e.getCause()).hasMessage("Platform class java.util.ArrayList in java.util.ArrayList<java.lang.String> "
|
||||||
+ "requires explicit JsonAdapter to be registered");
|
+ "requires explicit JsonAdapter to be registered");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user