TFCweb  1.0.4 $Rev: 483 $
TFC Primavera 2012: Nucli d'un servidor web
TestRecurs.cc
Veure la documentació d'aquest fitxer.
1 
11 /*
12  * Copyright (c) 2012 Toni Corvera
13  *
14  * This file is part of TFCWeb.
15  *
16  * TFCWeb is free software: you can redistribute it and/or modify
17  * it under the terms of the GNU General Public License as published by
18  * the Free Software Foundation, either version 3 of the License, or
19  * (at your option) any later version.
20  *
21  * TFCWeb is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24  * GNU General Public License for more details.
25  *
26  * You should have received a copy of the GNU General Public License
27  * along with TFCWeb. If not, see <http://www.gnu.org/licenses/>.
28  */
29 
30 #if 0 // Disseny inicial, TODO: actualitzar prova unitària
31 
32 #include <iostream>
33 #include <sstream>
34 #include <stdexcept>
35 #include <boost/filesystem.hpp>
36 
37 #include <Recurs.h>
38 
39 #include "comu.h"
40 
41 using namespace boost;
42 using namespace boost::filesystem;
43 using namespace std;
44 using namespace tfc;
45 
47 const path PWD_ROOT(canonical("."));
49 const string INEXISTENT = "*:\\";
50 // TODO: Passant INEXISTENT al constructor de Recurs hi ha un error de compilació:
51 // ???> error: no matching function for call to ‘tfc::Recurs::Recurs()’
52 #define INEXISTENT_D "*:\\"
53 
54 // Recurs::init(PWD_ROOT);
55 
56 namespace tfc { namespace Fixtures {
57 
58 struct FxtRecurs {
59  FxtRecurs()
60  : pwd("."),
61  root("/"),
62  index_html("index.html")
63  {
64  BOOST_TEST_MESSAGE("Fixture setup");
65  if (exists(INEXISTENT)) {
66  BOOST_ERROR("La ruta que es fa servir com a inexistent en els tests ('" +
67  INEXISTENT + "') existeix!");
68  }
69  // També cal que existeixi un fitxer index.html. El Makefile el crea
70  }
71  ~FxtRecurs()
72  {
73  BOOST_TEST_MESSAGE("Fixture teardown");
74  }
75  Recurs pwd, root, index_html;
76 };
77 
78 } // ns Fixtures
79 } // ns tfc
80 
81 BOOST_FIXTURE_TEST_SUITE( Recurs_TestSuite, Fixtures::FxtRecurs )
82 
83 BOOST_AUTO_TEST_CASE( construccio )
84 {
85  // Error de compilació (???): Recurs(INEXISTENT)
86  BOOST_CHECK_THROW( Recurs(INEXISTENT_D), ErrorRutaInexistent );
87  BOOST_CHECK_NO_THROW( Recurs(".") );
88 }
89 
90 BOOST_AUTO_TEST_CASE( impressio )
91 {
92  cerr << "Mostra d'impressió de Recurs:" << endl;
93  cerr << pwd << endl;
94  cerr << root << endl;
95  cerr << Recurs("././/.") << endl;
96  cerr << Recurs("//.//") << endl;
97  cerr << Recurs("//index.html") << endl;
98 }
99 
100 BOOST_AUTO_TEST_SUITE_END()
101 #endif
102 
103 // vim:set ts=4 et ai: //