diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-06 10:24:46 +0100 |
commit | 372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch) | |
tree | bbadf39aed0610c8f8f7b41fefff47773b8ac205 /xsd/tests/cxx/parser/validation/built-in/string/driver.cxx | |
parent | 23d41842168ac1a1580111b9c5c73500ceee3d57 (diff) | |
parent | 4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff) |
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'xsd/tests/cxx/parser/validation/built-in/string/driver.cxx')
-rw-r--r-- | xsd/tests/cxx/parser/validation/built-in/string/driver.cxx | 513 |
1 files changed, 0 insertions, 513 deletions
diff --git a/xsd/tests/cxx/parser/validation/built-in/string/driver.cxx b/xsd/tests/cxx/parser/validation/built-in/string/driver.cxx deleted file mode 100644 index 5948542..0000000 --- a/xsd/tests/cxx/parser/validation/built-in/string/driver.cxx +++ /dev/null @@ -1,513 +0,0 @@ -// file : tests/cxx/parser/validation/built-in/string/driver.cxx -// copyright : Copyright (c) 2006-2014 Code Synthesis Tools CC -// license : GNU GPL v2 + exceptions; see accompanying LICENSE file - -// Test the built-in string & friends types validation. -// -#include <string> -#include <cassert> - -#include <xsd/cxx/parser/validating/exceptions.hxx> -#include <xsd/cxx/parser/validating/xml-schema-pimpl.hxx> - -using namespace xsd::cxx::parser::validating; - -template <typename T> -bool -test_post_fail (T& p) -{ - try - { - p._post_impl (); // List implementation needs this to be post_impl. - } - catch (invalid_value<char> const&) - { - return true; - } - - return false; -} - -int -main () -{ - typedef xsd::cxx::parser::string_sequence<char> strings; - - // Good. - // - - // string - // - { - string_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" aaa "); - p._characters ("bbb"); - p._characters (" "); - p._post (); - assert (p.post_string () == " \n\t aaa bbb "); - } - - // normalized_string - // - { - normalized_string_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" aaa \n\t "); - p._characters (" bbb"); - p._characters (" "); - p._post (); - assert (p.post_normalized_string () == " aaa bbb "); - } - - // token - // - { - token_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" aaa \n\t "); - p._characters (" bbb \n\t"); - p._characters (" "); - p._post (); - assert (p.post_token () == "aaa bbb"); - } - - // name - // - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a:b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_name () == "a:b-c_d123"); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" _12 "); - p._characters (" "); - p._post (); - assert (p.post_name () == "_12"); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" :12 "); - p._characters (" "); - p._post (); - assert (p.post_name () == ":12"); - } - - // nmtoken - // - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" 123a:b-c_d123 "); - p._characters (" \n\t"); - p._characters (" "); - p._post (); - assert (p.post_nmtoken () == "123a:b-c_d123"); - } - - // nmtokens - // - { - strings s; - s.push_back ("123"); - s.push_back ("abc"); - - nmtokens_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" 123 "); - p._characters (" \n\t abc "); - p._characters (" "); - p._post (); - assert (p.post_nmtokens () == s); - } - - // ncname - // - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a.b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_ncname () == "a.b-c_d123"); - } - - // id - // - { - id_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a.b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_id () == "a.b-c_d123"); - } - - // idref - // - { - idref_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a.b-c_d123 "); - p._characters (" "); - p._post (); - assert (p.post_idref () == "a.b-c_d123"); - } - - // idrefs - // - { - strings s; - s.push_back ("a123"); - s.push_back ("abc"); - - idrefs_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" \n\t"); - p._characters (" a123 "); - p._characters (" \n\t abc "); - p._characters (" "); - p._post (); - assert (p.post_idrefs () == s); - } - - // language - // - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" x "); - p._post (); - assert (p.post_language () == "x"); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" en "); - p._post (); - assert (p.post_language () == "en"); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" en"); - p._characters ("-us "); - p._post (); - assert (p.post_language () == "en-us"); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("one-two-three-four44-seven77-eight888"); - p._post (); - assert (p.post_language () == "one-two-three-four44-seven77-eight888"); - } - - - // Bad - // - - // name - // - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (".a"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-a"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1a"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a,b"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - { - name_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a<b"); - assert (test_post_fail (p)); - } - - // nmtoken - // - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a,b"); - assert (test_post_fail (p)); - } - - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - { - nmtoken_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a<b"); - assert (test_post_fail (p)); - } - - // nmtokens - // - { - nmtokens_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - p._characters (" \t\n "); - assert (test_post_fail (p)); - } - - { - nmtokens_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("ab a,b"); - assert (test_post_fail (p)); - } - - // ncname - // - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (""); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (".a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("-a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (":a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("1:a"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a,b"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - { - ncname_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a<b"); - assert (test_post_fail (p)); - } - - // id - // - { - id_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - // idref - // - { - idref_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a b"); - assert (test_post_fail (p)); - } - - // idrefs - // - { - idrefs_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - p._characters (" \t\n "); - assert (test_post_fail (p)); - } - - { - idrefs_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("ab a<b"); - assert (test_post_fail (p)); - } - - // language - // - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters (" "); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("en-"); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("a1"); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("en+us"); - assert (test_post_fail (p)); - } - - { - language_pimpl<char> p; - p.pre (); - p._pre (); - p._characters ("en-nine99999"); - assert (test_post_fail (p)); - } -} |