)
self.assertEqual(str(err.exception), "too many attoseconds")
+ def test_zero_nanoseconds(self) -> None:
+ with self.assertRaises(DecodeError) as err:
+ loads(
+ b"\x19\x40\x00\x00\x00\x00\x00\x00\x00" +
+ b"\x00\x00\x00\x00"
+ )
+ self.assertEqual(str(err.exception), "non-minimal TAI64N")
+
+ def test_zero_attoseconds(self) -> None:
+ with self.assertRaises(DecodeError) as err:
+ loads(
+ b"\x1a\x40\x00\x00\x00\x00\x00\x00\x00" +
+ b"\x00\x00\x00\x00" +
+ b"\x00\x00\x00\x00"
+ )
+ self.assertEqual(str(err.exception), "non-minimal TAI64NA")
+
+ def test_zero_nanoseconds_ok_for_tai64na(self) -> None:
+ loads(
+ b"\x1a\x40\x00\x00\x00\x00\x00\x00\x00" +
+ b"\x00\x00\x00\x00" +
+ b"\x00\x00\x00\x01"
+ )
+
class TestLeapsecs(TestCase):
def test_match_DJB(self) -> None: