Exemple #1
0
function test_router_find_route()
{
    route("get", "/index", "my_index_func");
    route("get", "/new", "my_new_func");
    route("post", "/create", "my_create_func");
    route("get", "/edit/:id", "my_edit_func");
    route("put", "/update/:id", "my_update_func");
    route("delete", "/delete/:id", "my_delete_func");
    route("get", "^/list/(\\d+)", "my_list_func");
    $routes = route("get", "/*.jpg/:size", "my_jpeg");
    assert_length_of($routes, 8);
    $r = route_find("GET", "/unkown");
    assert_false($r);
    $r = route_find("GET", "/delete");
    assert_false($r);
    $r = route_find("POST", "/create");
    assert_equal($r["function"], "my_create_func");
    $r = route_find("GET", "/edit");
    assert_equal($r["function"], "my_edit_func");
    $r = route_find("GET", "/edit/120");
    assert_equal($r["function"], "my_edit_func");
    assert_equal($r["params"]["id"], 120);
    $r = route_find("GET", "/limonade.jpg/thumb", 'my_jpeg');
    assert_equal($r["function"], "my_jpeg");
    assert_equal($r["params"][0], "limonade");
    assert_equal($r["params"]["size"], "thumb");
    route("get", "/index/*", "my_index_func2");
    $routes = route("delete", "/delete/:id/:confirm", "my_delete_func2");
    assert_length_of($routes, 10);
    $r = route_find("GET", "/index");
    assert_equal($r["function"], "my_index_func");
    $r = route_find("GET", "/index/ok");
    assert_equal($r["function"], "my_index_func2");
    $r = route_find("DELETE", "/delete");
    assert_equal($r["function"], "my_delete_func");
    $r = route_find("DELETE", "/delete/120");
    assert_equal($r["function"], "my_delete_func");
    $r = route_find("DELETE", "/delete/120/ok");
    assert_equal($r["function"], "my_delete_func2");
    $r = route_find("GET", "/list/120");
    assert_equal($r["function"], "my_list_func");
    /* testing parameterized functions */
    $extra_p = array(123, 'id' => 123, 'name' => 'abc');
    route("get", "/no/cat/:id", "my_p_func");
    route("get", "/with/cat/:id", "my_p_func", array('params' => $extra_p));
    $routes = route("get", "/indexed/cat/*", "my_p_func", array('params' => $extra_p));
    $r = route_find("GET", "/no/cat/21");
    assert_equal($r["function"], "my_p_func");
    assert_equal($r["params"]["id"], 21);
    $r = route_find("GET", "/with/cat/21");
    assert_equal($r["function"], "my_p_func");
    assert_equal($r["params"]["id"], 21);
    assert_equal($r["params"]["name"], "abc");
    $r = route_find("GET", "/indexed/cat/21");
    assert_equal($r["function"], "my_p_func");
    assert_equal($r["params"][0], 21);
    assert_equal($r["params"]["id"], 123);
    assert_equal($r["params"]["name"], "abc");
    /* testing route with special characters */
    route("get", "/mañana/:when", "my_special_func");
    $r = route_find("GET", "/mañana/123");
    assert_equal($r["function"], "my_special_func");
    assert_equal($r["params"]["when"], 123);
    $r = route_find("GET", "/mañana/après demain");
    assert_equal($r["function"], "my_special_func");
    assert_equal($r["params"]["when"], "après demain");
}
Exemple #2
0
   function test_main_require_once_dir()
   {
     $root = dirname(dirname(__FILE__));
     
     ob_start();
     assert_empty(require_once_dir($root));
     $files = require_once_dir($root, "AUTHORS");
     assert_empty(ob_get_contents());
     ob_clean();
     
     assert_length_of($files, 1);
     assert_match('/AUTHORS$/', $files[0]);
     
     ob_start();
     $files = require_once_dir($root, "CHANGES", false);
     assert_not_empty(ob_get_contents());
     ob_clean();
    
     $lib = $root.'/lib';
     // pb because it loads abstract.php that conflict with tests that use abstracts
     // $limonade = $lib.'/limonade';
     // 
     // $files = require_once_dir($limonade);
     // assert_not_empty($files);
     
     $tests_lib = $root.'/tests/data/lib0';
     $libs = array('a', 'b', 'c');
     foreach($libs as $lib) assert_false(defined('TEST_LIB_'.strtoupper($lib)));

     $files = require_once_dir($tests_lib);
     assert_not_empty($files);
     assert_length_of($files, 3);
     
     foreach($libs as $lib) assert_true(defined('TEST_LIB_'.strtoupper($lib)));
     
     assert_empty(require_once_dir($root.'/tests/data/'));
     assert_true(is_array(require_once_dir($root.'/tests/data/')));
     
     assert_empty(require_once_dir($root.'/tests/data/unknown_dir'));
     assert_true(is_array(require_once_dir($root.'/tests/data/unknown_dir')));
   }
Exemple #3
0
function test_request_methods()
{
    $m = request_methods();
    assert_length_of($m, 5);
}
Exemple #4
0
function test_main_require_once_dir()
{
    $root = dirname(dirname(__FILE__));
    ob_start();
    assert_empty(require_once_dir($root));
    $files = require_once_dir($root, "AUTHORS");
    ob_clean();
    assert_length_of($files, 1);
    assert_match('/AUTHORS$/', $files[0]);
    $lib = $root . '/lib';
    $limonade = $lib . '/limonade';
    $files = require_once_dir($limonade);
    assert_not_empty($files);
    $tests_lib = $root . '/tests/data/lib0';
    $libs = array('a', 'b', 'c');
    foreach ($libs as $lib) {
        assert_false(defined('TEST_LIB_' . strtoupper($lib)));
    }
    $files = require_once_dir($tests_lib);
    assert_not_empty($files);
    assert_length_of($files, 3);
    foreach ($libs as $lib) {
        assert_true(defined('TEST_LIB_' . strtoupper($lib)));
    }
    assert_empty(require_once_dir($root . '/tests/data/'));
    assert_true(is_array(require_once_dir($root . '/tests/data/')));
    assert_empty(require_once_dir($root . '/tests/data/unknown_dir'));
    assert_true(is_array(require_once_dir($root . '/tests/data/unknown_dir')));
}
Exemple #5
0
function test_router_find_route()
{
    route("get", "/index", "my_index_func");
    route("get", "/new", "my_new_func");
    route("post", "/create", "my_create_func");
    route("get", "/edit/:id", "my_edit_func");
    route("put", "/update/:id", "my_update_func");
    route("delete", "/delete/:id", "my_delete_func");
    route("get", "^/list/(\\d+)", "my_list_func");
    $routes = route("get", "/*.jpg/:size", "my_jpeg");
    assert_length_of($routes, 8);
    $r = route_find("GET", "/unkown");
    assert_false($r);
    $r = route_find("GET", "/delete");
    assert_false($r);
    $r = route_find("POST", "/create");
    assert_equal($r["function"], "my_create_func");
    $r = route_find("GET", "/edit");
    assert_equal($r["function"], "my_edit_func");
    $r = route_find("GET", "/edit/120");
    assert_equal($r["function"], "my_edit_func");
    assert_equal($r["params"]["id"], 120);
    $r = route_find("GET", "/limonade.jpg/thumb", 'my_jpeg');
    assert_equal($r["function"], "my_jpeg");
    assert_equal($r["params"][0], "limonade");
    assert_equal($r["params"]["size"], "thumb");
    route("get", "/index/*", "my_index_func2");
    $routes = route("delete", "/delete/:id/:confirm", "my_delete_func2");
    assert_length_of($routes, 10);
    $r = route_find("GET", "/index");
    assert_equal($r["function"], "my_index_func");
    $r = route_find("GET", "/index/ok");
    assert_equal($r["function"], "my_index_func2");
    $r = route_find("DELETE", "/delete");
    assert_equal($r["function"], "my_delete_func");
    $r = route_find("DELETE", "/delete/120");
    assert_equal($r["function"], "my_delete_func");
    $r = route_find("DELETE", "/delete/120/ok");
    assert_equal($r["function"], "my_delete_func2");
    $r = route_find("GET", "/list/120");
    assert_equal($r["function"], "my_list_func");
}