Exemple #1
0
function find_modules($dirname)
{
    $list = glob("{$dirname}/*.php");
    foreach (glob("{$dirname}/*", GLOB_ONLYDIR) as $name) {
        $list = array_merge($list, find_modules($name));
    }
    return $list;
}
<?php

$alltests = array("tests" => array(), "uses" => array());
$files = find_modules();
foreach ($files as $file) {
    print "checking {$file}\n";
    $data = file_get_contents("../detect/" . $file);
    $uses = find_uses($data);
    $tests = find_tests($data);
    foreach ($uses as $item) {
        $alltests['uses'][] = $item;
    }
    foreach ($tests as $item) {
        $alltests['tests'][] = $item;
    }
}
print_r($alltests);
function find_tests($file)
{
    $re = "/addtest\\([\"\\'](.*)[\"\\'],/";
    preg_match_all($re, $file, $matches);
    return $matches[1];
}
function find_uses($file)
{
    $re = "/has\\([\"\\']([a-zA-Z-_]+)[\"\\']\\)/";
    preg_match_all($re, $file, $matches);
    return $matches[1];
}
function find_modules($d = "../detect/", $f = "*.js")
{