38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Created on Thu Jul 18 23:13:15 2013
|
|
|
|
@author: shanef
|
|
"""
|
|
|
|
import unittest
|
|
from minimock import Mock
|
|
import os
|
|
import sys
|
|
parentdir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
|
sys.path.insert(0, parentdir)
|
|
import libtvdatasource
|
|
|
|
|
|
class tvdatasourceTest(unittest.TestCase):
|
|
def test_GetOutputFilenameNoIllegals(self):
|
|
result = self._dooutputfilenametest("S01", "E02", "test name", "")
|
|
self.assertEqual(result, "S01E02 - test name - SD TV_.mpg")
|
|
|
|
def test_GetOutputFilenameOneIllegals(self):
|
|
result = self._dooutputfilenametest("S01", "E02", "test name?", "?")
|
|
self.assertEqual(result, "S01E02 - test name - SD TV_.mpg")
|
|
|
|
def test_GetOutputFilenameTwoIllegals(self):
|
|
result = self._dooutputfilenametest("S01", "E02", "tes>t name?", ["?", ">"])
|
|
self.assertEqual(result, "S01E02 - test name - SD TV_.mpg")
|
|
|
|
def _dooutputfilenametest(self, season, episode, name, illegals):
|
|
settings = Mock('libsettings.Settings')
|
|
settings.illegalcharacters.mock_returns = illegals
|
|
tvdatasource = libtvdatasource.TVData(settings)
|
|
return tvdatasource.getoutputfilename(season, episode, name)
|
|
|
|
if __name__ == '__main__':
|
|
suite = unittest.TestLoader().loadTestsFromTestCase(tvdatasourceTest)
|
|
unittest.TextTestRunner(verbosity=2).run(suite) |