// file : tests/cxx/serializer/validation/built-in/string/driver.cxx // author : Boris Kolpackov // copyright : Copyright (c) 2006-2011 Code Synthesis Tools CC // license : GNU GPL v2 + exceptions; see accompanying LICENSE file // Test the built-in string & friends types validation. // #include #include #include // Let the runtime header sort out which version (stl/no-stl) to // include. // #include using namespace xsde::cxx; using namespace xsde::cxx::serializer; using namespace xsde::cxx::serializer::validating; int main () { // normalized_string // { normalized_string_simpl s; context c (0); s.pre ("aaa\nbbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_normalized_string_value); } { normalized_string_simpl s; context c (0); s.pre ("aaa\tbbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_normalized_string_value); } { normalized_string_simpl s; context c (0); s.pre ("aaa\rbbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_normalized_string_value); } // token // { token_simpl s; context c (0); s.pre ("aaa\nbbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_token_value); } { token_simpl s; context c (0); s.pre ("aaa\tbbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_token_value); } { token_simpl s; context c (0); s.pre ("aaa\rbbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_token_value); } { token_simpl s; context c (0); s.pre ("aaa bbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_token_value); } { token_simpl s; context c (0); s.pre (" aaa bbb"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_token_value); } { token_simpl s; context c (0); s.pre ("aaa bbb "); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_token_value); } // name // { name_simpl s; context c (0); s.pre (""); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre (".a"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre ("-a"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre ("1a"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre (" a"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre ("a,b"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre ("a b"); s._pre_impl (c); s._serialize_content (); assert (c.schema_error () == schema_error::invalid_name_value); } { name_simpl s; context c (0); s.pre ("a