Changeset View
Changeset View
Standalone View
Standalone View
swh/web/tests/common/test_highlightjs.py
# Copyright (C) 2017-2018 The Software Heritage developers | # Copyright (C) 2017-2019 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU Affero General Public License version 3, or any later version | # License: GNU Affero General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
from swh.web.common import highlightjs | from swh.web.common import highlightjs | ||||
from swh.web.tests.testcase import WebTestCase | |||||
class HighlightJsTestCase(WebTestCase): | def test_get_hljs_language_from_mime_type(): | ||||
def test_get_hljs_language_from_mime_type(self): | |||||
lang = highlightjs.get_hljs_language_from_mime_type('text/plain') | lang = highlightjs.get_hljs_language_from_mime_type('text/plain') | ||||
self.assertEqual(lang, None) | assert lang is None | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-c') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-c') | ||||
self.assertEqual(lang, 'cpp') | assert lang == 'cpp' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-c++') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-c++') | ||||
self.assertEqual(lang, 'cpp') | assert lang == 'cpp' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-perl') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-perl') | ||||
self.assertEqual(lang, 'perl') | assert lang == 'perl' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-python') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-python') | ||||
self.assertEqual(lang, 'python') | assert lang == 'python' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-msdos-batch') # noqa | lang = highlightjs.get_hljs_language_from_mime_type('text/x-msdos-batch') | ||||
self.assertEqual(lang, 'dos') | assert lang == 'dos' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-tex') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-tex') | ||||
self.assertEqual(lang, 'tex') | assert lang == 'tex' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-lisp') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-lisp') | ||||
self.assertEqual(lang, 'lisp') | assert lang == 'lisp' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-java') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-java') | ||||
self.assertEqual(lang, 'java') | assert lang == 'java' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-makefile') | lang = highlightjs.get_hljs_language_from_mime_type('text/x-makefile') | ||||
self.assertEqual(lang, 'makefile') | assert lang == 'makefile' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('text/x-shellscript') # noqa | lang = highlightjs.get_hljs_language_from_mime_type('text/x-shellscript') | ||||
self.assertEqual(lang, 'bash') | assert lang == 'bash' | ||||
lang = highlightjs.get_hljs_language_from_mime_type('image/png') | lang = highlightjs.get_hljs_language_from_mime_type('image/png') | ||||
self.assertEqual(lang, None) | assert lang is None | ||||
def test_get_hljs_language_from_filename(self): | |||||
lang = highlightjs.get_hljs_language_from_filename('foo') | |||||
self.assertEqual(lang, None) | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.h') | |||||
self.assertEqual(lang, 'cpp') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.c') | |||||
self.assertEqual(lang, 'cpp') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.c.in') | |||||
self.assertEqual(lang, 'cpp') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.cpp') | |||||
self.assertEqual(lang, 'cpp') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.pl') | |||||
self.assertEqual(lang, 'perl') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.py') | |||||
self.assertEqual(lang, 'python') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.md') | |||||
self.assertEqual(lang, 'markdown') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.js') | |||||
self.assertEqual(lang, 'javascript') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.bat') | |||||
self.assertEqual(lang, 'dos') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.json') | |||||
self.assertEqual(lang, 'json') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.yml') | |||||
self.assertEqual(lang, 'yaml') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.ini') | |||||
self.assertEqual(lang, 'ini') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.cfg') | |||||
self.assertEqual(lang, 'ini') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.hy') | |||||
self.assertEqual(lang, 'hy') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.lisp') | |||||
self.assertEqual(lang, 'lisp') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.java') | |||||
self.assertEqual(lang, 'java') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.sh') | |||||
self.assertEqual(lang, 'bash') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.cmake') | |||||
self.assertEqual(lang, 'cmake') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.ml') | |||||
self.assertEqual(lang, 'ocaml') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.mli') | |||||
self.assertEqual(lang, 'ocaml') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.rb') | |||||
self.assertEqual(lang, 'ruby') | |||||
lang = highlightjs.get_hljs_language_from_filename('foo.jl') | |||||
self.assertEqual(lang, 'julia') | |||||
lang = highlightjs.get_hljs_language_from_filename('Makefile') | def test_get_hljs_language_from_filename(): | ||||
self.assertEqual(lang, 'makefile') | |||||
lang = highlightjs.get_hljs_language_from_filename('CMakeLists.txt') | for filename, language in ( | ||||
self.assertEqual(lang, 'cmake') | ('foo', None), ('foo.h', 'cpp'), ('foo.c', 'cpp'), ('foo.c.in', 'cpp'), | ||||
('foo.cpp', 'cpp'), ('foo.pl', 'perl'), ('foo.py', 'python'), | |||||
('foo.md', 'markdown'), ('foo.js', 'javascript'), ('foo.bat', 'dos'), | |||||
('foo.json', 'json'), ('foo.yml', 'yaml'), ('foo.ini', 'ini'), | |||||
('foo.cfg', 'ini'), ('foo.hy', 'hy'), ('foo.lisp', 'lisp'), | |||||
('foo.java', 'java'), ('foo.sh', 'bash'), ('foo.cmake', 'cmake'), | |||||
('foo.ml', 'ocaml'), ('foo.mli', 'ocaml'), ('foo.rb', 'ruby'), | |||||
('foo.jl', 'julia'), ('Makefile', 'makefile'), | |||||
('CMakeLists.txt', 'cmake') | |||||
): | |||||
lang = highlightjs.get_hljs_language_from_filename(filename) | |||||
assert lang == language | |||||
vlorentz: this could be a list of 2-tuples and a for loop. | |||||
Done Inline ActionsAck, will update anlambert: Ack, will update |
this could be a list of 2-tuples and a for loop.