Skip to content

Commit a26058d

Browse files
committed
Add a kotlin method for recording an exception with custom keys
1 parent dda33f3 commit a26058d

File tree

2 files changed

+26
-7
lines changed

2 files changed

+26
-7
lines changed

firebase-crashlytics/src/androidTest/java/com/google/firebase/crashlytics/CrashlyticsTests.kt

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,21 +62,36 @@ class CrashlyticsTests {
6262
@Test
6363
fun keyValueBuilder() {
6464
val keyValueBuilder = KeyValueBuilder()
65-
keyValueBuilder.key("hello", "world")
66-
keyValueBuilder.key("hello2", 23)
67-
keyValueBuilder.key("hello3", 0.1)
65+
keyValueBuilder.key("string", "world")
66+
keyValueBuilder.key("int", Int.MAX_VALUE)
67+
keyValueBuilder.key("float", Float.MAX_VALUE)
68+
keyValueBuilder.key("boolean", true)
69+
keyValueBuilder.key("double", Double.MAX_VALUE)
70+
keyValueBuilder.key("long", Long.MAX_VALUE)
6871

6972
val result: Map<String, String> = keyValueBuilder.build().keysAndValues
7073

71-
assertThat(result).containsExactly("hello", "world", "hello2", "23", "hello3", "0.1")
74+
val expectedKeys =
75+
mapOf(
76+
"string" to "world",
77+
"int" to "${Int.MAX_VALUE}",
78+
"float" to "${Float.MAX_VALUE}",
79+
"boolean" to "${true}",
80+
"double" to "${Double.MAX_VALUE}",
81+
"long" to "${Long.MAX_VALUE}"
82+
)
83+
assertThat(result).isEqualTo(expectedKeys)
7284
}
7385

7486
@Test
7587
fun keyValueBuilder_withCrashlyticsInstance() {
7688
@Suppress("DEPRECATION") val keyValueBuilder = KeyValueBuilder(Firebase.crashlytics)
77-
keyValueBuilder.key("hello", "world")
78-
keyValueBuilder.key("hello2", 23)
79-
keyValueBuilder.key("hello3", 0.1)
89+
keyValueBuilder.key("string", "world")
90+
keyValueBuilder.key("int", Int.MAX_VALUE)
91+
keyValueBuilder.key("float", Float.MAX_VALUE)
92+
keyValueBuilder.key("boolean", true)
93+
keyValueBuilder.key("double", Double.MAX_VALUE)
94+
keyValueBuilder.key("long", Long.MAX_VALUE)
8095

8196
val result: Map<String, String> = keyValueBuilder.build().keysAndValues
8297

firebase-crashlytics/src/main/java/com/google/firebase/crashlytics/FirebaseCrashlytics.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ val Firebase.crashlytics: FirebaseCrashlytics
3030
fun FirebaseCrashlytics.setCustomKeys(init: KeyValueBuilder.() -> Unit) =
3131
setCustomKeys(KeyValueBuilder().apply(init).build())
3232

33+
/** Associates all key-value parameters with the reports */
34+
fun FirebaseCrashlytics.recordException(throwable: Throwable, init: KeyValueBuilder.() -> Unit) =
35+
recordException(throwable, KeyValueBuilder().apply(init).build())
36+
3337
/** @suppress */
3438
@Keep
3539
internal class FirebaseCrashlyticsKtxRegistrar : ComponentRegistrar {

0 commit comments

Comments
 (0)