def length_expand(name, value, unit, options=None): if options is None: options = {} if unit and 'percents'.startswith(unit): unit = '%' if isinstance(value, float): full_unit = options.get('CSS_default_unit_decimal', 'em') else: full_unit = options.get('CSS_default_unit', 'px') if value == 0: return '0' if value == '': return '' if unit: units = (val[1:] for key, val in FLAT_CSS if key == name and val.startswith('.')) req_units = [u for u in units if sub_string(u, unit)] PRIORITY = ("em", "ex", "vw", "vh", "vmin", "vmax" "vm", "ch", "rem", "px", "cm", "mm", "in", "pt", "pc") full_unit = hayaku_extract(unit, req_units, PRIORITY) if not full_unit: return return '{0}{1}'.format(value, full_unit)
def length_expand(name, value, unit, options=None): if options is None: options = {} if unit and "percents".startswith(unit): unit = "%" if isinstance(value, float): full_unit = options.get("CSS_default_unit_decimal", "em") else: full_unit = options.get("CSS_default_unit", "px") if "<number>" in [val for prop, val in get_flat_css() if prop == name] and not options.get( "CSS_units_for_unitless_numbers" ): full_unit = "" if value == 0: return "0" if value == "": return "" if unit: units = (val[1:] for key, val in get_flat_css() if key == name and val.startswith(".")) req_units = [u for u in units if sub_string(u, unit)] PRIORITY = ("em", "ex", "vw", "vh", "vmin", "vmax" "vm", "ch", "rem", "px", "cm", "mm", "in", "pt", "pc") full_unit = hayaku_extract(unit, req_units, PRIORITY) if not full_unit: return return "{0}{1}".format(value, full_unit)
def test_4(self): self.assertEqual(hayaku_extract('w1px'), 'width: 1px')
def test_28(self): self.assertEqual(hayaku_extract('b2'), 'bottom: 2px')
def test_21(self): self.assertEqual(hayaku_extract('p3x'), 'padding: 3ex')
def test_25(self): self.assertEqual(hayaku_extract('p3r'), 'padding: 3rem')
def test_14(self): self.assertEqual(hayaku_extract('m-0.0'), 'margin: 0')
def test_0(self): self.assertEqual(hayaku_extract('fs'), 'font-size')
def test_9(self): self.assertEqual(hayaku_extract('w1e'), 'width: 1em')
def test_10(self): self.assertEqual(hayaku_extract('m-1'), 'margin: -1px')
def test_5(self): self.assertEqual(hayaku_extract('w1.1'), 'width: 1.1em')
def test_6(self): self.assertEqual(hayaku_extract('w.1'), 'width: .1em')
def test_issue_76_2(self): self.assertEqual(hayaku_extract('border'), 'border')
def test_issue_76_1(self): self.assertEqual(hayaku_extract('text-decoration'), 'text-decoration')
def test_11(self): self.assertEqual(hayaku_extract('m-.1'), 'margin: -.1em')
def test_16(self): self.assertEqual(hayaku_extract('p1m'), 'padding: 1mm')
def test_15(self): self.assertEqual(hayaku_extract('h1.100'), 'height: 1.1em')
def test_19(self): self.assertEqual(hayaku_extract('p2.p'), 'padding: 2px')
def test_23(self): self.assertEqual(hayaku_extract('p3h'), 'padding: 3vh')
def test_17(self): self.assertEqual(hayaku_extract('p1%'), 'padding: 1%')
def test_27(self): self.assertEqual(hayaku_extract('p3t'), 'padding: 3pt')
def test_18(self): self.assertEqual(hayaku_extract('p.23pe'), 'padding: .23%')
def test_30(self): self.assertEqual(hayaku_extract('bw'), 'border-width: 2px')
def test_issue_83_3(self): self.assertEqual(hayaku_extract('conn'), 'content: normal;')
def test_20(self): self.assertEqual(hayaku_extract('p2.3p'), 'padding: 2.3px')
def test_22(self): self.assertEqual(hayaku_extract('p3w'), 'padding: 3vw')
def test_24(self): self.assertEqual(hayaku_extract('p3c'), 'padding: 3ch')
def test_26(self): self.assertEqual(hayaku_extract('p3i'), 'padding: 3in')
def test_29(self): self.assertEqual(hayaku_extract('bd2'), 'border: 2px')
def test_1(self): self.assertEqual(hayaku_extract('fst'), 'font-style')
def test_issue_83_1(self): self.assertEqual(hayaku_extract('co'), 'color')
def test_31(self): self.assertEqual(hayaku_extract('blw'), 'border-left-width: 2px')
def test_issue_83_2(self): self.assertEqual(hayaku_extract('con'), 'content')