@@ -49,6 +49,17 @@ def testGetNormalizedTimestamp(self):
4949 normalized_timestamp = filetime_object ._GetNormalizedTimestamp ()
5050 self .assertEqual (normalized_timestamp , decimal .Decimal ('1281643591.546875' ))
5151
52+ filetime_object = filetime .Filetime (timestamp = 0x0000000000000000 )
53+
54+ normalized_timestamp = filetime_object ._GetNormalizedTimestamp ()
55+ self .assertEqual (normalized_timestamp , decimal .Decimal ('-11644473600.0' ))
56+
57+ filetime_object = filetime .Filetime (timestamp = 0x0000000000008000 )
58+
59+ normalized_timestamp = filetime_object ._GetNormalizedTimestamp ()
60+ self .assertEqual (
61+ normalized_timestamp , decimal .Decimal ('-11644473599.9967232' ))
62+
5263 filetime_object = filetime .Filetime (timestamp = 0x1ffffffffffffffff )
5364
5465 normalized_timestamp = filetime_object ._GetNormalizedTimestamp ()
@@ -109,6 +120,36 @@ def testCopyToDateTimeStringISO8601(self):
109120 date_time_string = filetime_object .CopyToDateTimeStringISO8601 ()
110121 self .assertEqual (date_time_string , '2010-08-12T21:06:31.5468750+00:00' )
111122
123+ def testCopyToPosixTimestampWithFractionOfSecond (self ):
124+ """Tests the CopyToPosixTimestampWithFractionOfSecond function."""
125+ filetime_object = filetime .Filetime (timestamp = 0x01cb3a623d0a17ce )
126+
127+ posix_timestamp , fraction_of_second = (
128+ filetime_object .CopyToPosixTimestampWithFractionOfSecond ())
129+ self .assertEqual (posix_timestamp , 1281647191 )
130+ self .assertEqual (fraction_of_second , 5468750 )
131+
132+ filetime_object = filetime .Filetime (timestamp = 0x0000000000000000 )
133+
134+ posix_timestamp , fraction_of_second = (
135+ filetime_object .CopyToPosixTimestampWithFractionOfSecond ())
136+ self .assertEqual (posix_timestamp , - 11644473600 )
137+ self .assertEqual (fraction_of_second , 0 )
138+
139+ filetime_object = filetime .Filetime (timestamp = 0x0000000000008000 )
140+
141+ posix_timestamp , fraction_of_second = (
142+ filetime_object .CopyToPosixTimestampWithFractionOfSecond ())
143+ self .assertEqual (posix_timestamp , - 11644473599 )
144+ self .assertEqual (fraction_of_second , 9967232 )
145+
146+ filetime_object = filetime .Filetime ()
147+
148+ posix_timestamp , fraction_of_second = (
149+ filetime_object .CopyToPosixTimestampWithFractionOfSecond ())
150+ self .assertIsNone (posix_timestamp )
151+ self .assertIsNone (fraction_of_second )
152+
112153 def testGetDate (self ):
113154 """Tests the GetDate function."""
114155 filetime_object = filetime .Filetime (timestamp = 0x01cb3a623d0a17ce )
0 commit comments