summaryrefslogtreecommitdiff
path: root/libhello/tests/basics
diff options
context:
space:
mode:
Diffstat (limited to 'libhello/tests/basics')
-rw-r--r--libhello/tests/basics/buildfile3
-rw-r--r--libhello/tests/basics/driver.cxx33
2 files changed, 36 insertions, 0 deletions
diff --git a/libhello/tests/basics/buildfile b/libhello/tests/basics/buildfile
new file mode 100644
index 0000000..a436a8c
--- /dev/null
+++ b/libhello/tests/basics/buildfile
@@ -0,0 +1,3 @@
+import libs = libhello%lib{hello}
+
+exe{driver}: {hxx ixx txx cxx}{*} $libs
diff --git a/libhello/tests/basics/driver.cxx b/libhello/tests/basics/driver.cxx
new file mode 100644
index 0000000..1f0a479
--- /dev/null
+++ b/libhello/tests/basics/driver.cxx
@@ -0,0 +1,33 @@
+#include <cassert>
+#include <sstream>
+#include <stdexcept>
+
+#include <libhello/version.hxx>
+#include <libhello/hello.hxx>
+
+using namespace std;
+using namespace hello;
+
+int main ()
+{
+ // Basics.
+ //
+ {
+ ostringstream o;
+ say_hello (o, "World");
+ assert (o.str () == "Hello, World!\n");
+ }
+
+ // Empty name.
+ //
+ try
+ {
+ ostringstream o;
+ say_hello (o, "");
+ assert (false);
+ }
+ catch (const invalid_argument& e)
+ {
+ assert (e.what () == string ("empty name"));
+ }
+}