class EnvironmentFindTests(TestCase): def setUp(self): self.environment = Environment(STATIC_DIR) self.environment.register_defaults() self.environment.finders.register(FakeFinder()) self.environment.compilers.register( '.coffee', FakeCompiler('application/javascript')) def check_asset_attributes(self, attrs, path): self.assertIsInstance(attrs, AssetAttributes) self.assertIs(attrs.environment, self.environment) self.assertEqual(attrs.path, path) def test_find_by_path(self): attrs, path = self.environment.find('js/models.js.coffee') self.check_asset_attributes(attrs, 'js/models.js.coffee') self.assertEqual(path, '/assets/js/models.js.coffee') def test_find_nothing_by_path(self): with self.assertRaises(FileNotFound): self.environment.find('js/models.js') def test_find_by_path_list(self): attrs, path = self.environment.find(['js/app.js', 'js/app/index.js']) self.check_asset_attributes(attrs, 'js/app/index.js') self.assertEqual(path, '/assets/js/app/index.js') def test_find_nothing_by_path_list(self): with self.assertRaises(FileNotFound): self.environment.find(['style.css', 'style/index.css']) def test_find_by_asset_attributes(self): attrs = AssetAttributes(self.environment, 'js/app.js') attrs, path = self.environment.find(attrs) self.check_asset_attributes(attrs, 'js/app/index.js') self.assertEqual(path, '/assets/js/app/index.js') def test_find_nothing_by_asset_attributes(self): attrs = AssetAttributes(self.environment, 'js/models.js') with self.assertRaises(FileNotFound): self.environment.find(attrs) def test_find_by_logical_path(self): attrs, path = self.environment.find('js/models.js', logical=True) self.check_asset_attributes(attrs, 'js/models.js.coffee') self.assertEqual(path, '/assets/js/models.js.coffee') def test_find_nothing_by_logical_path(self): with self.assertRaises(FileNotFound): self.environment.find('js/views.js', logical=True) def test_save_file(self): with remove_static_dir(): self.environment.save_file('js/script.js', 'hello world') with open(os.path.join(STATIC_DIR, 'js', 'script.js')) as f: self.assertEqual(f.read(), 'hello world')
class EnvironmentFindTests(TestCase): def setUp(self): self.environment = Environment(STATIC_DIR) self.environment.register_defaults() self.environment.finders.register(FakeFinder()) self.environment.engines.register('.coffee', FakeEngine('application/javascript')) def check_asset_attributes(self, attrs, path): self.assertIsInstance(attrs, AssetAttributes) self.assertIs(attrs.environment, self.environment) self.assertEqual(attrs.path, path) def test_find_by_path(self): attrs, path = self.environment.find('js/models.js.coffee') self.check_asset_attributes(attrs, 'js/models.js.coffee') self.assertEqual(path, '/assets/js/models.js.coffee') def test_find_nothing_by_path(self): with self.assertRaises(FileNotFound): self.environment.find('js/models.js') def test_find_by_path_list(self): attrs, path = self.environment.find(['js/app.js', 'js/app/index.js']) self.check_asset_attributes(attrs, 'js/app/index.js') self.assertEqual(path, '/assets/js/app/index.js') def test_find_nothing_by_path_list(self): with self.assertRaises(FileNotFound): self.environment.find(['style.css', 'style/index.css']) def test_find_by_asset_attributes(self): attrs = AssetAttributes(self.environment, 'js/app.js') attrs, path = self.environment.find(attrs) self.check_asset_attributes(attrs, 'js/app/index.js') self.assertEqual(path, '/assets/js/app/index.js') def test_find_nothing_by_asset_attributes(self): attrs = AssetAttributes(self.environment, 'js/models.js') with self.assertRaises(FileNotFound): self.environment.find(attrs) def test_find_by_logical_path(self): attrs, path = self.environment.find('js/models.js', logical=True) self.check_asset_attributes(attrs, 'js/models.js.coffee') self.assertEqual(path, '/assets/js/models.js.coffee') def test_find_nothing_by_logical_path(self): with self.assertRaises(FileNotFound): self.environment.find('js/views.js', logical=True) def test_save_file(self): with remove_static_dir(): self.environment.save_file('js/script.js', 'hello world') with open(os.path.join(STATIC_DIR, 'js', 'script.js')) as f: self.assertEqual(f.read(), 'hello world')
class EnvironmentFindTests(TestCase): def setUp(self): self.environment = Environment(STATIC_DIR) self.environment.register_defaults() self.environment.finders.register(FakeFinder()) self.environment.compilers.register( '.coffee', FakeCompiler('application/javascript')) def check_asset_attributes(self, attrs, path): self.assertIsInstance(attrs, AssetAttributes) self.assertIs(attrs.environment, self.environment) self.assertEqual(attrs.path, path) def test_find_by_path(self): attrs, path = self.environment.find('js/models.js.coffee') self.check_asset_attributes(attrs, 'js/models.js.coffee') self.assertEqual(path, '/assets/js/models.js.coffee') def test_find_nothing_by_path(self): with self.assertRaises(FileNotFound): self.environment.find('js/models.js') def test_find_by_asset_attributes(self): attrs = AssetAttributes(self.environment, 'js/app.js') attrs, path = self.environment.find(attrs) self.check_asset_attributes(attrs, 'js/app/index.js') self.assertEqual(path, '/assets/js/app/index.js') def test_find_nothing_by_asset_attributes(self): attrs = AssetAttributes(self.environment, 'js/models.js') with self.assertRaises(FileNotFound): self.environment.find(attrs) def test_find_by_logical_path(self): attrs, path = self.environment.find('js/models.js', logical=True) self.check_asset_attributes(attrs, 'js/models.js.coffee') self.assertEqual(path, '/assets/js/models.js.coffee') def test_find_by_logical_path_with_unrecognized_extension(self): attrs, path = self.environment.find('images/logo.png', logical=True) self.check_asset_attributes(attrs, 'images/logo.png') self.assertEqual(path, '/assets/images/logo.png') def test_find_nothing_by_logical_path(self): with self.assertRaises(FileNotFound): self.environment.find('js/views.js', logical=True) def test_save_file(self): source = str('hello world').encode('utf-8') with remove_static_dir(): self.environment.save_file('js/script.js', source) with open(os.path.join(STATIC_DIR, 'js', 'script.js'), 'rb') as f: self.assertEqual(f.read(), source)
class EnvironmentFindTests(TestCase): def setUp(self): self.environment = Environment(STATIC_DIR) self.environment.register_defaults() self.environment.finders.register(FakeFinder()) self.environment.compilers.register(".coffee", FakeCompiler("application/javascript")) def check_asset_attributes(self, attrs, path): self.assertIsInstance(attrs, AssetAttributes) self.assertIs(attrs.environment, self.environment) self.assertEqual(attrs.path, path) def test_find_by_path(self): attrs, path = self.environment.find("js/models.js.coffee") self.check_asset_attributes(attrs, "js/models.js.coffee") self.assertEqual(path, "/assets/js/models.js.coffee") def test_find_nothing_by_path(self): with self.assertRaises(FileNotFound): self.environment.find("js/models.js") def test_find_by_path_list(self): attrs, path = self.environment.find(["js/app.js", "js/app/index.js"]) self.check_asset_attributes(attrs, "js/app/index.js") self.assertEqual(path, "/assets/js/app/index.js") def test_find_nothing_by_path_list(self): with self.assertRaises(FileNotFound): self.environment.find(["style.css", "style/index.css"]) def test_find_by_asset_attributes(self): attrs = AssetAttributes(self.environment, "js/app.js") attrs, path = self.environment.find(attrs) self.check_asset_attributes(attrs, "js/app/index.js") self.assertEqual(path, "/assets/js/app/index.js") def test_find_nothing_by_asset_attributes(self): attrs = AssetAttributes(self.environment, "js/models.js") with self.assertRaises(FileNotFound): self.environment.find(attrs) def test_find_by_logical_path(self): attrs, path = self.environment.find("js/models.js", logical=True) self.check_asset_attributes(attrs, "js/models.js.coffee") self.assertEqual(path, "/assets/js/models.js.coffee") def test_find_by_logical_path_with_unrecognized_extension(self): attrs, path = self.environment.find("images/logo.png", logical=True) self.check_asset_attributes(attrs, "images/logo.png") self.assertEqual(path, "/assets/images/logo.png") def test_find_nothing_by_logical_path(self): with self.assertRaises(FileNotFound): self.environment.find("js/views.js", logical=True) def test_save_file(self): source = "hello world" if sys.version_info >= (3, 0): source = bytes(source, "utf-8") with remove_static_dir(): self.environment.save_file("js/script.js", source) with open(os.path.join(STATIC_DIR, "js", "script.js"), "rb") as f: self.assertEqual(f.read(), source)