70 lines
2.6 KiB
Python
70 lines
2.6 KiB
Python
# coding=utf-8
|
|
"""
|
|
Test titlecase extension
|
|
"""
|
|
|
|
import string
|
|
|
|
from inkex.tester import ComparisonMixin, TestCase
|
|
from inkex.tester.word import sentencecase, word_generator
|
|
from text_titlecase import TitleCase
|
|
|
|
|
|
class TitleCaseTest(ComparisonMixin, TestCase):
|
|
effect_class = TitleCase
|
|
comparisons = [()]
|
|
|
|
def test_lowercase(self):
|
|
var = word_generator(6)
|
|
var1 = word_generator(9)
|
|
var2 = word_generator(10)
|
|
words = var.lower() + " " + var1.lower() + " " + var2.lower()
|
|
titlecase = self.effect.process_chardata(words)
|
|
self.assertEqual(self.effect.process_chardata(words), titlecase)
|
|
|
|
def test_uppercase(self):
|
|
var = word_generator(6)
|
|
var1 = word_generator(9)
|
|
var2 = word_generator(10)
|
|
words = var.upper() + " " + var1.upper() + " " + var2.upper()
|
|
titlecase = self.effect.process_chardata(words)
|
|
self.assertEqual(self.effect.process_chardata(words), titlecase)
|
|
|
|
def test_sentencecase(self):
|
|
var = word_generator(5)
|
|
var1 = word_generator(8)
|
|
var2 = word_generator(7)
|
|
words = var + " " + var1 + " " + var2
|
|
word_new = sentencecase(words)
|
|
titlecase = self.effect.process_chardata(word_new)
|
|
self.assertEqual(self.effect.process_chardata(word_new), titlecase)
|
|
|
|
def test_numbers_before(self):
|
|
words = word_generator(15)
|
|
word_new = words.zfill(20)
|
|
titlecase = self.effect.process_chardata(word_new)
|
|
self.assertEqual(self.effect.process_chardata(word_new), titlecase)
|
|
|
|
def test_punctuation_before(self):
|
|
words = word_generator(15)
|
|
word_new = string.punctuation + words
|
|
titlecase = self.effect.process_chardata(word_new)
|
|
self.assertEqual(self.effect.process_chardata(word_new), titlecase)
|
|
|
|
def test_check_strings(self):
|
|
titlecase_strings = [
|
|
("i love inkscape", "I Love Inkscape"),
|
|
("i LOVE inkscape", "I Love Inkscape"),
|
|
("I love Inkscape", "I Love Inkscape"),
|
|
("I LOVE INKSCAPE", "I Love Inkscape"),
|
|
("ThIs Is VeRy AwEsOmE", "This Is Very Awesome"),
|
|
("!$this is Very awesome.", "!$This Is Very Awesome."),
|
|
("this *is @very ^awesome.", "This *Is @Very ^Awesome."),
|
|
("there is a space.", "There Is A Space."),
|
|
("9these 5are 7numbers", "9These 5Are 7Numbers"),
|
|
("thisworddidnotend", "Thisworddidnotend"),
|
|
("This Should Not Change", "This Should Not Change"),
|
|
]
|
|
|
|
for item in titlecase_strings:
|
|
self.assertEqual(self.effect.process_chardata(item[0]), item[1])
|