def test_failed_sass_aborts(self, subprocess): fake_bin = self._make_fake_sass_bin() composer = SassComposer(fake_bin) source_file = '/in/sassy.scss' output_dir = '/out' subprocess.Popen.return_value.communicate.return_value = ('boom', '') subprocess.Popen.return_value.returncode = 1 with self.assertRaises(AbortError): composer.compose(None, source_file, output_dir)
def test_build_command(self): fake_bin = self._make_fake_sass_bin() composer = SassComposer(fake_bin) source_file = '/in/sassy.scss' output_file = '/out/sass.css' expected = [ os.path.join(fake_bin, 'sass'), '--style', 'compressed', source_file, output_file] actual = composer.build_command(source_file, output_file) self.assertEqual(expected, actual)
def test_permit_frontmatter(self): fake_bin = self._make_fake_sass_bin() composer = SassComposer(fake_bin) self.assertFalse(composer.permit_frontmatter)
def test_output_extension(self): fake_bin = self._make_fake_sass_bin() composer = SassComposer(fake_bin) self.assertEqual('.css', composer.get_output_extension('source.sass'))
def test_create(self): fake_bin = self._make_fake_sass_bin() composer = SassComposer(fake_bin) self.assertTrue(isinstance(composer, SassComposer))
def test_abort_with_no_sass(self): """Test that handroll aborts if ``sass`` is not installed.""" # The fake bin directory has no sass executable. fake_bin = tempfile.mkdtemp() with self.assertRaises(AbortError): SassComposer(fake_bin)