1
// ---------------------------------------------------------------------------
3
// - standard object library - path name class tester -
4
// ---------------------------------------------------------------------------
5
// - This program is free software; you can redistribute it and/or modify -
6
// - it provided that this copyright notice is kept intact. -
8
// - This program is distributed in the hope that it will be useful, but -
9
// - without any warranty; without even the implied warranty of -
10
// - merchantability or fitness for a particular purpose. In no event shall -
11
// - the copyright holder be liable for any direct, indirect, incidental or -
12
// - special damages arising in any way out of the use of this software. -
13
// ---------------------------------------------------------------------------
14
// - copyright (c) 1999-2011 amaury darsch -
15
// ---------------------------------------------------------------------------
18
#include "Pathname.hpp"
20
int main (int, char**) {
21
using namespace afnix;
23
// create the path components
25
String dnam = System::join (System::join ("usr"), "bin");
26
String rnam = System::rootdir ();
27
// create the path object
28
Pathname path (fnam, dnam);
30
// check the file name
31
if (path.getfnam () != fnam) return 1;
32
// check the directory name
33
if (path.getdnam () != dnam) return 1;
35
// check the directory components
36
if (path.length () != 2) return 1;
37
if (path.getpath (0) != System::join ("usr")) return 1;
38
if (path.getpath (1) != "bin") return 1;
40
// create a simple root pathname
42
// check the directory name
43
if (prnm.getdnam () != rnam) return 1;
45
// create a combined pathname
46
Pathname cpnm ("", dnam);
47
// check the directory name
48
if (cpnm.getdnam () != dnam) return 1;
50
// finally - no failure