ShareUtilsIT.kt 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /*
  2. * Nextcloud Talk - Android Client
  3. *
  4. * SPDX-FileCopyrightText: 2023 Andy Scherzinger <info@andy-scherzinger.de>
  5. * SPDX-FileCopyrightText: 2021 Tobias Kaminsky <tobias@kaminsky.me>
  6. * SPDX-License-Identifier: GPL-3.0-or-later
  7. */
  8. package com.nextcloud.talk.utils
  9. import at.bitfire.dav4jvm.HttpUtils
  10. import org.apache.commons.lang3.time.DateUtils
  11. import org.junit.Assert.assertEquals
  12. import org.junit.Ignore
  13. import org.junit.Test
  14. import java.util.Date
  15. import java.util.Locale
  16. @Ignore("Test fails on CI server. See issue https://github.com/nextcloud/talk-android/issues/1737")
  17. class ShareUtilsIT {
  18. @Test
  19. fun date() {
  20. assertEquals(TEST_DATE_IN_MILLIS, parseDate2("Mon, 09 Apr 2008 23:55:38 GMT").time)
  21. assertEquals(TEST_DATE_IN_MILLIS, HttpUtils.parseDate("Mon, 09 Apr 2008 23:55:38 GMT")?.time)
  22. }
  23. private fun parseDate2(dateStr: String): Date {
  24. return DateUtils.parseDate(
  25. dateStr, Locale.US,
  26. HttpUtils.httpDateFormatStr,
  27. // RFC 822, updated by RFC 1123 with any TZ
  28. "EEE, dd MMM yyyy HH:mm:ss zzz",
  29. // RFC 850, obsoleted by RFC 1036 with any TZ.
  30. "EEEE, dd-MMM-yy HH:mm:ss zzz",
  31. // ANSI C's asctime() format
  32. "EEE MMM d HH:mm:ss yyyy",
  33. // Alternative formats.
  34. "EEE, dd-MMM-yyyy HH:mm:ss z",
  35. "EEE, dd-MMM-yyyy HH-mm-ss z",
  36. "EEE, dd MMM yy HH:mm:ss z",
  37. "EEE dd-MMM-yyyy HH:mm:ss z",
  38. "EEE dd MMM yyyy HH:mm:ss z",
  39. "EEE dd-MMM-yyyy HH-mm-ss z",
  40. "EEE dd-MMM-yy HH:mm:ss z",
  41. "EEE dd MMM yy HH:mm:ss z",
  42. "EEE,dd-MMM-yy HH:mm:ss z",
  43. "EEE,dd-MMM-yyyy HH:mm:ss z",
  44. "EEE, dd-MM-yyyy HH:mm:ss z",
  45. // RI bug 6641315 claims a cookie of this format was once served by www.yahoo.com
  46. "EEE MMM d yyyy HH:mm:ss z"
  47. )
  48. }
  49. companion object {
  50. private const val TEST_DATE_IN_MILLIS = 1207778138000
  51. }
  52. }