@@ -2,25 +2,63 @@ package com.fsck.k9.message.quote
22
33import assertk.assertThat
44import assertk.assertions.isEqualTo
5- import com.fsck.k9.K9
65import java.time.ZonedDateTime
76import java.util.Date
87import java.util.Locale
98import java.util.TimeZone
9+ import net.thunderbird.core.preference.AppTheme
10+ import net.thunderbird.core.preference.BackgroundSync
11+ import net.thunderbird.core.preference.GeneralSettings
12+ import net.thunderbird.core.preference.GeneralSettingsManager
13+ import net.thunderbird.core.preference.SubTheme
14+ import net.thunderbird.core.preference.privacy.PrivacySettings
1015import org.junit.After
1116import org.junit.Before
1217import org.junit.Test
18+ import org.mockito.kotlin.doReturn
19+ import org.mockito.kotlin.mock
20+ import org.mockito.kotlin.whenever
1321
1422class QuoteDateFormatterTest {
1523 private lateinit var originalLocale: Locale
1624 private var originalTimeZone: TimeZone ? = null
17- private val quoteDateFormatter = QuoteDateFormatter ()
25+ private val generalSettingsManager: GeneralSettingsManager = mock()
26+ private val fakeGeneralSettings = GeneralSettings (
27+ backgroundSync = BackgroundSync .NEVER ,
28+ showRecentChanges = false ,
29+ appTheme = AppTheme .FOLLOW_SYSTEM ,
30+ messageViewTheme = SubTheme .USE_GLOBAL ,
31+ messageComposeTheme = SubTheme .USE_GLOBAL ,
32+ fixedMessageViewTheme = false ,
33+ privacy = PrivacySettings (isHideTimeZone = false ),
34+ isAutoFitWidth = false ,
35+ isThreadedViewEnabled = false ,
36+ isUseMessageViewFixedWidthFont = false ,
37+ isShowContactPicture = false ,
38+ isMessageListSenderAboveSubject = false ,
39+ isChangeContactNameColor = false ,
40+ isColorizeMissingContactPictures = false ,
41+ shouldShowSetupArchiveFolderDialog = false ,
42+ isShowContactName = false ,
43+ isShowUnifiedInbox = false ,
44+ isShowStarredCount = false ,
45+ isShowComposeButtonOnMessageList = false ,
46+ isUseBackgroundAsUnreadIndicator = false ,
47+ isShowCorrespondentNames = false ,
48+ isShowAnimations = false ,
49+ isShowMessageListStars = false ,
50+
51+ )
52+ private val quoteDateFormatter = QuoteDateFormatter (
53+ generalSettingsManager = generalSettingsManager,
54+ )
1855
1956 @Before
2057 fun setUp () {
2158 originalLocale = Locale .getDefault()
2259 originalTimeZone = TimeZone .getDefault()
2360 TimeZone .setDefault(TimeZone .getTimeZone(" GMT+02:00" ))
61+ whenever(generalSettingsManager.getSettings()) doReturn fakeGeneralSettings
2462 }
2563
2664 @After
@@ -31,7 +69,8 @@ class QuoteDateFormatterTest {
3169
3270 @Test
3371 fun hideTimeZoneEnabled_UsLocale () {
34- K9 .isHideTimeZone = true
72+ whenever(generalSettingsManager.getSettings()) doReturn
73+ fakeGeneralSettings.copy(privacy = fakeGeneralSettings.privacy.copy(isHideTimeZone = true ))
3574 Locale .setDefault(Locale .US )
3675
3776 val formattedDate = quoteDateFormatter.format(" 2020-09-19T20:00:00+00:00" .toDate())
@@ -41,7 +80,8 @@ class QuoteDateFormatterTest {
4180
4281 @Test
4382 fun hideTimeZoneEnabled_GermanyLocale () {
44- K9 .isHideTimeZone = true
83+ whenever(generalSettingsManager.getSettings()) doReturn
84+ fakeGeneralSettings.copy(privacy = fakeGeneralSettings.privacy.copy(isHideTimeZone = true ))
4585 Locale .setDefault(Locale .GERMANY )
4686
4787 val formattedDate = quoteDateFormatter.format(" 2020-09-19T20:00:00+00:00" .toDate())
@@ -51,7 +91,6 @@ class QuoteDateFormatterTest {
5191
5292 @Test
5393 fun hideTimeZoneDisabled_UsLocale () {
54- K9 .isHideTimeZone = false
5594 Locale .setDefault(Locale .US )
5695
5796 val formattedDate = quoteDateFormatter.format(" 2020-09-19T20:00:00+00:00" .toDate())
@@ -61,7 +100,6 @@ class QuoteDateFormatterTest {
61100
62101 @Test
63102 fun hideTimeZoneDisabled_GermanyLocale () {
64- K9 .isHideTimeZone = false
65103 Locale .setDefault(Locale .GERMANY )
66104
67105 val formattedDate = quoteDateFormatter.format(" 2020-09-19T20:00:00+00:00" .toDate())
0 commit comments