From 40c8c226c6c3e40ba8e3e3e0012946bb2a923555 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 20 Mar 2023 14:30:06 +0200 Subject: Add tests for extra validation for date, dateTime, and gMonthDay --- .../parser/validation/built-in/date-time/driver.cxx | 20 ++++++++++++++++++++ .../validation/built-in/date-time/driver.cxx | 19 +++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/tests/cxx/parser/validation/built-in/date-time/driver.cxx b/tests/cxx/parser/validation/built-in/date-time/driver.cxx index 1640a15..0d8283c 100644 --- a/tests/cxx/parser/validation/built-in/date-time/driver.cxx +++ b/tests/cxx/parser/validation/built-in/date-time/driver.cxx @@ -1118,6 +1118,26 @@ main () date_pimpl p; p.pre (); p._pre_impl (c); + p._characters ("2023-04-31"); + p._post (); + assert (c.schema_error () == schema_error::invalid_date_value); + } + + { + context c; + date_pimpl p; + p.pre (); + p._pre_impl (c); + p._characters ("2023-02-29"); + p._post (); + assert (c.schema_error () == schema_error::invalid_date_value); + } + + { + context c; + date_pimpl p; + p.pre (); + p._pre_impl (c); p._characters ("2007-10-2X"); p._post (); assert (c.schema_error () == schema_error::invalid_date_value); diff --git a/tests/cxx/serializer/validation/built-in/date-time/driver.cxx b/tests/cxx/serializer/validation/built-in/date-time/driver.cxx index 9e398e5..fa78e23 100644 --- a/tests/cxx/serializer/validation/built-in/date-time/driver.cxx +++ b/tests/cxx/serializer/validation/built-in/date-time/driver.cxx @@ -226,6 +226,25 @@ main () assert (c.schema_error () == schema_error::invalid_date_value); } + { + date_simpl s; + context c (0); + s.pre (date (2023, 4, 31)); + s._pre_impl (c); + s._serialize_content (); + assert (c.schema_error () == schema_error::invalid_date_value); + } + + + { + date_simpl s; + context c (0); + s.pre (date (2023, 2, 29)); + s._pre_impl (c); + s._serialize_content (); + assert (c.schema_error () == schema_error::invalid_date_value); + } + // time // { -- cgit v1.1