import os import unittest from pystache.loader import Loader class LoaderTestCase(unittest.TestCase): def test_init(self): """ Test the __init__() constructor. """ loader = Loader() self.assertEquals(loader.search_dirs, [os.curdir]) self.assertTrue(loader.template_encoding is None) self.assertEquals(loader.template_extension, 'mustache') loader = Loader(search_dirs=['foo'], encoding='utf-8', extension='txt') self.assertEquals(loader.search_dirs, ['foo']) self.assertEquals(loader.template_encoding, 'utf-8') self.assertEquals(loader.template_extension, 'txt') def test_template_is_loaded(self): loader = Loader(search_dirs='examples') template = loader.load_template('simple') self.assertEqual(template, 'Hi {{thing}}!{{blank}}') def test_using_list_of_paths(self): loader = Loader(search_dirs=['doesnt_exist', 'examples']) template = loader.load_template('simple') self.assertEqual(template, 'Hi {{thing}}!{{blank}}') def test_non_existent_template_fails(self): loader = Loader() self.assertRaises(IOError, loader.load_template, 'doesnt_exist')