Fix bug for ".local" host name
diff --git a/scrapy/http/cookies.py b/scrapy/http/cookies.py
index cc96cf8ac05..3e3dff741ad 100644
--- a/scrapy/http/cookies.py
+++ b/scrapy/http/cookies.py
@@ -29,7 +29,7 @@ def add_cookie_header(self, request):
         if not IPV4_RE.search(req_host):
             hosts = potential_domain_matches(req_host)
             if req_host.find(".") == -1:
-                hosts += req_host + ".local"
+                hosts += [req_host + ".local"]
         else:
             hosts = [req_host]
 
diff --git a/tests/test_downloadermiddleware_cookies.py b/tests/test_downloadermiddleware_cookies.py
index ffa3a550c71..1ca52ef84fd 100644
--- a/tests/test_downloadermiddleware_cookies.py
+++ b/tests/test_downloadermiddleware_cookies.py
@@ -8,6 +8,12 @@
 
 class CookiesMiddlewareTest(TestCase):
 
+    def test_local_domain(self):
+        request = Request("http://example-host/", cookies={'currencyCookie': 'USD'})
+        assert self.mw.process_request(request, self.spider) is None
+        assert 'Cookie' in request.headers
+        assert 'currencyCookie' in request.headers['Cookie']
+
     def assertCookieValEqual(self, first, second, msg=None):
         cookievaleq = lambda cv: re.split(';\s*', cv)
         return self.assertEqual(

It's necessary to put new list member in square brackets (i.e. create new list) to merge lists properly, otherwise we will get result list with character elements instead of string element.
