def test_render(self): band = models.Band.objects.create(name='Linkin Park') album = band.album_set.create( name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg' ) w = AdminFileWidget() self.assertEqual( conditional_escape(w.render('test', album.cover_art)), '<p class="file-upload">Currently: <a href="%(STORAGE_URL)salbums/hybrid_theory.jpg">albums\hybrid_theory.jpg</a> <span class="clearable-file-input"><input type="checkbox" name="test-clear" id="test-clear_id" /> <label for="test-clear_id">Clear</label></span><br />Change: <input type="file" name="test" /></p>' % { 'STORAGE_URL': default_storage.url('') }, ) self.assertEqual( conditional_escape(w.render('test', SimpleUploadedFile('test', 'content'))), '<input type="file" name="test" />', )
def test_render(self): band = models.Band.objects.create(name='Linkin Park') album = band.album_set.create( name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg' ) w = AdminFileWidget() self.assertEqual( conditional_escape(w.render('test', album.cover_art)), '<p class="file-upload">Currently: <a href="%(STORAGE_URL)salbums/hybrid_theory.jpg">albums\hybrid_theory.jpg</a> <span class="clearable-file-input"><input type="checkbox" name="test-clear" id="test-clear_id" /> <label for="test-clear_id">Clear</label></span><br />Change: <input type="file" name="test" /></p>' % { 'STORAGE_URL': default_storage.url('') }, ) self.assertEqual( conditional_escape(w.render('test', SimpleUploadedFile('test', 'content'))), '<input type="file" name="test" />', )
def test_render(self): band = models.Band.objects.create(name='Linkin Park') album = band.album_set.create( name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg' ) w = AdminFileWidget() self.assertEqual( conditional_escape(w.render('test', album.cover_art)), 'Currently: <a target="_blank" href="%(STORAGE_URL)salbums/hybrid_theory.jpg">albums\hybrid_theory.jpg</a> <br />Change: <input type="file" name="test" />' % {'STORAGE_URL': default_storage.url('')}, ) self.assertEqual( conditional_escape(w.render('test', SimpleUploadedFile('test', 'content'))), '<input type="file" name="test" />', )
def test_render(self): band = models.Band.objects.create(name='Linkin Park') album = band.album_set.create( name='Hybrid Theory', cover_art=r'albums\hybrid_theory.jpg' ) w = AdminFileWidget() self.assertEqual( conditional_escape(w.render('test', album.cover_art)), 'Currently: <a target="_blank" href="%(STORAGE_URL)salbums/hybrid_theory.jpg">albums\hybrid_theory.jpg</a> <br />Change: <input type="file" name="test" />' % {'STORAGE_URL': default_storage.url('')}, ) self.assertEqual( conditional_escape(w.render('test', SimpleUploadedFile('test', 'content'))), '<input type="file" name="test" />', )
def render(self, name, value, attrs, width, height): result = '' if value and hasattr(value, 'url') and not value.url.startswith( os.path.join(settings.MEDIA_URL, 'standard%3A')): result = ('<a href="{URL}" target="_blank">' '<img src="{URL}" width="{WIDTH}" height="{HEIGHT}">' '</a>'.format(URL=value.url, WIDTH=width, HEIGHT=height)) # Call super class and return results result += AdminFileWidget.render(self, name, value, attrs) return mark_safe(result)
def test_render_escapes_html(self): class StrangeFieldFile(object): url = "something?chapter=1§=2©=3&lang=en" def __unicode__(self): return u'''something<div onclick="alert('oops')">.jpg''' widget = AdminFileWidget() field = StrangeFieldFile() output = widget.render('myfile', field) self.assertFalse(field.url in output) self.assertTrue(u'href="something?chapter=1&sect=2&copy=3&lang=en"' in output) self.assertFalse(unicode(field) in output) self.assertTrue(u'something<div onclick="alert('oops')">.jpg' in output)
def test_render_escapes_html(self): class StrangeFieldFile(object): url = "something?chapter=1§=2©=3&lang=en" def __unicode__(self): return u'''something<div onclick="alert('oops')">.jpg''' widget = AdminFileWidget() field = StrangeFieldFile() output = widget.render('myfile', field) self.assertFalse(field.url in output) self.assertTrue(u'href="something?chapter=1&sect=2&copy=3&lang=en"' in output) self.assertFalse(unicode(field) in output) self.assertTrue(u'something<div onclick="alert('oops')">.jpg' in output)