]> git.donarmstrong.com Git - flightcrew.git/blob - src/FlightCrew/tests/opf_tests/ItemHrefValid_test.cpp
Imported Upstream version 0.7.2+dfsg
[flightcrew.git] / src / FlightCrew / tests / opf_tests / ItemHrefValid_test.cpp
1 /************************************************************************\r
2 **\r
3 **  Copyright (C) 2010  Strahinja Markovic\r
4 **\r
5 **  This file is part of FlightCrew.\r
6 **\r
7 **  FlightCrew is free software: you can redistribute it and/or modify\r
8 **  it under the terms of the GNU Lesser General Public License as published\r
9 **  by the Free Software Foundation, either version 3 of the License, or\r
10 **  (at your option) any later version.\r
11 **\r
12 **  FlightCrew is distributed in the hope that it will be useful,\r
13 **  but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14 **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15 **  GNU Lesser General Public License for more details.\r
16 **\r
17 **  You should have received a copy of the GNU Lesser General Public License\r
18 **  along with FlightCrew.  If not, see <http://www.gnu.org/licenses/>.\r
19 **\r
20 *************************************************************************/\r
21 \r
22 #include <stdafx_tests.h>\r
23 #include "Validators/Opf/ItemHrefValid.h"\r
24 #include "Result.h"\r
25 \r
26 using namespace FlightCrew;\r
27 \r
28 TEST( ItemHrefValidTest, InvalidURI )\r
29 {\r
30     ItemHrefValid validator;\r
31     std::vector<Result> results = validator.ValidateFile(\r
32             "test_data/opf_tests/ItemHrefValid_BadValue.xml" );\r
33             \r
34     ASSERT_EQ( results.size(), 4U );\r
35     EXPECT_EQ( results[ 0 ].GetResultId(), ERROR_OPF_ITEM_HREF_INVALID_URI );\r
36     EXPECT_EQ( results[ 0 ].GetErrorLine(), 4 );\r
37     EXPECT_EQ( results[ 0 ].GetErrorColumn(), 31 );\r
38 \r
39     // Encoding the message for the first example is a bit problematic.\r
40     // The other examples will make sure to test that message arguments are set.\r
41 \r
42     EXPECT_EQ( results[ 1 ].GetResultId(), ERROR_OPF_ITEM_HREF_INVALID_URI );\r
43     EXPECT_EQ( results[ 1 ].GetErrorLine(), 5 );\r
44     EXPECT_EQ( results[ 1 ].GetErrorColumn(), 28 );\r
45 \r
46     std::vector< std::string > message_arguments = results[ 1 ].GetMessageArguments();\r
47     EXPECT_EQ( message_arguments[ 0 ], "a a" );\r
48 \r
49     EXPECT_EQ( results[ 2 ].GetResultId(), ERROR_OPF_ITEM_HREF_INVALID_URI );\r
50     EXPECT_EQ( results[ 2 ].GetErrorLine(), 6 );\r
51     EXPECT_EQ( results[ 2 ].GetErrorColumn(), 61 );\r
52 \r
53     message_arguments = results[ 2 ].GetMessageArguments();\r
54     EXPECT_EQ( message_arguments[ 0 ], "file://hostname/path/to/the file.txt" );\r
55 \r
56     EXPECT_EQ( results[ 3 ].GetResultId(), ERROR_OPF_ITEM_HREF_HAS_FRAGMENT );\r
57     EXPECT_EQ( results[ 3 ].GetErrorLine(), 7 );\r
58     EXPECT_EQ( results[ 3 ].GetErrorColumn(), 54 );\r
59 \r
60     message_arguments = results[ 3 ].GetMessageArguments();\r
61     EXPECT_EQ( message_arguments[ 0 ], "http://www.example.com/#ident" );\r
62 }\r
63 \r
64 TEST( ItemHrefValidTest, GoodValue )\r
65 {\r
66     ItemHrefValid validator;\r
67     std::vector<Result> results = validator.ValidateFile(\r
68             "test_data/opf_tests/ItemHrefValid_GoodValue.xml" );\r
69     \r
70     ASSERT_EQ( results.size(), 0U );\r
71 }\r
72 \r