@@ -16,6 +16,33 @@ def test_field(self):
16
16
f = jDateField ()
17
17
self .assertEqual (f .clean (value ), jdatetime .date (1400 , 11 , 27 ))
18
18
19
+ def test_field_with_one_input_format (self ):
20
+ tests = (
21
+ "1400/11/27" ,
22
+ jdatetime .date (1400 , 11 , 27 ),
23
+ jdatetime .datetime (1400 , 11 , 27 ),
24
+ )
25
+ for value in tests :
26
+ with self .subTest (value = value ):
27
+ f = jDateField (
28
+ input_formats = [
29
+ "%Y/%m/%d" ,
30
+ ]
31
+ )
32
+ self .assertEqual (f .clean (value ), jdatetime .date (1400 , 11 , 27 ))
33
+
34
+ def test_field_with_multiple_input_formats (self ):
35
+ tests = (
36
+ "1400/11/27" ,
37
+ "1400, 11, 27" ,
38
+ jdatetime .date (1400 , 11 , 27 ),
39
+ jdatetime .datetime (1400 , 11 , 27 ),
40
+ )
41
+ for value in tests :
42
+ with self .subTest (value = value ):
43
+ f = jDateField (input_formats = ["%Y, %m, %d" , "%Y/%m/%d" ])
44
+ self .assertEqual (f .clean (value ), jdatetime .date (1400 , 11 , 27 ))
45
+
19
46
20
47
class JDateTimeFieldTest (TestCase ):
21
48
def test_field (self ):
@@ -29,3 +56,30 @@ def test_field(self):
29
56
self .assertEqual (
30
57
f .clean (value ), jdatetime .datetime (1400 , 11 , 27 , 12 , 13 , 20 )
31
58
)
59
+
60
+ def test_field_with_one_input_formats (self ):
61
+ tests = (
62
+ "1400/11/27 12:13" ,
63
+ jdatetime .datetime (1400 , 11 , 27 , 12 , 13 , 20 ),
64
+ )
65
+ for value in tests :
66
+ with self .subTest (value = value ):
67
+ f = jDateTimeField (
68
+ input_formats = [
69
+ "%Y/%m/%d %H:%M" ,
70
+ ]
71
+ )
72
+ self .assertEqual (
73
+ f .clean (value ), jdatetime .datetime (1400 , 11 , 27 , 12 , 13 , 20 )
74
+ )
75
+
76
+ def test_field_with_multiple_input_formats (self ):
77
+ tests = (
78
+ "1400/11/27 12-13" ,
79
+ "1400, 11, 27 12:13" ,
80
+ jdatetime .datetime (1400 , 11 , 27 ),
81
+ )
82
+ for value in tests :
83
+ with self .subTest (value = value ):
84
+ f = jDateTimeField (input_formats = ["%Y, %m, %d %H:%M" , "%Y/%m/%d %H-%M" ])
85
+ self .assertEqual (f .clean (value ), jdatetime .date (1400 , 11 , 27 ))
0 commit comments