tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

TestHttpAuthUtils.cpp (1294B)


      1 #include "gtest/gtest.h"
      2 
      3 #include "mozilla/net/HttpAuthUtils.h"
      4 #include "mozilla/Preferences.h"
      5 #include "nsNetUtil.h"
      6 
      7 namespace mozilla {
      8 namespace net {
      9 
     10 #define TEST_PREF "network.http_test.auth_utils"
     11 
     12 TEST(TestHttpAuthUtils, Bug1351301)
     13 {
     14  nsCOMPtr<nsIURI> url;
     15  nsAutoCString spec;
     16 
     17  ASSERT_EQ(Preferences::SetCString(TEST_PREF, "bar.com"), NS_OK);
     18  spec = "http://bar.com";
     19  ASSERT_EQ(NS_NewURI(getter_AddRefs(url), spec), NS_OK);
     20  ASSERT_EQ(auth::URIMatchesPrefPattern(url, TEST_PREF), true);
     21 
     22  spec = "http://foo.bar.com";
     23  ASSERT_EQ(NS_NewURI(getter_AddRefs(url), spec), NS_OK);
     24  ASSERT_EQ(auth::URIMatchesPrefPattern(url, TEST_PREF), true);
     25 
     26  spec = "http://foobar.com";
     27  ASSERT_EQ(NS_NewURI(getter_AddRefs(url), spec), NS_OK);
     28  ASSERT_EQ(auth::URIMatchesPrefPattern(url, TEST_PREF), false);
     29 
     30  ASSERT_EQ(Preferences::SetCString(TEST_PREF, ".bar.com"), NS_OK);
     31  spec = "http://foo.bar.com";
     32  ASSERT_EQ(NS_NewURI(getter_AddRefs(url), spec), NS_OK);
     33  ASSERT_EQ(auth::URIMatchesPrefPattern(url, TEST_PREF), true);
     34 
     35  spec = "http://bar.com";
     36  ASSERT_EQ(NS_NewURI(getter_AddRefs(url), spec), NS_OK);
     37  ASSERT_EQ(auth::URIMatchesPrefPattern(url, TEST_PREF), false);
     38 
     39  ASSERT_EQ(Preferences::ClearUser(TEST_PREF), NS_OK);
     40 }
     41 
     42 }  // namespace net
     43 }  // namespace mozilla