def test_output_popen_error_output(self, popen_mock): popen_mock.return_value.wait.return_value = 1 popen_mock.return_value.communicate.return_value = 'ERROR COMMAND OUTPUT' instance = UglifyJSSourcemapFilter(content='') with pytest.raises(FilterError) as exc: instance.output(root_location='', outfile='out.js', content_meta=[]) assert str(exc.value) == 'ERROR COMMAND OUTPUT'
def test_output_popen_exception(self, popen_mock): popen_mock.side_effect = OSError('foo') instance = UglifyJSSourcemapFilter(content='') with pytest.raises(FilterError) as exc: instance.output(root_location='', outfile='out.js', content_meta=[]) assert str(exc.value) == ( 'Unable to apply UglifyJSSourcemapFilter (uglifyjs -o out.js ' '--source-map out.map.js --source-map-root /static/ ' '--source-map-url /static/out.map.js -c -m): foo' )
def test_output_popen_errorcode(self, popen_mock): popen_mock.return_value.wait.return_value = 1 popen_mock.return_value.communicate.return_value = '' instance = UglifyJSSourcemapFilter(content='') with pytest.raises(FilterError) as exc: instance.output(root_location='', outfile='out.js', content_meta=[]) assert str(exc.value) == ( 'Unable to apply UglifyJSSourcemapFilter (uglifyjs -o out.js ' '--source-map out.map.js --source-map-root /static/ ' '--source-map-url /static/out.map.js -c -m)' )
def test_output(self, popen_mock, settings): popen_mock.return_value.wait.return_value = 0 instance = UglifyJSSourcemapFilter(content='') inline_content = ( "function test( test, test2) { console.log(test);alert(test2 +'lorem');}") instance.output(root_location=settings.STATIC_ROOT, outfile='out.js', content_meta=[ ('file', None, 'file.js'), ('inline', inline_content, None) ]) assert popen_mock.called is True assert popen_mock.call_args[0][0] == ( 'uglifyjs file.js inline-66ba8f5c4310.js -o out.js ' '--source-map out.map.js ' '--source-map-root /static/ ' '--source-map-url /static/out.map.js -c -m' ) assert open(os.path.join( settings.STATIC_ROOT, 'inline-66ba8f5c4310.js'), 'r').read() == inline_content