]> git.donarmstrong.com Git - flightcrew.git/blob - src/FlightCrew/tests/xml_tests/UsesUnicode_test.cpp
Imported Upstream version 0.7.2+dfsg
[flightcrew.git] / src / FlightCrew / tests / xml_tests / UsesUnicode_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/Xml/UsesUnicode.h"\r
24 #include "Result.h"\r
25 \r
26 using namespace FlightCrew;\r
27 \r
28 TEST( UsesUnicodeTest, FileDoesntExist )\r
29 {\r
30     UsesUnicode validator;\r
31     std::vector<Result> results = validator.ValidateFile(\r
32         "test_data/xml_tests/ohutoeuoeueudtneodutont.xml" );\r
33 \r
34     ASSERT_EQ( results.size(), 1U );\r
35     EXPECT_EQ( results[ 0 ].GetResultId(), UNABLE_TO_PERFORM_VALIDATION );\r
36 }\r
37 \r
38 TEST( UsesUnicodeTest, DeclaresOtherUsesOther )\r
39 {\r
40     UsesUnicode validator;\r
41     std::vector<Result> results = validator.ValidateFile(\r
42         "test_data/xml_tests/UsesUnicode_DeclaresOtherUsesOther.xml" );\r
43 \r
44     ASSERT_EQ( results.size(), 1U );\r
45     EXPECT_EQ( results[ 0 ].GetResultId(), ERROR_XML_SPECIFIES_NEITHER_UTF8_NOR_UTF16 );\r
46     EXPECT_EQ( results[ 0 ].GetErrorLine(), 1 );\r
47 }\r
48 \r
49 TEST( UsesUnicodeTest, DeclaresUtf8UsesOther )\r
50 {\r
51     UsesUnicode validator;\r
52     std::vector<Result> results = validator.ValidateFile(\r
53         "test_data/xml_tests/UsesUnicode_DeclaresUtf8UsesOther.xml" );\r
54 \r
55     ASSERT_EQ( results.size(), 1U );\r
56     EXPECT_EQ( results[ 0 ].GetResultId(), ERROR_XML_BYTESTREAM_NEITHER_UTF8_NOR_UTF16 );\r
57     EXPECT_EQ( results[ 0 ].GetErrorLine(), 1 );\r
58 }\r
59 \r
60 TEST( UsesUnicodeTest, DeclaresUtf16UsesOther )\r
61 {\r
62     UsesUnicode validator;\r
63     std::vector<Result> results = validator.ValidateFile(\r
64         "test_data/xml_tests/UsesUnicode_DeclaresUtf16UsesOther.xml" );\r
65 \r
66     ASSERT_EQ( results.size(), 1U );\r
67     EXPECT_EQ( results[ 0 ].GetResultId(), ERROR_XML_BYTESTREAM_NEITHER_UTF8_NOR_UTF16 );\r
68     EXPECT_EQ( results[ 0 ].GetErrorLine(), 1 );\r
69 }\r
70 \r
71 TEST( UsesUnicodeTest, ValidUtf8 )\r
72 {\r
73     UsesUnicode validator;\r
74     std::vector<Result> results = validator.ValidateFile(\r
75         "test_data/xml_tests/UsesUnicode_ValidUtf8.xml" );\r
76 \r
77     ASSERT_EQ( results.size(), 0U );\r
78 }\r
79 \r
80 TEST( UsesUnicodeTest, ValidUtf8lowercase )\r
81 {\r
82     UsesUnicode validator;\r
83     std::vector<Result> results = validator.ValidateFile(\r
84         "test_data/xml_tests/UsesUnicode_ValidUtf8lowercase.xml" );\r
85 \r
86     ASSERT_EQ( results.size(), 0U );\r
87 }\r
88 \r
89 TEST( UsesUnicodeTest, ValidUtf8implicit )\r
90 {\r
91     UsesUnicode validator;\r
92     std::vector<Result> results = validator.ValidateFile(\r
93         "test_data/xml_tests/UsesUnicode_ValidUtf8implicit.xml" );\r
94 \r
95     ASSERT_EQ( results.size(), 0U );\r
96 }\r
97 \r
98 TEST( UsesUnicodeTest, ValidUtf16LE )\r
99 {\r
100     UsesUnicode validator;\r
101     std::vector<Result> results = validator.ValidateFile(\r
102         "test_data/xml_tests/UsesUnicode_ValidUtf16LE.xml" );\r
103 \r
104     ASSERT_EQ( results.size(), 0U );\r
105 }\r
106 \r
107 TEST( UsesUnicodeTest, ValidUtf16BE )\r
108 {\r
109     UsesUnicode validator;\r
110     std::vector<Result> results = validator.ValidateFile(\r
111         "test_data/xml_tests/UsesUnicode_ValidUtf16BE.xml" );\r
112 \r
113     ASSERT_EQ( results.size(), 0U );\r
114 }\r