date_time_util_test.dart 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import 'package:flutter/foundation.dart';
  2. import 'package:photos/core/constants.dart';
  3. import 'package:photos/utils/date_time_util.dart';
  4. import 'package:test/test.dart';
  5. void main() {
  6. test("parseDateTimeFromFile", () {
  7. final List<String> validParsing = [
  8. "IMG-20221109-WA0000",
  9. '''Screenshot_20220807-195908_Firefox''',
  10. '''Screenshot_20220507-195908''',
  11. "2022-02-18 16.00.12-DCMX.png",
  12. "20221107_231730",
  13. "2020-11-01 02.31.02",
  14. "IMG_20210921_144423",
  15. "2019-10-31 155703",
  16. "IMG_20210921_144423_783",
  17. "Screenshot_2022-06-21-16-51-29-164_newFormat.heic",
  18. "Screenshot 20221106 211633.com.google.android.apps.nbu.paisa.user.jpg",
  19. "signal-2022-12-17-15-16-04-718.jpg",
  20. ];
  21. for (String val in validParsing) {
  22. final parsedValue = parseDateTimeFromFileNameV2(val);
  23. expect(
  24. parsedValue != null,
  25. true,
  26. reason: "Failed to parse time from $val",
  27. );
  28. if (kDebugMode) {
  29. debugPrint("Parsed $val as ${parsedValue?.toIso8601String()}");
  30. }
  31. }
  32. });
  33. test("test invalid datetime parsing", () {
  34. final List<String> badParsing = [
  35. "Snapchat-431959199.mp4.",
  36. "Snapchat-400000000.mp4",
  37. "Snapchat-900000000.mp4",
  38. ];
  39. for (String val in badParsing) {
  40. final parsedValue = parseDateTimeFromFileNameV2(val);
  41. expect(
  42. parsedValue == null,
  43. true,
  44. reason: "parsing should have failed $val",
  45. );
  46. if (kDebugMode) {
  47. debugPrint("Parsed $val as ${parsedValue?.toIso8601String()}");
  48. }
  49. }
  50. });
  51. test("verify constants", () {
  52. final date = DateTime.fromMicrosecondsSinceEpoch(jan011981Time).toUtc();
  53. expect(
  54. date.year == 1981 && date.month == 1,
  55. true,
  56. reason: "constant mismatch : ${date.toIso8601String()}",
  57. );
  58. });
  59. }