Example #1
0
function assert_header($response, $expected_name, $expected_value = null, $message = "expected header '%s' to be equal to '%s' but received '%s: %s'")
{
    test_run_assertion();
    # see assert_header in http://github.com/fnando/voodoo-test/blob/f3b0994ef138a6ba94d5e7cef6c1fb1720797a86/lib/assertions.php
    $headers = preg_split("/^\\s*\$/ms", $response);
    //var_dump($headers);
    $headers = preg_replace("/\\s*\$/sm", '', $headers[0]);
    //var_dump($headers);
    $regex_header = str_replace('/', '\\/', $expected_name);
    $regex_header = str_replace('.', '\\.', $regex_header);
    $header = $expected_name;
    # from http://www.faqs.org/rfcs/rfc2616
    # Field names are case-insensitive
    if ($expected_value) {
        $regex = "/^{$regex_header}:(.*?)\$/ism";
        $header .= ": {$expected_value}";
    } else {
        $regex = "/^{$regex_header}(:.*?)?\$/ism";
    }
    $has_header = preg_match($regex, $headers, $matches);
    $sent_header = trim((string) $matches[1]);
    if (empty($sent_header)) {
        if (is_null($expected_value)) {
            $message = "expected header '%s' but header has not been sent";
        } else {
            $message = "expected header '%s' to be equal to '%s' but header has not been sent";
        }
        $message = sprintf($message, $expected_name, $expected_value);
        return assert('false; //' . $message);
    } elseif ($expected_value) {
        $message = sprintf($message, $expected_name, $expected_value, $expected_name, $sent_header);
        return assert('$expected_value && $sent_header == $expected_value; //' . $message);
    }
    return assert('true; //');
}
Example #2
0
function assert_trigger_error($callable, $args = array(), $message = '<1> should trigger an error')
{
    test_run_assertion();
    $trigger_errors = count($GLOBALS["limonade"]["test_errors"]);
    set_error_handler("test_error_handler");
    $result = call_user_func_array($callable, $args);
    restore_error_handler();
    return assert('$trigger_errors < count($GLOBALS["limonade"]["test_errors"]); //' . $message);
}