Ejemplo n.º 1
0
    def __init__(self):
        import rcssmin

        cssmin = rcssmin._make_cssmin(python_only=True)
        self.cssmin = lambda x: cssmin(x, keep_bang_comments=True)
Ejemplo n.º 2
0
=====
 YUI
=====

YUI tests.
"""
__author__ = u"Andr\xe9 Malo"
__docformat__ = "restructuredtext en"

import os as _os
import re as _re

import rcssmin as _rcssmin
# pylint: disable = protected-access
py_cssmin = _rcssmin._make_cssmin(python_only=True)

import _rcssmin
c_cssmin = _rcssmin.cssmin

_TESTS = _os.path.dirname(__file__)


def find(base, ext, out):
    """ Find test files """
    for name in _os.listdir(_os.path.join(_TESTS, base)):
        item = "%s/%s" % (base, name)
        if _os.path.isfile(_os.path.join(_TESTS, item)) \
                and item.endswith('.' + ext):
            outitem = "%s/out/%s.%s" % (base, name[:-len(ext) - 1], out)
            yield item, outitem
Ejemplo n.º 3
0
=====
 YUI
=====

YUI tests.
"""
__author__ = u"Andr\xe9 Malo"
__docformat__ = "restructuredtext en"

import os as _os
import re as _re

import rcssmin as _rcssmin
# pylint: disable = protected-access
py_cssmin = _rcssmin._make_cssmin(python_only=True)

import _rcssmin
c_cssmin = _rcssmin.cssmin

_TESTS = _os.path.dirname(__file__)


def find(base, ext, out):
    """ Find test files """
    for name in _os.listdir(_os.path.join(_TESTS, base)):
        item = "%s/%s" % (base, name)
        if _os.path.isfile(_os.path.join(_TESTS, item)) \
                and item.endswith('.' + ext):
            outitem = "%s/out/%s.%s" % (base, name[:-len(ext) - 1], out)
            yield item, outitem
Ejemplo n.º 4
0
 def __init__(self):
     import rcssmin
     cssmin = rcssmin._make_cssmin(python_only=True)
     self.cssmin = lambda x: cssmin(x, keep_bang_comments=True)
Ejemplo n.º 5
0
def run_tests(basedir, libdir):
    """ Run output based tests """
    import rcssmin as _rcssmin

    py_cssmin = _rcssmin._make_cssmin(python_only=True)
    c_cssmin = _rcssmin._make_cssmin(python_only=False)

    def run_test(example, output_file):
        """ Run it """
        try:
            fp = open(example, "r")
        except IOError:
            return
        else:
            try:
                input = fp.read()
            finally:
                fp.close()

        def load_output(filename):
            try:
                fp = open(filename, "r")
            except IOError:
                return None
            else:
                try:
                    output = fp.read()
                finally:
                    fp.close()
            output = output.strip()
            if _re.search(r"(?<!\\)(?:\\\\)*\\[0-9a-zA-Z]{1,6}$", output):
                output += " "
            return output

        output = load_output(output_file)
        output_b = load_output(output_file + ".b")

        def do_test(cssmin, output, **options):
            try:
                genout = cssmin(input, **options)
            except (KeyboardInterrupt, SystemExit):
                raise
            except:
                return 1, "%(RED)s exc%(NORMAL)s "
            else:
                if output is None:
                    return 1, "%(RED)smiss%(NORMAL)s "
                elif genout == output or genout == output.rstrip():
                    return 0, "%(GREEN)sOK%(NORMAL)s   "
                else:
                    return 1, "%(RED)sfail%(NORMAL)s "

        erred, out = do_test(py_cssmin, output)
        erred, c_out = do_test(c_cssmin, output)
        erred, out_b = do_test(py_cssmin, output_b, keep_bang_comments=True)
        erred, c_out_b = do_test(c_cssmin, output_b, keep_bang_comments=True)

        term.write(
            "%(out)s %(out_b)s  |  %(c_out)s %(c_out_b)s - %%(example)s\n" % locals(),
            example=_os.path.basename(example),
        )
        return erred

    # end
    # begin main test code

    erred = 0
    basedir = shell.native(basedir)
    strip = len(basedir) - len(_os.path.basename(basedir))
    for dirname, dirs, files in shell.walk(basedir):
        dirs[:] = [item for item in dirs if item not in (".svn", ".git", "out")]
        dirs.sort()
        files = [item for item in files if item.endswith(".css")]
        if not files:
            continue
        if not _os.path.isdir(_os.path.join(basedir, dirname, "out")):
            continue
        term.yellow("---> %s" % (dirname[strip:],))
        files.sort()
        for filename in files:
            if run_test(_os.path.join(dirname, filename), _os.path.join(dirname, "out", filename[:-4] + ".out")):
                erred = 1
        term.yellow("<--- %s" % (dirname[strip:],))
    return erred
Ejemplo n.º 6
0
def run_tests(basedir, libdir):
    """ Run output based tests """
    import rcssmin as _rcssmin
    py_cssmin = _rcssmin._make_cssmin(python_only=True)
    c_cssmin = _rcssmin._make_cssmin(python_only=False)

    def run_test(example, output_file):
        """ Run it """
        try:
            fp = open(example, 'r')
        except IOError:
            return
        else:
            try:
                input = fp.read()
            finally:
                fp.close()

        def load_output(filename):
            try:
                fp = open(filename, 'r')
            except IOError:
                return None
            else:
                try:
                    output = fp.read()
                finally:
                    fp.close()
            output = output.strip()
            if _re.search(r'(?<!\\)(?:\\\\)*\\[0-9a-zA-Z]{1,6}$', output):
                output += ' '
            return output

        output = load_output(output_file)
        output_b = load_output(output_file + '.b')

        def do_test(cssmin, output, **options):
            try:
                genout = cssmin(input, **options)
            except (KeyboardInterrupt, SystemExit):
                raise
            except:
                return 1, "%(RED)s exc%(NORMAL)s "
            else:
                if output is None:
                    return 1, "%(RED)smiss%(NORMAL)s "
                elif genout == output or genout == output.rstrip():
                    return 0, "%(GREEN)sOK%(NORMAL)s   "
                else:
                    return 1, "%(RED)sfail%(NORMAL)s "

        erred, out = do_test(py_cssmin, output)
        erred, c_out = do_test(c_cssmin, output)
        erred, out_b = do_test(py_cssmin, output_b, keep_bang_comments=True)
        erred, c_out_b = do_test(c_cssmin, output_b, keep_bang_comments=True)

        term.write(
            "%(out)s %(out_b)s  |  %(c_out)s %(c_out_b)s - %%(example)s\n"
                % locals(),
            example=_os.path.basename(example),
        )
        return erred

    # end
    # begin main test code

    erred = 0
    basedir = shell.native(basedir)
    strip = len(basedir) - len(_os.path.basename(basedir))
    for dirname, dirs, files in shell.walk(basedir):
        dirs[:] = [
            item for item in dirs if item not in ('.svn', '.git', 'out')
        ]
        dirs.sort()
        files = [item for item in files if item.endswith('.css')]
        if not files:
            continue
        if not _os.path.isdir(_os.path.join(basedir, dirname, 'out')):
            continue
        term.yellow("---> %s" % (dirname[strip:],))
        files.sort()
        for filename in files:
            if run_test(
                _os.path.join(dirname, filename),
                _os.path.join(dirname, 'out', filename[:-4] + '.out'),
            ): erred = 1
        term.yellow("<--- %s" % (dirname[strip:],))
    return erred