aboutsummaryrefslogtreecommitdiff
path: root/tests/cxx/parser
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-10-13 15:38:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-10-13 15:38:11 +0200
commit6f395f9f769866a04f6949cb7ed14f93d90cf728 (patch)
treed1f8343e7b41fc1895676ad4248a5e4942f9172b /tests/cxx/parser
parentc1f49aa87678c512ac37575365a6676727e5f20a (diff)
Map anySimpleType to a string
Diffstat (limited to 'tests/cxx/parser')
-rw-r--r--tests/cxx/parser/built-in/driver.cxx37
-rw-r--r--tests/cxx/parser/built-in/test-001.std5
-rw-r--r--tests/cxx/parser/generated-impl/test-000.std1
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/driver.cxx58
-rw-r--r--tests/cxx/parser/validation/built-in/any-type/test-000.std10
5 files changed, 50 insertions, 61 deletions
diff --git a/tests/cxx/parser/built-in/driver.cxx b/tests/cxx/parser/built-in/driver.cxx
index 1ec5e15..1ac8823 100644
--- a/tests/cxx/parser/built-in/driver.cxx
+++ b/tests/cxx/parser/built-in/driver.cxx
@@ -64,28 +64,6 @@ struct any_type_pimpl: xml_schema::any_type_pimpl
}
};
-struct any_simple_type_pimpl: xml_schema::any_simple_type_pimpl
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& s)
- {
- cout << " any text: '" << s << "'" << endl;
- }
-
- virtual void
- post_any_simple_type ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
struct type_pimpl: type_pskel
{
virtual void
@@ -208,6 +186,12 @@ struct type_pimpl: type_pskel
#ifdef XSDE_STL
virtual void
+ any_simple_type (std::string const& v)
+ {
+ cout << "'" << v << "'" << endl;
+ }
+
+ virtual void
string (std::string const& v)
{
cout << "'" << v << "'" << endl;
@@ -302,6 +286,13 @@ struct type_pimpl: type_pskel
#else // XSDE_STL
virtual void
+ any_simple_type (char* v)
+ {
+ cout << "'" << v << "'" << endl;
+ delete[] v;
+ }
+
+ virtual void
string (char* v)
{
cout << "'" << v << "'" << endl;
@@ -571,7 +562,7 @@ main (int argc, char* argv[])
try
{
any_type_pimpl any_type_p;
- any_simple_type_pimpl any_simple_type_p;
+ xml_schema::any_simple_type_pimpl any_simple_type_p;
xml_schema::boolean_pimpl boolean_p;
diff --git a/tests/cxx/parser/built-in/test-001.std b/tests/cxx/parser/built-in/test-001.std
index 3b80787..7f1990e 100644
--- a/tests/cxx/parser/built-in/test-001.std
+++ b/tests/cxx/parser/built-in/test-001.std
@@ -22,10 +22,7 @@
any text: ' '
}
-{
- any text: '123abc'
-}
-
+'123abc'
1
0
1
diff --git a/tests/cxx/parser/generated-impl/test-000.std b/tests/cxx/parser/generated-impl/test-000.std
index 7c58647..8fd9e30 100644
--- a/tests/cxx/parser/generated-impl/test-000.std
+++ b/tests/cxx/parser/generated-impl/test-000.std
@@ -19,6 +19,7 @@ x: x
y: y
a: aaa
b: bbb
+any-simple-type: abc123
boolean: 1
boolean: 0
boolean: 1
diff --git a/tests/cxx/parser/validation/built-in/any-type/driver.cxx b/tests/cxx/parser/validation/built-in/any-type/driver.cxx
index b60beed..3ffffa6 100644
--- a/tests/cxx/parser/validation/built-in/any-type/driver.cxx
+++ b/tests/cxx/parser/validation/built-in/any-type/driver.cxx
@@ -61,28 +61,6 @@ struct any_type_pimpl: xml_schema::any_type_pimpl
}
};
-struct any_simple_type_pimpl: xml_schema::any_simple_type_pimpl
-{
- virtual void
- pre ()
- {
- cout << "{" << endl;
- }
-
- virtual void
- _any_characters (ro_string const& s)
- {
- cout << " any text: '" << s << "'" << endl;
- }
-
- virtual void
- post_any_simple_type ()
- {
- cout << "}" << endl
- << endl;
- }
-};
-
struct any_extension_pimpl: any_extension_pskel
{
any_extension_pimpl ()
@@ -103,7 +81,7 @@ struct any_extension_pimpl: any_extension_pskel
cout << " x = " << v << endl;
delete[] v;
}
-#endif
+#endif
private:
any_type_pimpl base_impl_;
@@ -122,6 +100,12 @@ struct any_simple_extension_pimpl: any_simple_extension_pskel
{
cout << " x = " << v << endl;
}
+
+ virtual void
+ post_any_simple_extension ()
+ {
+ cout << "'" << post_any_simple_type () << "'" << endl;
+ }
#else
virtual void
x (char* v)
@@ -129,14 +113,36 @@ struct any_simple_extension_pimpl: any_simple_extension_pskel
cout << " x = " << v << endl;
delete[] v;
}
-#endif
+
+ virtual void
+ post_any_simple_extension ()
+ {
+ char& v = post_any_simple_type ();
+ cout << "'" << b << "'" << endl;
+ delete[] v;
+ }
+#endif
private:
- any_simple_type_pimpl base_impl_;
+ xml_schema::any_simple_type_pimpl base_impl_;
};
struct type_pimpl: type_pskel
{
+#ifdef XSDE_STL
+ virtual void
+ as (std::string const& v)
+ {
+ cout << "'" << v << "'" << endl;
+ }
+#else // XSDE_STL
+ virtual void
+ as (char* v)
+ {
+ cout << "'" << v << "'" << endl;
+ delete[] v;
+ }
+#endif
};
int
@@ -153,7 +159,7 @@ main (int argc, char* argv[])
xml_schema::string_pimpl string_p;
any_type_pimpl any_type_p;
- any_simple_type_pimpl any_simple_type_p;
+ xml_schema::any_simple_type_pimpl any_simple_type_p;
any_extension_pimpl any_extension_p;
any_simple_extension_pimpl any_simple_extension_p;
diff --git a/tests/cxx/parser/validation/built-in/any-type/test-000.std b/tests/cxx/parser/validation/built-in/any-type/test-000.std
index 9e263c0..c1996cb 100644
--- a/tests/cxx/parser/validation/built-in/any-type/test-000.std
+++ b/tests/cxx/parser/validation/built-in/any-type/test-000.std
@@ -1,7 +1,4 @@
-{
- any text: '123abc'
-}
-
+'123abc'
{
any text: '
'
@@ -106,8 +103,5 @@
any text: ' '
}
-{
x = x
- any text: 'abc123'
-}
-
+'abc123'