Fixed issue #12 - Cache-Control: only-if-cached incorrectly does request if item not in cache
diff --git a/httplib2test.py b/httplib2test.py
index f882b17..a0b4dc5 100755
--- a/httplib2test.py
+++ b/httplib2test.py
@@ -205,13 +205,27 @@
         self.assertEqual(response.status, 200)
         self.assertEqual(response.previous, None)
 
+    def testGetOnlyIfCachedCacheHit(self):
+        # Test that can do a GET with cache and 'only-if-cached'
+        uri = urlparse.urljoin(base, "304/test_etag.txt")
+        (response, content) = self.http.request(uri, "GET")
+        (response, content) = self.http.request(uri, "GET", headers={'cache-control': 'only-if-cached'})
+        self.assertEqual(response.fromcache, True)
+        self.assertEqual(response.status, 200)
+
+    def testGetOnlyIfCachedCacheMissCache(self):
+        # Test that can do a GET with cache and 'only-if-cached'
+        uri = urlparse.urljoin(base, "304/test_etag.txt")
+        (response, content) = self.http.request(uri, "GET", headers={'cache-control': 'only-if-cached'})
+        self.assertEqual(response.fromcache, False)
+        self.assertEqual(response.status, 504)
+
     def testGetOnlyIfCachedCacheMiss(self):
         # Test that can do a GET with no cache with 'only-if-cached'
-        http = httplib2.Http()
         uri = urlparse.urljoin(base, "304/test_etag.txt")
-        (response, content) = http.request(uri, "GET", headers={'cache-control': 'only-if-cached'})
+        (response, content) = self.http.request(uri, "GET", headers={'cache-control': 'only-if-cached'})
         self.assertEqual(response.fromcache, False)
-        self.assertEqual(response.status, 200)
+        self.assertEqual(response.status, 504)
 
     def testGetOnlyIfCachedNoCacheAtAll(self):
         # Test that can do a GET with no cache with 'only-if-cached'
@@ -222,7 +236,7 @@
         uri = urlparse.urljoin(base, "304/test_etag.txt")
         (response, content) = http.request(uri, "GET", headers={'cache-control': 'only-if-cached'})
         self.assertEqual(response.fromcache, False)
-        self.assertEqual(response.status, 200)
+        self.assertEqual(response.status, 504)
 
     def testUserAgent(self):
         # Test that we provide a default user-agent