def test_processing(self): from staticcomp.compressor import JsCompressor # first init uncached j = JsCompressor(self.js) data = j.compress_code() self.assertEqual(self.js, data) # second call returns data in process cached_data = j.compress_code() self.assertTrue(bool(processing_re.search(cached_data)))
def test_compress(self): from staticcomp.compressor import JsCompressor import time limit = 100 # 10 seconds count = 0 j = JsCompressor(self.js) j.compress_code() while processing_re.search(j.compress_code()): time.sleep(.1) count += 1 if count > limit: self.fail("Data not compressed within 10 seconds") self.assertTrue(bool(compressed_re.search(j.compress_code())), True)
def render(self, context): orig_script = self.nodelist.render(context) if not orig_script: return "" # staticcomp kill switch if getattr(settings, 'STATICCOMP_DISABLE', False): return orig_script script_parser = ScriptBlockHtmlParser() script_parser.feed(orig_script) data = script_parser.js_data if data: js_compressor = JsCompressor(data=data) js_compressor.init() compressed_code = js_compressor.compress_code() return compressed_script.format(script=compressed_code) return orig_script