aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2023-03-20 14:30:06 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2023-03-20 14:30:48 +0200
commit40c8c226c6c3e40ba8e3e3e0012946bb2a923555 (patch)
treec37173dc7c70e747ded6b23696e3a1d90b876c09
parentbd3fdbd5b279504bbb64902f462fb0ad93f29389 (diff)
Add tests for extra validation for date, dateTime, and gMonthDay
-rw-r--r--tests/cxx/parser/validation/built-in/date-time/driver.cxx20
-rw-r--r--tests/cxx/serializer/validation/built-in/date-time/driver.cxx19
2 files changed, 39 insertions, 0 deletions
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
//
{