void f_var_dump(int _argc, CVarRef expression, CArrRef _argv /* = null_array */) { f_var_dump(expression); for (int i = 0; i < _argv.size(); i++) { f_var_dump(_argv[i]); } }
void f_var_dump(int _argc, const Variant& expression, const Array& _argv /* = null_array */) { f_var_dump(expression); for (int i = 0; i < _argv.size(); i++) { f_var_dump(_argv[i]); } }
bool TestBase::VerifySame(const char *exp1, const char *exp2, CVarRef v1, CVarRef v2) { if (!v1.same(v2)) { g_context->obEndAll(); printf("%s = \n", exp1); f_var_dump(v1); printf("%s = \n", exp2); f_var_dump(v2); return false; } return true; }
bool TestBase::VerifyClose(const char *exp1, const char *exp2, double v1, double v2) { double diff = v1 > v2 ? v1 - v2 : v2 - v1; if (diff > 0.00001) { g_context->obEndAll(); printf("%s = \n", exp1); f_var_dump(v1); printf("%s = \n", exp2); f_var_dump(v2); return false; } return true; }
bool TestExtMailparse::test_mailparse_msg_create() { const char *files[] = { "mime", "phpcvs1", "qp", "uue" }; for (unsigned int i = 0; i < sizeof(files)/sizeof(files[0]); i++) { string file = files[i]; string testname = "test/ext/test_ext_mailparse." + file + ".txt"; string expname = "test/ext/test_ext_mailparse." + file + ".exp"; Variant mime = f_mailparse_msg_create(); PlainFile input; input.open(testname, "r"); while (!input.eof()) { String data = input.read(1024); if (!data.isNull()) { f_mailparse_msg_parse(mime, data); } } input.close(); Array arr = f_mailparse_msg_get_structure(mime); f_ob_start(); echo("Message: "); echo(file.c_str()); echo("\n"); for (ArrayIter iter(arr); iter; ++iter) { Variant partname = iter.second(); int depth = f_count(f_explode(".", partname)) - 1; String indent = f_str_repeat(" ", depth * 2); Variant subpart = f_mailparse_msg_get_part(mime, partname); if (subpart.isNull()) { f_var_dump(partname); echo("\n"); f_var_dump(arr); break; } Variant data = f_mailparse_msg_get_part_data(subpart); echo("\n"); echo(indent); echo("Part "); echo(partname); echo("\n"); f_ksort(ref(data)); for (ArrayIter iter(data); iter; ++iter) { String key = iter.first().toString(); if (key != "headers" && key != "ending-pos-body") { echo(indent); echo(key); echo(" => "); f_var_dump(iter.second()); } } } String output = f_ob_get_contents(); Variant expect = f_file_get_contents(expname.c_str()); VS(output, expect); f_ob_end_clean(); } return Count(true); }
bool TestBase::array_value_exists(CVarRef var, CVarRef value) { bool found = !same(f_array_search(value, var.toArray()), false); if (!found) { f_var_dump(var); } return found; }
bool TestExtOpenssl::test_openssl_pkcs7_encrypt() { Variant privkey = f_openssl_pkey_new(); VERIFY(!privkey.isNull()); Variant csr = f_openssl_csr_new(null, privkey); VERIFY(!csr.isNull()); Variant scert = f_openssl_csr_sign(csr, null, privkey, 365); Variant pubkey = f_openssl_csr_get_public_key(csr); VERIFY(!pubkey.isNull()); String data = "some secret data"; const char *infile = "test/test_pkcs7.in"; const char *outfile = "test/test_pkcs7.out"; f_unlink(infile); f_unlink(outfile); f_file_put_contents(infile, data); VERIFY(f_openssl_pkcs7_encrypt (infile, outfile, scert, CREATE_MAP2("To", "*****@*****.**","From", "*****@*****.**"))); f_unlink(infile); VERIFY(f_openssl_pkcs7_decrypt(outfile, infile, scert, privkey)); Variant decrypted = f_file_get_contents(infile); f_var_dump(decrypted); f_unlink(infile); f_unlink(outfile); /* * PHP didn't work either: $privkey = openssl_pkey_new(); $csr = openssl_csr_new(array(), $privkey); $scert = openssl_csr_sign($csr, null, $privkey, 365); $data = "some secret data"; $infile = "test_pkcs7.in"; $outfile = "test_pkcs7.out"; file_put_contents($infile, $data); openssl_pkcs7_encrypt($infile, $outfile, $scert, array("To" => "*****@*****.**", "From" => "*****@*****.**")); var_dump(openssl_pkcs7_decrypt($outfile, $infile, $scert, $privkey)); $decrypted = file_get_contents($infile);var_dump($decrypted); */ return Count(true); }
bool TestExtVariable::test_var_dump() { Variant v = CREATE_MAP3("a","apple","b",2,"c",CREATE_VECTOR3(1,"y",3)); g_context->obStart(); f_var_dump(v); String output = g_context->obCopyContents(); g_context->obEnd(); VS(output, "array(3) {\n" " [\"a\"]=>\n" " string(5) \"apple\"\n" " [\"b\"]=>\n" " int(2)\n" " [\"c\"]=>\n" " array(3) {\n" " [0]=>\n" " int(1)\n" " [1]=>\n" " string(1) \"y\"\n" " [2]=>\n" " int(3)\n" " }\n" "}\n"); return Count(true); }