HEX
Server: Apache/2.4.18 (Ubuntu)
System: Linux ubuntu 7.0.5-x86_64-linode173 #1 SMP PREEMPT_DYNAMIC Fri May 8 10:12:05 EDT 2026 x86_64
User: root (0)
PHP: 7.2.28-1+ubuntu16.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //usr/local/bin/python37_/lib64/python3.7/site-packages/cssutils/tests/test_cssproperties.py
"""Testcases for cssutils.css.cssproperties."""

import cssutils.css
import cssutils.profiles
import pytest


class TestCSSProperties:

    #    def test_cssvalues(self):
    #        "cssproperties cssvalues"
    #        # does actually return match object, so a very simplified test...
    #        match = cssutils.css.cssproperties.cssvalues
    #
    #        self.assertEqual(True, bool(match['color']('red')))
    #        self.assertEqual(False, bool(match['top']('red')))
    #
    #        self.assertEqual(True, bool(match['left']('0')))
    #        self.assertEqual(True, bool(match['left']('1px')))
    #        self.assertEqual(True, bool(match['left']('.1px')))
    #        self.assertEqual(True, bool(match['left']('-1px')))
    #        self.assertEqual(True, bool(match['left']('-.1px')))
    #        self.assertEqual(True, bool(match['left']('-0.1px')))

    def test_toDOMname(self):
        "cssproperties _toDOMname(CSSname)"
        _toDOMname = cssutils.css.cssproperties._toDOMname

        assert 'color' == _toDOMname('color')
        assert 'fontStyle' == _toDOMname('font-style')
        assert 'MozOpacity' == _toDOMname('-moz-opacity')
        assert 'UNKNOWN' == _toDOMname('UNKNOWN')
        assert 'AnUNKNOWN' == _toDOMname('-anUNKNOWN')

    def test_toCSSname(self):
        "cssproperties _toCSSname(DOMname)"
        _toCSSname = cssutils.css.cssproperties._toCSSname

        assert 'color' == _toCSSname('color')
        assert 'font-style' == _toCSSname('fontStyle')
        assert '-moz-opacity' == _toCSSname('MozOpacity')
        assert 'UNKNOWN' == _toCSSname('UNKNOWN')
        assert '-anUNKNOWN' == _toCSSname('AnUNKNOWN')

    def test_CSS2Properties(self):
        "CSS2Properties"
        CSS2Properties = cssutils.css.cssproperties.CSS2Properties
        assert isinstance(property(), type(CSS2Properties.color))
        assert sum(len(x) for x in list(cssutils.profiles.properties.values())) == len(
            CSS2Properties._properties
        )

        c2 = CSS2Properties()
        # CSS2Properties has simplified implementation return always None
        assert c2.color is None
        assert c2.__setattr__('color', 1) is None
        assert c2.__delattr__('color') is None
        # only defined properties
        with pytest.raises(AttributeError):
            c2.__getattribute__('UNKNOWN')