Esempio n. 1
0
    def test_change_settings_for_testing(self):
        cwd = getcwd()

        if_cases = (
            settings.markdown_directory == path.join(cwd, 'test_markdown'),
            settings.project_directory == path.join(cwd, 'test_examplesite'),
            settings.css_directory == path.join(settings.project_directory, 'test_css'),
            settings.docs_directory == path.join(cwd, 'test_docs'),
        )
        else_cases = (
            settings.markdown_directory == path.join(cwd, 'blowdrycss', 'unit_tests', 'test_markdown'),
            settings.project_directory == path.join(cwd, 'blowdrycss', 'unit_tests', 'test_examplesite'),
            settings.css_directory == path.join(settings.project_directory, 'test_css'),
            settings.docs_directory == path.join(cwd, 'blowdrycss', 'unit_tests', 'test_docs'),
        )

        change_settings_for_testing()

        if cwd.endswith('unit_tests'):                              # Allows running of pycharm unittest.
            for i, if_case in enumerate(if_cases):
                self.assertTrue(if_case, msg="index %s\n%s\n%s" % (i, settings.project_directory, path.join(cwd, 'test_examplesite')))
            chdir('../..')
            cwd_else = getcwd()
            change_settings_for_testing()                           # Re-run with new directory
            else_cases = (
                settings.markdown_directory == path.join(cwd_else, 'blowdrycss', 'unit_tests', 'test_markdown'),
                settings.project_directory == path.join(cwd_else, 'blowdrycss', 'unit_tests', 'test_examplesite'),
                settings.css_directory == path.join(settings.project_directory, 'test_css'),
                settings.docs_directory == path.join(cwd_else, 'blowdrycss', 'unit_tests', 'test_docs'),
            )
            for else_case in else_cases:
                self.assertTrue(else_case)
        else:                                                       # Run unittest cmd from the root directory.
            for else_case in else_cases:
                self.assertTrue(else_case)
            chdir(path.join(cwd, 'blowdrycss', 'unit_tests'))
            cwd_if = getcwd()
            change_settings_for_testing()                           # Re-run with new directory
            if_cases = (
                settings.markdown_directory == path.join(cwd_if, 'test_markdown'),
                settings.project_directory == path.join(cwd_if, 'test_examplesite'),
                settings.css_directory == path.join(settings.project_directory, 'test_css'),
                settings.docs_directory == path.join(cwd_if, 'test_docs'),
            )
            for if_case in if_cases:
                self.assertTrue(if_case)

        chdir(cwd)                                                  # Reset directory back to the way it was.
Esempio n. 2
0
# python 2
from __future__ import absolute_import, division

# builtins
from unittest import TestCase, main

# custom
from blowdrycss.utilities import change_settings_for_testing
from blowdrycss.unitparser import UnitParser
import blowdrycss_settings as settings

change_settings_for_testing()


class TestUnitParser(TestCase):
    def test_default_units(self):
        property_names = [
            'font-size', 'padding', 'margin', 'pitch', 'text-indent', 'volume', 'width', 'font-weight', 'color',
            'invalid', '', 'none',
        ]
        expected_units = ['px', 'px', 'px', 'Hz', 'px', '%', 'px', '', '', '', '', '']

        for i, property_name in enumerate(property_names):
            unit_parser = UnitParser(property_name=property_name)
            self.assertEqual(unit_parser.default_units(), expected_units[i])

    def test_add_units_multi_value_conversion_True_invalid_pass_through(self):
        # Handles cases input like: '1a2', '-35mx 15mx', '1px 2 m11 2', '22.5px 10 22.5px 10'
        # Outputs: '1a2', '-35mx 15mx', '0.0625em 0.125em m11 0.125em', '22.5px 0.625em 22.5px 0.625em'
        property_name = 'padding'
        property_values = ['1a2', '-35mx 15mx', '1px 2 m11 2', '22.5px 10 22.5px 10']