Merge pull request #117 from sondinhinfectious/master

Discovery: Treat empty nextPageToken field the same as it not existing.
diff --git a/googleapiclient/discovery.py b/googleapiclient/discovery.py
index 002a7dd..ea01a02 100644
--- a/googleapiclient/discovery.py
+++ b/googleapiclient/discovery.py
@@ -857,7 +857,7 @@
     # Retrieve nextPageToken from previous_response
     # Use as pageToken in previous_request to create new request.
 
-    if 'nextPageToken' not in previous_response:
+    if 'nextPageToken' not in previous_response or not previous_response['nextPageToken']:
       return None
 
     request = copy.copy(previous_request)
diff --git a/tests/test_discovery.py b/tests/test_discovery.py
index 6d95ca1..fd8e01e 100644
--- a/tests/test_discovery.py
+++ b/tests/test_discovery.py
@@ -1183,6 +1183,14 @@
     request = tasks.tasklists().list()
     self.assertEqual(None, tasks.tasklists().list_next(request, {}))
 
+  def test_next_successful_none_on_empty_page_token(self):
+    self.http = HttpMock(datafile('tasks.json'), {'status': '200'})
+    tasks = build('tasks', 'v1', http=self.http)
+    request = tasks.tasklists().list()
+    next_request = tasks.tasklists().list_next(
+        request, {'nextPageToken': ''})
+    self.assertEqual(None, next_request)
+
   def test_next_successful_with_next_page_token(self):
     self.http = HttpMock(datafile('tasks.json'), {'status': '200'})
     tasks = build('tasks', 'v1', http=self.http)