def _is_scaling(self): """ Return False if ``self.property_name`` does not have default units of ``'px'``. Test if ``self.css_class`` contains the scaling flag ``-s``. Returns True if ``-s`` is found and False otherwise. **Rules:** - The ``self.property_name`` must possess units of pixels ``'px'``. - If no property priority is set the encoded ``css_class`` must end with ``-s``. - If priority is set the encoded ``css_class`` must end with ``-s-i``. :return: (*bool*) -- Returns True if ``-s`` is found and False otherwise. **Examples** >>> scaling_parser = ScalingParser(css_class='font-weight-24-s') >>> scaling_parser._is_scaling() True >>> scaling_parser.css_class = 'font-weight-24-s-i' >>> scaling_parser._is_scaling() True >>> scaling_parser.css_class = 'font-weight-24' >>> scaling_parser._is_scaling() False """ unit_parser = UnitParser(property_name=self.css_property.name) if unit_parser.default_units() != 'px': return False else: return self.css_class.endswith(self.scaling_flag) or self.css_class.endswith(self.scaling_flag + '-i')
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])