def test_exclusive_tags(self): """Testing exclusive tags.""" self.args.exc_tags = {'link': 'href', 'img': 'src'} res = staticfy(self.filename, args=self.args) expected_result = ("""<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="/static/images/staticfy.jpg" />\n""" """<img data-url="images/staticfy.jpg" />\n""" """<link rel="stylesheet" href="../css/style.css" />\n""" """<script src="{{ url_for('static', filename='js/script.js') }}">alert("hello world")</script>\n""" ) self.assertEqual(res, expected_result)
def test_cleanup_html(self): """Testing HTML cleanup.""" result = staticfy(self.filename, args=self.args) expected_result = ("""<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="{{ url_for('static', filename='images/staticfy.jpg') }}" />\n""" """<img data-url="images/staticfy.jpg" />\n""" """<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}" />\n""" """<script src="{{ url_for('static', filename='js/script.js') }}">alert("hello world")</script>\n""" ) self.assertEqual(result, expected_result)
def test_replace_relative_links(self): """Testing replace_relative_links.""" self.args.framework = 'django' result = staticfy(self.filename, args=self.args) expected_result = ("""<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="{% static 'images/staticfy.jpg' %}" />\n""" """<img data-url="images/staticfy.jpg" />\n""" """<link rel="stylesheet" href="{% static 'css/style.css' %}" />\n""" """<script src="{% static 'js/script.js' %}">alert("hello world")</script>\n""" ) self.assertEqual(result, expected_result)
def test_laravel_project(self): """Testing Laravel => {{ URL::asset('css/bootstrap.min.css') }}.""" self.args.framework = 'laravel' result = staticfy(self.filename, args=self.args) expected_result = ("""<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="{{ URL::asset('images/staticfy.jpg') }}" />\n""" """<img data-url="images/staticfy.jpg" />\n""" """<link rel="stylesheet" href="{{ URL::asset('css/style.css') }}" />\n""" """<script src="{{ URL::asset('js/script.js') }}">alert("hello world")</script>\n""" ) self.assertEqual(result, expected_result)
def test_additional_tags(self): out_file = staticfy(self.filename, add_tags={'img': 'data-url'}) with open(out_file, 'r') as f: file_contents = f.read() expected_result = ( """<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="{{ url_for('static', filename='images/staticfy.jpg') }}" />\n""" """<img data-url="{{ url_for('static', filename='images/staticfy.jpg') }}" />\n""" """<link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}" />\n""" """<script src="{{ url_for('static', filename='js/script.js') }}">alert("hello world")</script>\n""" ) self.assertEqual(file_contents, expected_result)
def test_django_project(self): out_file = staticfy(self.filename, project_type='django') with open(out_file, 'r') as f: file_contents = f.read() expected_result = ( """<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="{% static 'images/staticfy.jpg' %}" />\n""" """<img data-url="images/staticfy.jpg" />\n""" """<link rel="stylesheet" href="{% static 'css/style.css' %}" />\n""" """<script src="{% static 'js/script.js' %}">alert("hello world")</script>\n""" ) self.assertEqual(file_contents, expected_result)
def test_laravel_project(self): # laravel url's look like this {{ URL::asset('css/bootstrap.min.css') }} out_file = staticfy(self.filename, project_type='laravel') with open(out_file, 'r') as f: file_contents = f.read() expected_result = ( """<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.css" />\n""" """<img src="{{ URL::asset('images/staticfy.jpg') }}" />\n""" """<img data-url="images/staticfy.jpg" />\n""" """<link rel="stylesheet" href="{{ URL::asset('css/style.css') }}" />\n""" """<script src="{{ URL::asset('js/script.js') }}">alert("hello world")</script>\n""" ) self.assertEqual(file_contents, expected_result)