mirror of
https://github.com/django/django.git
synced 2025-09-26 12:09:19 +00:00
Fixed #12112 -- Made the colors used by syntax highlighting customizable.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12009 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
9319f89547
commit
c38d66a216
6 changed files with 368 additions and 18 deletions
149
tests/regressiontests/utils/termcolors.py
Normal file
149
tests/regressiontests/utils/termcolors.py
Normal file
|
@ -0,0 +1,149 @@
|
|||
from unittest import TestCase
|
||||
|
||||
from django.utils.termcolors import parse_color_setting, PALETTES, DEFAULT_PALETTE, LIGHT_PALETTE, DARK_PALETTE, NOCOLOR_PALETTE
|
||||
|
||||
class TermColorTests(TestCase):
|
||||
|
||||
def test_empty_string(self):
|
||||
self.assertEquals(parse_color_setting(''), PALETTES[DEFAULT_PALETTE])
|
||||
|
||||
def test_simple_palette(self):
|
||||
self.assertEquals(parse_color_setting('light'), PALETTES[LIGHT_PALETTE])
|
||||
self.assertEquals(parse_color_setting('dark'), PALETTES[DARK_PALETTE])
|
||||
self.assertEquals(parse_color_setting('nocolor'), None)
|
||||
|
||||
def test_fg(self):
|
||||
self.assertEquals(parse_color_setting('error=green'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
|
||||
def test_fg_bg(self):
|
||||
self.assertEquals(parse_color_setting('error=green/blue'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg':'blue'}))
|
||||
|
||||
def test_fg_opts(self):
|
||||
self.assertEquals(parse_color_setting('error=green,blink'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'opts': ('blink',)}))
|
||||
self.assertEquals(parse_color_setting('error=green,bold,blink'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'opts': ('blink','bold')}))
|
||||
|
||||
def test_fg_bg_opts(self):
|
||||
self.assertEquals(parse_color_setting('error=green/blue,blink'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg':'blue', 'opts': ('blink',)}))
|
||||
self.assertEquals(parse_color_setting('error=green/blue,bold,blink'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg':'blue', 'opts': ('blink','bold')}))
|
||||
|
||||
def test_override_palette(self):
|
||||
self.assertEquals(parse_color_setting('light;error=green'),
|
||||
dict(PALETTES[LIGHT_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
|
||||
def test_override_nocolor(self):
|
||||
self.assertEquals(parse_color_setting('nocolor;error=green'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg': 'green'}))
|
||||
|
||||
def test_reverse_override(self):
|
||||
self.assertEquals(parse_color_setting('error=green;light'), PALETTES[LIGHT_PALETTE])
|
||||
|
||||
def test_multiple_roles(self):
|
||||
self.assertEquals(parse_color_setting('error=green;sql_field=blue'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'},
|
||||
SQL_FIELD={'fg':'blue'}))
|
||||
|
||||
def test_override_with_multiple_roles(self):
|
||||
self.assertEquals(parse_color_setting('light;error=green;sql_field=blue'),
|
||||
dict(PALETTES[LIGHT_PALETTE],
|
||||
ERROR={'fg':'green'},
|
||||
SQL_FIELD={'fg':'blue'}))
|
||||
|
||||
def test_empty_definition(self):
|
||||
self.assertEquals(parse_color_setting(';'), None)
|
||||
self.assertEquals(parse_color_setting('light;'), PALETTES[LIGHT_PALETTE])
|
||||
self.assertEquals(parse_color_setting(';;;'), None)
|
||||
|
||||
def test_empty_options(self):
|
||||
self.assertEquals(parse_color_setting('error=green,'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('error=green,,,'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('error=green,,blink,,'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'opts': ('blink',)}))
|
||||
|
||||
def test_bad_palette(self):
|
||||
self.assertEquals(parse_color_setting('unknown'), None)
|
||||
|
||||
def test_bad_role(self):
|
||||
self.assertEquals(parse_color_setting('unknown='), None)
|
||||
self.assertEquals(parse_color_setting('unknown=green'), None)
|
||||
self.assertEquals(parse_color_setting('unknown=green;sql_field=blue'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
SQL_FIELD={'fg':'blue'}))
|
||||
|
||||
def test_bad_color(self):
|
||||
self.assertEquals(parse_color_setting('error='), None)
|
||||
self.assertEquals(parse_color_setting('error=;sql_field=blue'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
SQL_FIELD={'fg':'blue'}))
|
||||
self.assertEquals(parse_color_setting('error=unknown'), None)
|
||||
self.assertEquals(parse_color_setting('error=unknown;sql_field=blue'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
SQL_FIELD={'fg':'blue'}))
|
||||
self.assertEquals(parse_color_setting('error=green/unknown'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('error=green/blue/something'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg': 'blue'}))
|
||||
self.assertEquals(parse_color_setting('error=green/blue/something,blink'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg': 'blue', 'opts': ('blink',)}))
|
||||
|
||||
def test_bad_option(self):
|
||||
self.assertEquals(parse_color_setting('error=green,unknown'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('error=green,unknown,blink'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'opts': ('blink',)}))
|
||||
|
||||
def test_role_case(self):
|
||||
self.assertEquals(parse_color_setting('ERROR=green'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('eRrOr=green'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
|
||||
def test_color_case(self):
|
||||
self.assertEquals(parse_color_setting('error=GREEN'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('error=GREEN/BLUE'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg':'blue'}))
|
||||
|
||||
self.assertEquals(parse_color_setting('error=gReEn'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green'}))
|
||||
self.assertEquals(parse_color_setting('error=gReEn/bLuE'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'bg':'blue'}))
|
||||
|
||||
def test_opts_case(self):
|
||||
self.assertEquals(parse_color_setting('error=green,BLINK'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'opts': ('blink',)}))
|
||||
|
||||
self.assertEquals(parse_color_setting('error=green,bLiNk'),
|
||||
dict(PALETTES[NOCOLOR_PALETTE],
|
||||
ERROR={'fg':'green', 'opts': ('blink',)}))
|
|
@ -9,8 +9,8 @@ from django.utils.functional import SimpleLazyObject
|
|||
|
||||
import timesince
|
||||
import datastructures
|
||||
import dateformat
|
||||
import itercompat
|
||||
|
||||
from decorators import DecoratorFromMiddlewareTests
|
||||
|
||||
# We need this because "datastructures" uses sorted() and the tests are run in
|
||||
|
@ -28,6 +28,7 @@ __test__ = {
|
|||
}
|
||||
|
||||
from dateformat import *
|
||||
from termcolors import *
|
||||
|
||||
class TestUtilsHtml(TestCase):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue