aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2018-07-30 13:02:13 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2018-07-30 13:02:13 +0300
commit143d2f473fb92256d33f91266aa9d1829bc9fce1 (patch)
tree8058d26dea5404ec65a820d7d0b4e63bd7fa8f93
parent6f120d5f670694a0d1bd8d9dd2a972c295e5daeb (diff)
Add test for project_name::base()
-rw-r--r--tests/project-name/driver.cxx9
-rw-r--r--tests/project-name/testscript20
2 files changed, 25 insertions, 4 deletions
diff --git a/tests/project-name/driver.cxx b/tests/project-name/driver.cxx
index 51c8782..3535ba2 100644
--- a/tests/project-name/driver.cxx
+++ b/tests/project-name/driver.cxx
@@ -45,7 +45,7 @@ name (const string& s)
return r;
}
-// Usage: argv[0] (string|base|extension|variable)
+// Usage: argv[0] (string|base [ext]|extension|variable)
//
// Create project names from stdin lines, and for each of them print the
// result of the specified member function to stdout, one per line.
@@ -54,21 +54,24 @@ int
main (int argc, char* argv[])
try
{
- assert (argc == 2);
+ assert (argc <= 3);
string m (argv[1]);
assert (m == "string" || m == "base" || m == "extension" || m == "variable");
+ assert (m == "base" ? argc <= 3 : argc == 2);
cin.exceptions (ios::badbit);
cout.exceptions (ios::failbit | ios::badbit);
+ const char* ext (argc == 3 ? argv[2] : nullptr);
+
string l;
while (!eof (getline (cin, l)))
{
project_name n (name (l));
const string& s (m == "string" ? n.string () :
- m == "base" ? n.base () :
+ m == "base" ? n.base (ext) :
m == "extension" ? n.extension () :
n.variable ());
diff --git a/tests/project-name/testscript b/tests/project-name/testscript
index 92bd5e8..78d02c0 100644
--- a/tests/project-name/testscript
+++ b/tests/project-name/testscript
@@ -32,8 +32,10 @@
: base
:
{
- test.arguments += 'base';
+ test.arguments += 'base'
+ : no-ext
+ :
$* <<EOI >>EOO
libbutl
libbutl.bash
@@ -43,6 +45,22 @@
libbutl
a.b
EOO
+
+ : ext
+ :
+ {
+ test.arguments += bash;
+
+ $* <<EOI >>EOO
+ libbutl
+ libbutl.bash
+ libbutl.python
+ EOI
+ libbutl
+ libbutl
+ libbutl.python
+ EOO
+ }
}
: extension