diff --git a/src/mango_cursor_text.erl b/src/mango_cursor_text.erl
index 971d153..847b04c 100644
--- a/src/mango_cursor_text.erl
+++ b/src/mango_cursor_text.erl
@@ -301,4 +301,3 @@
                 {Sort, not_found}
         end
     end, Hits).
-
diff --git a/src/mango_error.erl b/src/mango_error.erl
index 9b7ae82..f0a8ee2 100644
--- a/src/mango_error.erl
+++ b/src/mango_error.erl
@@ -58,7 +58,7 @@
         <<"multiple_text_indexes">>,
         <<"You must specify an index with the `use_index` parameter.">>
     };
-info(mango_cursor_text, {text_search_error, {error, {bad_request, Msg}}}) 
+info(mango_cursor_text, {text_search_error, {error, {bad_request, Msg}}})
         when is_binary(Msg) ->
     {
         400,
diff --git a/test/01-index-crud-test.py b/test/01-index-crud-test.py
index 021d66e..24aa99d 100644
--- a/test/01-index-crud-test.py
+++ b/test/01-index-crud-test.py
@@ -227,7 +227,7 @@
             assert e.response.status_code == 404
         else:
             raise AssertionError("bad index delete")
-    
+
     @unittest.skip
     def test_create_text_idx(self):
         fields = [
@@ -246,7 +246,7 @@
             ]
             return
         raise AssertionError("index not created")
-    
+
     @unittest.skip
     def test_create_bad_text_idx(self):
         bad_fields = [
diff --git a/test/07-text-custom-field-list-test.py b/test/07-text-custom-field-list-test.py
index 8d68a1f..f060d79 100644
--- a/test/07-text-custom-field-list-test.py
+++ b/test/07-text-custom-field-list-test.py
@@ -65,7 +65,7 @@
         docs = self.db.find({"location.state": "New Hampshire"})
         assert len(docs) == 1
         assert docs[0]["user_id"] == 10
-    
+
     # Since our FIELDS list only includes "name\\.first", we should
     # get an error when we try to search for "name.first", since the index
     # for that field does not exist.
diff --git a/test/literal_gen.py b/test/literal_gen.py
index 7cf60dd..cf46017 100644
--- a/test/literal_gen.py
+++ b/test/literal_gen.py
@@ -14,7 +14,7 @@
 from string import digits, hexdigits
 
 def joiner(*items):
-    return ''.join(item() for item in items)  
+    return ''.join(item() for item in items)
 
 def roll(item, n1, n2=None):
     n2 = n2 or n1
