DataDog / dd-sdk-android

Datadog SDK for Android (Compatible with Kotlin and Java)
Apache License 2.0
141 stars 57 forks source link

Improve the TextViewMapper unit tests #2034

Closed xgouchet closed 2 months ago

xgouchet commented 2 months ago

What does this PR do?

Split the logic of the TextViewMapper in two classes: TextViewMapper and EditTextViewMapper, to simplify some of the logic and make testing easier.

codecov-commenter commented 2 months ago

Codecov Report

Attention: Patch coverage is 96.51163% with 3 lines in your changes are missing coverage. Please review.

Project coverage is 82.93%. Comparing base (34b4ff3) to head (a814f9f).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## develop #2034 +/- ## =========================================== - Coverage 83.14% 82.93% -0.22% =========================================== Files 495 491 -4 Lines 17721 17700 -21 Branches 2689 2683 -6 =========================================== - Hits 14734 14678 -56 - Misses 2242 2285 +43 + Partials 745 737 -8 ``` | [Files](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | Coverage Δ | | |---|---|---| | [.../sessionreplay/internal/DefaultRecorderProvider.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2FDefaultRecorderProvider.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9EZWZhdWx0UmVjb3JkZXJQcm92aWRlci5rdA==) | `85.71% <100.00%> (+0.81%)` | :arrow_up: | | [...ionreplay/internal/recorder/mapper/ButtonMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FButtonMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvQnV0dG9uTWFwcGVyLmt0) | `87.50% <100.00%> (ø)` | | | [...nreplay/internal/recorder/mapper/CheckBoxMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FCheckBoxMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvQ2hlY2tCb3hNYXBwZXIua3Q=) | `100.00% <ø> (ø)` | | | [...l/recorder/mapper/CheckableCompoundButtonMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FCheckableCompoundButtonMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvQ2hlY2thYmxlQ29tcG91bmRCdXR0b25NYXBwZXIua3Q=) | `94.74% <ø> (ø)` | | | [...nternal/recorder/mapper/CheckableTextViewMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FCheckableTextViewMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvQ2hlY2thYmxlVGV4dFZpZXdNYXBwZXIua3Q=) | `56.90% <100.00%> (-39.66%)` | :arrow_down: | | [.../internal/recorder/mapper/CheckedTextViewMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FCheckedTextViewMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvQ2hlY2tlZFRleHRWaWV3TWFwcGVyLmt0) | `95.65% <ø> (ø)` | | | [...play/internal/recorder/mapper/RadioButtonMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FRadioButtonMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvUmFkaW9CdXR0b25NYXBwZXIua3Q=) | `73.33% <ø> (ø)` | | | [...lay/internal/recorder/mapper/SwitchCompatMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fmapper%2FSwitchCompatMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9tYXBwZXIvU3dpdGNoQ29tcGF0TWFwcGVyLmt0) | `71.32% <100.00%> (-8.53%)` | :arrow_down: | | [...recorder/obfuscator/FixedLengthStringObfuscator.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Finternal%2Frecorder%2Fobfuscator%2FFixedLengthStringObfuscator.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9pbnRlcm5hbC9yZWNvcmRlci9vYmZ1c2NhdG9yL0ZpeGVkTGVuZ3RoU3RyaW5nT2JmdXNjYXRvci5rdA==) | `100.00% <100.00%> (ø)` | | | [...order/mapper/BaseAsyncBackgroundWireframeMapper.kt](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree&filepath=features%2Fdd-sdk-android-session-replay%2Fsrc%2Fmain%2Fkotlin%2Fcom%2Fdatadog%2Fandroid%2Fsessionreplay%2Frecorder%2Fmapper%2FBaseAsyncBackgroundWireframeMapper.kt&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog#diff-ZmVhdHVyZXMvZGQtc2RrLWFuZHJvaWQtc2Vzc2lvbi1yZXBsYXkvc3JjL21haW4va290bGluL2NvbS9kYXRhZG9nL2FuZHJvaWQvc2Vzc2lvbnJlcGxheS9yZWNvcmRlci9tYXBwZXIvQmFzZUFzeW5jQmFja2dyb3VuZFdpcmVmcmFtZU1hcHBlci5rdA==) | `94.92% <100.00%> (-0.17%)` | :arrow_down: | | ... and [2 more](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog) | | ... and [27 files with indirect coverage changes](https://app.codecov.io/gh/DataDog/dd-sdk-android/pull/2034/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=DataDog)