Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: content/renderer/manifest/manifest_parser_unittest.cc

Issue 1176583003: Move EqualsASCII to the base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@string_util2
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « content/renderer/drop_data_builder.cc ('k') | content/renderer/npapi/webplugin_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/manifest/manifest_parser.h" 5 #include "content/renderer/manifest/manifest_parser.h"
6 6
7 #include "base/strings/string_util.h" 7 #include "base/strings/string_util.h"
8 #include "content/public/common/manifest.h" 8 #include "content/public/common/manifest.h"
9 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
10 10
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 errors()[4]); 120 errors()[4]);
121 EXPECT_EQ("Manifest parsing error: property 'icons' ignored, " 121 EXPECT_EQ("Manifest parsing error: property 'icons' ignored, "
122 "type array expected.", 122 "type array expected.",
123 errors()[5]); 123 errors()[5]);
124 } 124 }
125 125
126 TEST_F(ManifestParserTest, NameParseRules) { 126 TEST_F(ManifestParserTest, NameParseRules) {
127 // Smoke test. 127 // Smoke test.
128 { 128 {
129 Manifest manifest = ParseManifest("{ \"name\": \"foo\" }"); 129 Manifest manifest = ParseManifest("{ \"name\": \"foo\" }");
130 ASSERT_TRUE(EqualsASCII(manifest.name.string(), "foo")); 130 ASSERT_TRUE(base::EqualsASCII(manifest.name.string(), "foo"));
131 ASSERT_FALSE(manifest.IsEmpty()); 131 ASSERT_FALSE(manifest.IsEmpty());
132 EXPECT_EQ(0u, GetErrorCount()); 132 EXPECT_EQ(0u, GetErrorCount());
133 } 133 }
134 134
135 // Trim whitespaces. 135 // Trim whitespaces.
136 { 136 {
137 Manifest manifest = ParseManifest("{ \"name\": \" foo \" }"); 137 Manifest manifest = ParseManifest("{ \"name\": \" foo \" }");
138 ASSERT_TRUE(EqualsASCII(manifest.name.string(), "foo")); 138 ASSERT_TRUE(base::EqualsASCII(manifest.name.string(), "foo"));
139 EXPECT_EQ(0u, GetErrorCount()); 139 EXPECT_EQ(0u, GetErrorCount());
140 } 140 }
141 141
142 // Don't parse if name isn't a string. 142 // Don't parse if name isn't a string.
143 { 143 {
144 Manifest manifest = ParseManifest("{ \"name\": {} }"); 144 Manifest manifest = ParseManifest("{ \"name\": {} }");
145 ASSERT_TRUE(manifest.name.is_null()); 145 ASSERT_TRUE(manifest.name.is_null());
146 EXPECT_EQ(1u, GetErrorCount()); 146 EXPECT_EQ(1u, GetErrorCount());
147 EXPECT_EQ("Manifest parsing error: property 'name' ignored," 147 EXPECT_EQ("Manifest parsing error: property 'name' ignored,"
148 " type string expected.", 148 " type string expected.",
149 errors()[0]); 149 errors()[0]);
150 } 150 }
151 151
152 // Don't parse if name isn't a string. 152 // Don't parse if name isn't a string.
153 { 153 {
154 Manifest manifest = ParseManifest("{ \"name\": 42 }"); 154 Manifest manifest = ParseManifest("{ \"name\": 42 }");
155 ASSERT_TRUE(manifest.name.is_null()); 155 ASSERT_TRUE(manifest.name.is_null());
156 EXPECT_EQ(1u, GetErrorCount()); 156 EXPECT_EQ(1u, GetErrorCount());
157 EXPECT_EQ("Manifest parsing error: property 'name' ignored," 157 EXPECT_EQ("Manifest parsing error: property 'name' ignored,"
158 " type string expected.", 158 " type string expected.",
159 errors()[0]); 159 errors()[0]);
160 } 160 }
161 } 161 }
162 162
163 TEST_F(ManifestParserTest, ShortNameParseRules) { 163 TEST_F(ManifestParserTest, ShortNameParseRules) {
164 // Smoke test. 164 // Smoke test.
165 { 165 {
166 Manifest manifest = ParseManifest("{ \"short_name\": \"foo\" }"); 166 Manifest manifest = ParseManifest("{ \"short_name\": \"foo\" }");
167 ASSERT_TRUE(EqualsASCII(manifest.short_name.string(), "foo")); 167 ASSERT_TRUE(base::EqualsASCII(manifest.short_name.string(), "foo"));
168 ASSERT_FALSE(manifest.IsEmpty()); 168 ASSERT_FALSE(manifest.IsEmpty());
169 EXPECT_EQ(0u, GetErrorCount()); 169 EXPECT_EQ(0u, GetErrorCount());
170 } 170 }
171 171
172 // Trim whitespaces. 172 // Trim whitespaces.
173 { 173 {
174 Manifest manifest = ParseManifest("{ \"short_name\": \" foo \" }"); 174 Manifest manifest = ParseManifest("{ \"short_name\": \" foo \" }");
175 ASSERT_TRUE(EqualsASCII(manifest.short_name.string(), "foo")); 175 ASSERT_TRUE(base::EqualsASCII(manifest.short_name.string(), "foo"));
176 EXPECT_EQ(0u, GetErrorCount()); 176 EXPECT_EQ(0u, GetErrorCount());
177 } 177 }
178 178
179 // Don't parse if name isn't a string. 179 // Don't parse if name isn't a string.
180 { 180 {
181 Manifest manifest = ParseManifest("{ \"short_name\": {} }"); 181 Manifest manifest = ParseManifest("{ \"short_name\": {} }");
182 ASSERT_TRUE(manifest.short_name.is_null()); 182 ASSERT_TRUE(manifest.short_name.is_null());
183 EXPECT_EQ(1u, GetErrorCount()); 183 EXPECT_EQ(1u, GetErrorCount());
184 EXPECT_EQ("Manifest parsing error: property 'short_name' ignored," 184 EXPECT_EQ("Manifest parsing error: property 'short_name' ignored,"
185 " type string expected.", 185 " type string expected.",
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 "http://foo.com/landing/icons/foo.png"); 561 "http://foo.com/landing/icons/foo.png");
562 EXPECT_EQ(0u, GetErrorCount()); 562 EXPECT_EQ(0u, GetErrorCount());
563 } 563 }
564 } 564 }
565 565
566 TEST_F(ManifestParserTest, IconTypeParseRules) { 566 TEST_F(ManifestParserTest, IconTypeParseRules) {
567 // Smoke test. 567 // Smoke test.
568 { 568 {
569 Manifest manifest = 569 Manifest manifest =
570 ParseManifest("{ \"icons\": [ {\"src\": \"\", \"type\": \"foo\" } ] }"); 570 ParseManifest("{ \"icons\": [ {\"src\": \"\", \"type\": \"foo\" } ] }");
571 EXPECT_TRUE(EqualsASCII(manifest.icons[0].type.string(), "foo")); 571 EXPECT_TRUE(base::EqualsASCII(manifest.icons[0].type.string(), "foo"));
572 EXPECT_EQ(0u, GetErrorCount()); 572 EXPECT_EQ(0u, GetErrorCount());
573 } 573 }
574 574
575 // Trim whitespaces. 575 // Trim whitespaces.
576 { 576 {
577 Manifest manifest = ParseManifest("{ \"icons\": [ {\"src\": \"\"," 577 Manifest manifest = ParseManifest("{ \"icons\": [ {\"src\": \"\","
578 " \"type\": \" foo \" } ] }"); 578 " \"type\": \" foo \" } ] }");
579 EXPECT_TRUE(EqualsASCII(manifest.icons[0].type.string(), "foo")); 579 EXPECT_TRUE(base::EqualsASCII(manifest.icons[0].type.string(), "foo"));
580 EXPECT_EQ(0u, GetErrorCount()); 580 EXPECT_EQ(0u, GetErrorCount());
581 } 581 }
582 582
583 // Don't parse if property isn't a string. 583 // Don't parse if property isn't a string.
584 { 584 {
585 Manifest manifest = 585 Manifest manifest =
586 ParseManifest("{ \"icons\": [ {\"src\": \"\", \"type\": {} } ] }"); 586 ParseManifest("{ \"icons\": [ {\"src\": \"\", \"type\": {} } ] }");
587 EXPECT_TRUE(manifest.icons[0].type.is_null()); 587 EXPECT_TRUE(manifest.icons[0].type.is_null());
588 EXPECT_EQ(1u, GetErrorCount()); 588 EXPECT_EQ(1u, GetErrorCount());
589 EXPECT_EQ("Manifest parsing error: property 'type' ignored," 589 EXPECT_EQ("Manifest parsing error: property 'type' ignored,"
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 "related application ignored.", 853 "related application ignored.",
854 errors()[0]); 854 errors()[0]);
855 } 855 }
856 856
857 // Valid application, with url. 857 // Valid application, with url.
858 { 858 {
859 Manifest manifest = ParseManifest( 859 Manifest manifest = ParseManifest(
860 "{ \"related_applications\": [" 860 "{ \"related_applications\": ["
861 "{\"platform\": \"play\", \"url\": \"http://www.foo.com\"}]}"); 861 "{\"platform\": \"play\", \"url\": \"http://www.foo.com\"}]}");
862 EXPECT_EQ(manifest.related_applications.size(), 1u); 862 EXPECT_EQ(manifest.related_applications.size(), 1u);
863 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].platform.string(), 863 EXPECT_TRUE(base::EqualsASCII(
864 "play")); 864 manifest.related_applications[0].platform.string(),
865 "play"));
865 EXPECT_EQ(manifest.related_applications[0].url.spec(), 866 EXPECT_EQ(manifest.related_applications[0].url.spec(),
866 "http://www.foo.com/"); 867 "http://www.foo.com/");
867 EXPECT_FALSE(manifest.IsEmpty()); 868 EXPECT_FALSE(manifest.IsEmpty());
868 EXPECT_EQ(0u, GetErrorCount()); 869 EXPECT_EQ(0u, GetErrorCount());
869 } 870 }
870 871
871 // Valid application, with id. 872 // Valid application, with id.
872 { 873 {
873 Manifest manifest = ParseManifest( 874 Manifest manifest = ParseManifest(
874 "{ \"related_applications\": [" 875 "{ \"related_applications\": ["
875 "{\"platform\": \"itunes\", \"id\": \"foo\"}]}"); 876 "{\"platform\": \"itunes\", \"id\": \"foo\"}]}");
876 EXPECT_EQ(manifest.related_applications.size(), 1u); 877 EXPECT_EQ(manifest.related_applications.size(), 1u);
877 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].platform.string(), 878 EXPECT_TRUE(base::EqualsASCII(
878 "itunes")); 879 manifest.related_applications[0].platform.string(),
879 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].id.string(), 880 "itunes"));
880 "foo")); 881 EXPECT_TRUE(base::EqualsASCII(manifest.related_applications[0].id.string(),
882 "foo"));
881 EXPECT_FALSE(manifest.IsEmpty()); 883 EXPECT_FALSE(manifest.IsEmpty());
882 EXPECT_EQ(0u, GetErrorCount()); 884 EXPECT_EQ(0u, GetErrorCount());
883 } 885 }
884 886
885 // All valid applications are in list. 887 // All valid applications are in list.
886 { 888 {
887 Manifest manifest = ParseManifest( 889 Manifest manifest = ParseManifest(
888 "{ \"related_applications\": [" 890 "{ \"related_applications\": ["
889 "{\"platform\": \"play\", \"id\": \"foo\"}," 891 "{\"platform\": \"play\", \"id\": \"foo\"},"
890 "{\"platform\": \"itunes\", \"id\": \"bar\"}]}"); 892 "{\"platform\": \"itunes\", \"id\": \"bar\"}]}");
891 EXPECT_EQ(manifest.related_applications.size(), 2u); 893 EXPECT_EQ(manifest.related_applications.size(), 2u);
892 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].platform.string(), 894 EXPECT_TRUE(base::EqualsASCII(
893 "play")); 895 manifest.related_applications[0].platform.string(),
894 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].id.string(), 896 "play"));
895 "foo")); 897 EXPECT_TRUE(base::EqualsASCII(manifest.related_applications[0].id.string(),
896 EXPECT_TRUE(EqualsASCII(manifest.related_applications[1].platform.string(), 898 "foo"));
897 "itunes")); 899 EXPECT_TRUE(base::EqualsASCII(
898 EXPECT_TRUE(EqualsASCII(manifest.related_applications[1].id.string(), 900 manifest.related_applications[1].platform.string(),
899 "bar")); 901 "itunes"));
902 EXPECT_TRUE(base::EqualsASCII(manifest.related_applications[1].id.string(),
903 "bar"));
900 EXPECT_FALSE(manifest.IsEmpty()); 904 EXPECT_FALSE(manifest.IsEmpty());
901 EXPECT_EQ(0u, GetErrorCount()); 905 EXPECT_EQ(0u, GetErrorCount());
902 } 906 }
903 907
904 // Two invalid applications and one valid. Only the valid application should 908 // Two invalid applications and one valid. Only the valid application should
905 // be in the list. 909 // be in the list.
906 { 910 {
907 Manifest manifest = ParseManifest( 911 Manifest manifest = ParseManifest(
908 "{ \"related_applications\": [" 912 "{ \"related_applications\": ["
909 "{\"platform\": \"itunes\"}," 913 "{\"platform\": \"itunes\"},"
910 "{\"platform\": \"play\", \"id\": \"foo\"}," 914 "{\"platform\": \"play\", \"id\": \"foo\"},"
911 "{}]}"); 915 "{}]}");
912 EXPECT_EQ(manifest.related_applications.size(), 1u); 916 EXPECT_EQ(manifest.related_applications.size(), 1u);
913 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].platform.string(), 917 EXPECT_TRUE(base::EqualsASCII(
914 "play")); 918 manifest.related_applications[0].platform.string(),
915 EXPECT_TRUE(EqualsASCII(manifest.related_applications[0].id.string(), 919 "play"));
916 "foo")); 920 EXPECT_TRUE(base::EqualsASCII(manifest.related_applications[0].id.string(),
921 "foo"));
917 EXPECT_FALSE(manifest.IsEmpty()); 922 EXPECT_FALSE(manifest.IsEmpty());
918 EXPECT_EQ(2u, GetErrorCount()); 923 EXPECT_EQ(2u, GetErrorCount());
919 EXPECT_EQ("Manifest parsing error: one of 'url' or 'id' is required, " 924 EXPECT_EQ("Manifest parsing error: one of 'url' or 'id' is required, "
920 "related application ignored.", 925 "related application ignored.",
921 errors()[0]); 926 errors()[0]);
922 EXPECT_EQ("Manifest parsing error: 'platform' is a required field, " 927 EXPECT_EQ("Manifest parsing error: 'platform' is a required field, "
923 "related application ignored.", 928 "related application ignored.",
924 errors()[1]); 929 errors()[1]);
925 } 930 }
926 } 931 }
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
971 ParseManifest("{ \"prefer_related_applications\": false }"); 976 ParseManifest("{ \"prefer_related_applications\": false }");
972 EXPECT_FALSE(manifest.prefer_related_applications); 977 EXPECT_FALSE(manifest.prefer_related_applications);
973 EXPECT_EQ(0u, GetErrorCount()); 978 EXPECT_EQ(0u, GetErrorCount());
974 } 979 }
975 } 980 }
976 981
977 TEST_F(ManifestParserTest, GCMSenderIDParseRules) { 982 TEST_F(ManifestParserTest, GCMSenderIDParseRules) {
978 // Smoke test. 983 // Smoke test.
979 { 984 {
980 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": \"foo\" }"); 985 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": \"foo\" }");
981 EXPECT_TRUE(EqualsASCII(manifest.gcm_sender_id.string(), "foo")); 986 EXPECT_TRUE(base::EqualsASCII(manifest.gcm_sender_id.string(), "foo"));
982 EXPECT_EQ(0u, GetErrorCount()); 987 EXPECT_EQ(0u, GetErrorCount());
983 } 988 }
984 989
985 // Trim whitespaces. 990 // Trim whitespaces.
986 { 991 {
987 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": \" foo \" }"); 992 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": \" foo \" }");
988 EXPECT_TRUE(EqualsASCII(manifest.gcm_sender_id.string(), "foo")); 993 EXPECT_TRUE(base::EqualsASCII(manifest.gcm_sender_id.string(), "foo"));
989 EXPECT_EQ(0u, GetErrorCount()); 994 EXPECT_EQ(0u, GetErrorCount());
990 } 995 }
991 996
992 // Don't parse if the property isn't a string. 997 // Don't parse if the property isn't a string.
993 { 998 {
994 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": {} }"); 999 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": {} }");
995 EXPECT_TRUE(manifest.gcm_sender_id.is_null()); 1000 EXPECT_TRUE(manifest.gcm_sender_id.is_null());
996 EXPECT_EQ(1u, GetErrorCount()); 1001 EXPECT_EQ(1u, GetErrorCount());
997 EXPECT_EQ("Manifest parsing error: property 'gcm_sender_id' ignored," 1002 EXPECT_EQ("Manifest parsing error: property 'gcm_sender_id' ignored,"
998 " type string expected.", 1003 " type string expected.",
999 errors()[0]); 1004 errors()[0]);
1000 } 1005 }
1001 { 1006 {
1002 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": 42 }"); 1007 Manifest manifest = ParseManifest("{ \"gcm_sender_id\": 42 }");
1003 EXPECT_TRUE(manifest.gcm_sender_id.is_null()); 1008 EXPECT_TRUE(manifest.gcm_sender_id.is_null());
1004 EXPECT_EQ(1u, GetErrorCount()); 1009 EXPECT_EQ(1u, GetErrorCount());
1005 EXPECT_EQ("Manifest parsing error: property 'gcm_sender_id' ignored," 1010 EXPECT_EQ("Manifest parsing error: property 'gcm_sender_id' ignored,"
1006 " type string expected.", 1011 " type string expected.",
1007 errors()[0]); 1012 errors()[0]);
1008 } 1013 }
1009 } 1014 }
1010 1015
1011 } // namespace content 1016 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/drop_data_builder.cc ('k') | content/renderer/npapi/webplugin_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698