Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / components / dom_distiller / core / url_utils_unittest.cc
blobd19a3fe1a13acba0d898c397a401406eaed27203
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
3 // found in the LICENSE file.
5 #include "components/dom_distiller/core/url_utils.h"
7 #include "testing/gtest/include/gtest/gtest.h"
9 namespace dom_distiller {
11 namespace url_utils {
13 TEST(DomDistillerUrlUtilsTest, TestPathUtil) {
14 const std::string single_key = "mypath?foo=bar";
15 EXPECT_EQ("bar", GetValueForKeyInUrlPathQuery(single_key, "foo"));
16 const std::string two_keys = "mypath?key1=foo&key2=bar";
17 EXPECT_EQ("foo", GetValueForKeyInUrlPathQuery(two_keys, "key1"));
18 EXPECT_EQ("bar", GetValueForKeyInUrlPathQuery(two_keys, "key2"));
19 const std::string multiple_same_key = "mypath?key=foo&key=bar";
20 EXPECT_EQ("foo", GetValueForKeyInUrlPathQuery(multiple_same_key, "key"));
23 TEST(DomDistillerUrlUtilsTest, TestGetValueForKeyInUrlPathQuery) {
24 // Tests an invalid url.
25 const std::string invalid_url = "http://%40[::1]/";
26 EXPECT_EQ("", GetValueForKeyInUrlPathQuery(invalid_url, "key"));
28 // Test a valid URL with the key we are searching for.
29 const std::string valid_url_with_key = "http://www.google.com?key=foo";
30 EXPECT_EQ("foo", GetValueForKeyInUrlPathQuery(valid_url_with_key, "key"));
32 // Test a valid URL without the key we are searching for.
33 const std::string valid_url_no_key = "http://www.google.com";
34 EXPECT_EQ("", GetValueForKeyInUrlPathQuery(valid_url_no_key, "key"));
36 // Test a valid URL with 2 values of the key we are searching for.
37 const std::string valid_url_two_keys =
38 "http://www.google.com?key=foo&key=bar";
39 EXPECT_EQ("foo", GetValueForKeyInUrlPathQuery(valid_url_two_keys, "key"));
42 } // namespace url_utils
44 } // namespace dom_distiller