@@ -167,6 +167,38 @@ def start_requests(self):
167167 assert resp .splash_response_status == 200
168168
169169
170+ @requires_splash
171+ @inlineCallbacks
172+ def test_cache_args (settings ):
173+
174+ class CacheArgsSpider (ResponseSpider ):
175+ def _request (self , url ):
176+ return SplashRequest (url , endpoint = 'execute' ,
177+ args = {'lua_source' : DEFAULT_SCRIPT , 'x' : 'yy' },
178+ cache_args = ['lua_source' ])
179+
180+ def start_requests (self ):
181+ yield self ._request (self .url )
182+
183+ def parse (self , response ):
184+ yield {'response' : response }
185+ yield self ._request (self .url + "#foo" )
186+
187+
188+ items , url , crawler = yield crawl_items (CacheArgsSpider , HelloWorld ,
189+ settings )
190+ assert len (items ) == 2
191+ resp = items [0 ]['response' ]
192+ assert b"function main(splash)" in resp .request .body
193+ assert b"yy" in resp .request .body
194+ print (resp .body , resp .request .body )
195+
196+ resp = items [1 ]['response' ]
197+ assert b"function main(splash)" not in resp .request .body
198+ assert b"yy" in resp .request .body
199+ print (resp .body , resp .request .body )
200+
201+
170202@requires_splash
171203@inlineCallbacks
172204def test_cookies (settings ):
0 commit comments