Index: uspace/lib/cpp/include/internal/test/tests.hpp
===================================================================
--- uspace/lib/cpp/include/internal/test/tests.hpp	(revision 53e8686f9b64c4a8d559615233b096849045a96b)
+++ uspace/lib/cpp/include/internal/test/tests.hpp	(revision 173a246e7d10462c87c0f11a10afef7c689429c2)
@@ -71,4 +71,5 @@
             void test_erase();
             void test_replace();
+            void test_copy();
     };
 }
Index: uspace/lib/cpp/src/internal/test/string.cpp
===================================================================
--- uspace/lib/cpp/src/internal/test/string.cpp	(revision 53e8686f9b64c4a8d559615233b096849045a96b)
+++ uspace/lib/cpp/src/internal/test/string.cpp	(revision 173a246e7d10462c87c0f11a10afef7c689429c2)
@@ -41,4 +41,5 @@
         test_erase();
         test_replace();
+        test_copy();
 
         return true;
@@ -371,3 +372,18 @@
         );
     }
+
+    void string_test::test_copy()
+    {
+        std::string check{"CCABB"};
+
+        std::string str1{"ACCCA"};
+        std::string str2{"BBBBB"};
+
+        str1.copy(const_cast<char*>(str2.c_str()), 3, 2);
+        test_eq(
+            "copy",
+            str2.begin(), str2.end(),
+            check.begin(), check.end()
+        );
+    }
 }
