LCOV - code coverage report
Current view: top level - tests - catch_uri.cpp (source / functions) Hit Total Coverage
Test: coverage.info Lines: 19 19 100.0 %
Date: 2022-07-09 10:44:38 Functions: 3 3 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : // Copyright (c) 2011-2022  Made to Order Software Corp.  All Rights Reserved
       2             : //
       3             : // https://snapwebsites.org/project/edhttp
       4             : // contact@m2osw.com
       5             : //
       6             : // This program is free software: you can redistribute it and/or modify
       7             : // it under the terms of the GNU General Public License as published by
       8             : // the Free Software Foundation, either version 3 of the License, or
       9             : // (at your option) any later version.
      10             : //
      11             : // This program is distributed in the hope that it will be useful,
      12             : // but WITHOUT ANY WARRANTY; without even the implied warranty of
      13             : // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      14             : // GNU General Public License for more details.
      15             : //
      16             : // You should have received a copy of the GNU General Public License
      17             : // along with this program.  If not, see <https://www.gnu.org/licenses/>.
      18             : 
      19             : /** \file
      20             :  * \brief Verify the snap_uri class.
      21             :  *
      22             :  * This file implements tests to verify that the snap_uri
      23             :  * class functions as expected.
      24             :  */
      25             : 
      26             : // self
      27             : //
      28             : #include    "catch_main.h"
      29             : 
      30             : 
      31             : // edhttp
      32             : //
      33             : #include    <edhttp/uri.h>
      34             : 
      35             : 
      36             : 
      37           6 : CATCH_TEST_CASE("uri", "[domain]")
      38             : {
      39           8 :     CATCH_START_SECTION("uri: verify already canonicalized URI")
      40             :     {
      41           2 :         edhttp::uri uri("http://snap.website/");
      42             : 
      43           1 :         CATCH_REQUIRE(uri.domain() == "snap");
      44           1 :         CATCH_REQUIRE(uri.top_level_domain() == ".website");
      45             :     }
      46             :     CATCH_END_SECTION()
      47             : 
      48           8 :     CATCH_START_SECTION("uri: verify URI without '/' after domain name")
      49             :     {
      50           2 :         edhttp::uri uri("http://snap.website");
      51             : 
      52           1 :         CATCH_REQUIRE(uri.domain() == "snap");
      53           1 :         CATCH_REQUIRE(uri.top_level_domain() == ".website");
      54             :     }
      55             :     CATCH_END_SECTION()
      56             : 
      57           8 :     CATCH_START_SECTION("uri: verify URI with two slashes")
      58             :     {
      59           2 :         edhttp::uri uri("http://snap.website//");
      60             : 
      61           1 :         CATCH_REQUIRE(uri.domain() == "snap");
      62           1 :         CATCH_REQUIRE(uri.top_level_domain() == ".website");
      63             :     }
      64             :     CATCH_END_SECTION()
      65             : 
      66           8 :     CATCH_START_SECTION("uri: verify URI with multiple slashes and a path")
      67             :     {
      68           2 :         edhttp::uri uri("http://snap.website///and/a/path");
      69             : 
      70           1 :         CATCH_REQUIRE(uri.domain() == "snap");
      71           1 :         CATCH_REQUIRE(uri.top_level_domain() == ".website");
      72           1 :         CATCH_REQUIRE(uri.path() == "and/a/path");
      73             :     }
      74             :     CATCH_END_SECTION()
      75          10 : }
      76             : 
      77             : 
      78             : // vim: ts=4 sw=4 et

Generated by: LCOV version 1.13