diff --git a/src/name-component.cpp b/src/name-component.cpp
index bd551b2..893a852 100644
--- a/src/name-component.cpp
+++ b/src/name-component.cpp
@@ -30,7 +30,6 @@
 #include "util/sha256.hpp"
 #include "util/string-helper.hpp"
 
-#include <boost/algorithm/string/trim.hpp>
 #include <cstring>
 #include <sstream>
 
@@ -112,7 +111,6 @@
 Component
 Component::fromEscapedString(std::string input)
 {
-  boost::algorithm::trim(input);
   uint32_t type = tlv::GenericNameComponent;
   size_t equalPos = input.find('=');
   if (equalPos != std::string::npos) {
diff --git a/src/name.cpp b/src/name.cpp
index d80fecf..7bbcc2b 100644
--- a/src/name.cpp
+++ b/src/name.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /*
- * Copyright (c) 2013-2017 Regents of the University of California.
+ * Copyright (c) 2013-2018 Regents of the University of California.
  *
  * This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
  *
@@ -30,7 +30,6 @@
 #include "util/time.hpp"
 
 #include <sstream>
-#include <boost/algorithm/string/trim.hpp>
 #include <boost/functional/hash.hpp>
 #include <boost/range/adaptor/reversed.hpp>
 #include <boost/range/concepts.hpp>
@@ -71,7 +70,6 @@
 
 Name::Name(std::string uri)
 {
-  boost::algorithm::trim(uri);
   if (uri.empty())
     return;
 
@@ -82,7 +80,6 @@
     if (iFirstSlash == std::string::npos || iColon < iFirstSlash) {
       // Omit the leading protocol such as ndn:
       uri.erase(0, iColon + 1);
-      boost::algorithm::trim(uri);
     }
   }
 
@@ -96,12 +93,10 @@
         return;
       else {
         uri.erase(0, iAfterAuthority + 1);
-        boost::algorithm::trim(uri);
       }
     }
     else {
       uri.erase(0, 1);
-      boost::algorithm::trim(uri);
     }
   }
 
diff --git a/tests/unit-tests/name.t.cpp b/tests/unit-tests/name.t.cpp
index 27b0255..c934be1 100644
--- a/tests/unit-tests/name.t.cpp
+++ b/tests/unit-tests/name.t.cpp
@@ -55,12 +55,36 @@
   BOOST_CHECK_EQUAL(decoded, name);
 }
 
-BOOST_AUTO_TEST_CASE(NameWithSpaces)
+BOOST_AUTO_TEST_CASE(ParseUri)
 {
-  Name name("/ hello\t/\tworld \r\n");
+  // URI with correct scheme
+  BOOST_CHECK_EQUAL(Name("ndn:/hello/world").toUri(), "/hello/world");
 
-  BOOST_CHECK_EQUAL("/hello/world", name);
+  // URI with incorrect scheme: auto-corrected
+  BOOST_CHECK_EQUAL(Name("ncc:/hello/world").toUri(), "/hello/world");
+
+  // URI with authority: authority ignored
+  BOOST_CHECK_EQUAL(Name("//authority/hello/world").toUri(), "/hello/world");
+  BOOST_CHECK_EQUAL(Name("ndn://authority/hello/world").toUri(), "/hello/world");
+
+  // URI containing unescaped characters: auto-corrected
+  BOOST_CHECK_EQUAL(Name("/ hello\t/\tworld \r\n").toUri(), "/%20hello%09/%09world%20%0D%0A");
+  BOOST_CHECK_EQUAL(Name("/hello/world/  ").toUri(), "/hello/world/%20%20");
+  BOOST_CHECK_EQUAL(Name("/:?#[]@").toUri(), "/%3A%3F%23%5B%5D%40");
+
+  // URI not starting with '/': accepted as PartialName
+  BOOST_CHECK_EQUAL(Name("").toUri(), "/");
+  BOOST_CHECK_EQUAL(Name(" ").toUri(), "/%20");
+  BOOST_CHECK_EQUAL(Name("  /hello/world").toUri(), "/%20%20/hello/world");
+  BOOST_CHECK_EQUAL(Name("hello/world").toUri(), "/hello/world");
+
+  // URI ending with '/': auto-corrected
+  BOOST_CHECK_EQUAL(Name("/hello/world/").toUri(), "/hello/world");
+
+  // URI containing bad component: rejected
   BOOST_CHECK_THROW(Name("/hello//world"), name::Component::Error);
+  BOOST_CHECK_THROW(Name("/hello/./world"), name::Component::Error);
+  BOOST_CHECK_THROW(Name("/hello/../world"), name::Component::Error);
 }
 
 BOOST_AUTO_TEST_CASE(DeepCopy)
@@ -104,7 +128,7 @@
 
   BOOST_CHECK_EQUAL("/hello/world", name.getSubName(0));
   BOOST_CHECK_EQUAL("/world", name.getSubName(1));
-  BOOST_CHECK_EQUAL("/hello/", name.getSubName(0, 1));
+  BOOST_CHECK_EQUAL("/hello", name.getSubName(0, 1));
 }
 
 BOOST_AUTO_TEST_CASE(SubNameNegativeIndex)
