From 2d2d03270beebdddd0f6be972a7c80b397ebe896 Mon Sep 17 00:00:00 2001 From: valmat Date: Mon, 14 Apr 2014 16:46:18 +0600 Subject: fixed for 32-bit architecture OS --- tests/cpp/main.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'tests/cpp/main.cpp') diff --git a/tests/cpp/main.cpp b/tests/cpp/main.cpp index 0f36ecc..8583aec 100644 --- a/tests/cpp/main.cpp +++ b/tests/cpp/main.cpp @@ -154,10 +154,10 @@ extern "C" extension.add("TestIniEntries\\iniTest1", TestIniEntries::iniTest1); - extension.onStartup([](){ - Php::out << "ini_get(ini1) = {{" << Php::ini_get("ini1") << " | " << Php::ini_get_orig("ini1") << "}}" << std::endl; - Php::out << "ini_get(ini2) = {{" << Php::ini_get("ini2") << " | " << Php::ini_get_orig("ini2") << "}}" << std::endl; - }); + //extension.onStartup([](){ + // Php::out << "ini_get(ini1) = {{" << Php::ini_get("ini1") << " | " << Php::ini_get_orig("ini1") << "}}" << std::endl; + // Php::out << "ini_get(ini2) = {{" << Php::ini_get("ini2") << " | " << Php::ini_get_orig("ini2") << "}}" << std::endl; + //}); -- cgit v1.2.3 From 8aa33ba24d56e1a631826bac47321a47ad0bb9e2 Mon Sep 17 00:00:00 2001 From: valmat Date: Mon, 14 Apr 2014 17:41:40 +0600 Subject: Several tests to check ini entries --- Makefile | 3 ++ tests/cpp/include/ini_entries/001.h | 34 ++++++------------ tests/cpp/main.cpp | 8 ++--- tests/php/dbg.php | 8 ++++- tests/php/php_alias.sh | 2 +- tests/php/phpt/ini_entries/001.phpt | 19 ++++++++++ tests/php/phpt/ini_entries/002.phpt | 69 +++++++++++++++++++++++++++++++++++++ tests/php/phpt/ini_entries/003.phpt | 27 +++++++++++++++ 8 files changed, 140 insertions(+), 30 deletions(-) create mode 100644 tests/php/phpt/ini_entries/001.phpt create mode 100644 tests/php/phpt/ini_entries/002.phpt create mode 100644 tests/php/phpt/ini_entries/003.phpt (limited to 'tests/cpp/main.cpp') diff --git a/Makefile b/Makefile index 890f881..9b991f2 100644 --- a/Makefile +++ b/Makefile @@ -155,6 +155,9 @@ hhvmcpp: ${HHVM_LIBRARY} ${PHP_LIBRARY}: ${COMMON_OBJECTS} ${PHP_OBJECTS} ${LINKER} ${PHP_LINKER_FLAGS} -o $@ ${COMMON_OBJECTS} ${PHP_OBJECTS} + @echo + @echo "Build complete." + @echo "Don't forget to run 'make test'." ${HHVM_LIBRARY}: ${COMMON_OBJECTS} ${HHVM_OBJECTS} ${LINKER} ${HHVM_LINKER_FLAGS} -o $@ ${COMMON_OBJECTS} ${HHVM_OBJECTS} diff --git a/tests/cpp/include/ini_entries/001.h b/tests/cpp/include/ini_entries/001.h index ece2aa4..8a4c5ca 100644 --- a/tests/cpp/include/ini_entries/001.h +++ b/tests/cpp/include/ini_entries/001.h @@ -10,33 +10,19 @@ */ namespace TestIniEntries { - + // will be retrieved at boot extension + double ini6val = 0.0; + void iniTest1(Php::Parameters ¶ms) { - /* - .add(Php::Ini(, "valIni1")) - .add(Php::Ini("ini2", "valIni2", "OrigValIni2")) - .add(Php::Ini("ini3", "valIni3", "OrigValIni3", Php::Ini::System)) - .add(Php::Ini("ini4", true, false, Php::Ini::Place::User)) - .add(Php::Ini("ini5", false)); - - Ini::get("ini1") - */ - - Php::out << "ini_get(ini1) = {{" << Php::ini_get("ini1") << " | " << Php::ini_get_orig("ini1") << "}}" << std::endl; - Php::out << "ini_get(ini2) = {{" << Php::ini_get("ini2") << " | " << Php::ini_get_orig("ini2") << "}}" << std::endl; - Php::out << "ini_get(ini3) = {{" << Php::ini_get("ini3") << " | " << Php::ini_get_orig("ini3") << "}}" << std::endl; - Php::out << "ini_get(ini4) = {{" << Php::ini_get("ini4") << " | " << Php::ini_get_orig("ini4") << "}}" << std::endl; - /* - Php::out << "extension_for_tests.some_string ={{" << Php::ini_get("extension_for_tests.some_string") << "}}" << std::endl; - Php::out << "extension_for_tests.some_string2 ={{" << Php::ini_get("extension_for_tests.some_string2") << "}}" << std::endl; - Php::out << "extension_for_tests.some_string3 ={{" << Php::ini_get("extension_for_tests.some_string3") << "}}" << std::endl; - Php::out << "extension_for_tests.some_string3 ={{" << Php::ini_get("extension_for_tests.some_bool") << "}}" << std::endl; - */ - - + Php::out << "ini_get(ini1) = " << Php::ini_get("ini1") << std::endl; + Php::out << "ini_get(ini2) = " << Php::ini_get("ini2") << std::endl; + Php::out << "ini_get(ini3) = " << Php::ini_get("ini3") << std::endl; + Php::out << "ini_get(ini4) = " << Php::ini_get("ini4") << std::endl; + Php::out << "ini_get(ini5) = " << Php::ini_get("ini5") << std::endl; + Php::out << "ini_get(ini6) = " << Php::ini_get("ini6") << std::endl; - return; + Php::out << "ini6val = " << ini6val << std::endl; } /** * End of namespace diff --git a/tests/cpp/main.cpp b/tests/cpp/main.cpp index 8583aec..f73a69a 100644 --- a/tests/cpp/main.cpp +++ b/tests/cpp/main.cpp @@ -154,10 +154,10 @@ extern "C" extension.add("TestIniEntries\\iniTest1", TestIniEntries::iniTest1); - //extension.onStartup([](){ - // Php::out << "ini_get(ini1) = {{" << Php::ini_get("ini1") << " | " << Php::ini_get_orig("ini1") << "}}" << std::endl; - // Php::out << "ini_get(ini2) = {{" << Php::ini_get("ini2") << " | " << Php::ini_get_orig("ini2") << "}}" << std::endl; - //}); + extension.onStartup([](){ + // Retrieve a value at boot extension + TestIniEntries::ini6val = Php::ini_get("ini6"); + }); diff --git a/tests/php/dbg.php b/tests/php/dbg.php index 70e71ef..b12da13 100644 --- a/tests/php/dbg.php +++ b/tests/php/dbg.php @@ -11,9 +11,15 @@ - TestIniEntries\iniTest1(); +/* exit; +ini_restore ( 'ini1' ); +ini_restore ( 'ini2' ); +ini_restore ( 'ini3' ); +TestIniEntries\iniTest1(); +*/ +//exit; echo "\x1b[1;31m"; (new ReflectionExtension('extension_for_tests') )->info(); echo "\x1b[0m"; diff --git a/tests/php/php_alias.sh b/tests/php/php_alias.sh index 6947325..4393172 100755 --- a/tests/php/php_alias.sh +++ b/tests/php/php_alias.sh @@ -16,4 +16,4 @@ fi LD_LIBRARY_PATH="$(cd $PWD/../.. && echo $PWD):${LD_LIBRARY_PATH}" export LD_LIBRARY_PATH -/usr/bin/php -d extension_dir=../ext_dir -d extension=extfortest.so -d ini7=47 -d extension_for_tests.frcli=frcli $1 $2 $3 $4 $5 +/usr/bin/php -d extension_dir=../ext_dir -d extension=extfortest.so -d ini7=47 -d ini1=ReValIni1 -d ini2=ReValIni2 $1 $2 $3 $4 $5 diff --git a/tests/php/phpt/ini_entries/001.phpt b/tests/php/phpt/ini_entries/001.phpt new file mode 100644 index 0000000..e85af06 --- /dev/null +++ b/tests/php/phpt/ini_entries/001.phpt @@ -0,0 +1,19 @@ +--TEST-- +Test ini entries #1 +--SKIPIF-- + +--INI-- +ini2=ReValIni2 +--FILEEOF-- + +--INI-- +ini2=ReValIni2 +ini6=33 +--FILEEOF-- + + array ( + 'global_value' => 'valIni1', + 'local_value' => 'valIni1', + 'access' => 7, + ), + 'ini2' => + array ( + 'global_value' => 'OrigValIni2', + 'local_value' => 'ReValIni2', + 'access' => 7, + ), + 'ini3' => + array ( + 'global_value' => 'OrigValIni3', + 'local_value' => 'valIni3', + 'access' => 4, + ), + 'ini4' => + array ( + 'global_value' => 'Off', + 'local_value' => 'On', + 'access' => 1, + ), + 'ini5' => + array ( + 'global_value' => 'Off', + 'local_value' => 'Off', + 'access' => 7, + ), + 'ini6' => + array ( + 'global_value' => '11', + 'local_value' => '33', + 'access' => 7, + ), + 'ini7' => + array ( + 'global_value' => '5', + 'local_value' => '74', + 'access' => 7, + ), + 'ini8' => + array ( + 'global_value' => '6.283185', + 'local_value' => '3.141593', + 'access' => 7, + ), + 'ini9' => + array ( + 'global_value' => '5.436564', + 'local_value' => '2.718282', + 'access' => 1, + ), +) \ No newline at end of file diff --git a/tests/php/phpt/ini_entries/003.phpt b/tests/php/phpt/ini_entries/003.phpt new file mode 100644 index 0000000..5ad6efb --- /dev/null +++ b/tests/php/phpt/ini_entries/003.phpt @@ -0,0 +1,27 @@ +--TEST-- +Test ini entries #3 +--DESCRIPTION-- +Test to check palce action of ini entries +--SKIPIF-- + +--FILEEOF-- + Date: Mon, 14 Apr 2014 21:23:11 +0600 Subject: Several tests on superglobals variables --- tests/cpp/h/variables.h | 10 ++-- tests/cpp/include/variables/023-cookie.h | 31 ++++++++++++ tests/cpp/include/variables/024-get-post.h | 38 +++++++++++++++ tests/cpp/include/variables/025-post-raw1.h | 41 ++++++++++++++++ tests/cpp/include/variables/026-post-raw2.h | 76 +++++++++++++++++++++++++++++ tests/cpp/include/variables/027-env.h | 26 ++++++++++ tests/cpp/include/variables/tpl.h | 21 ++++---- tests/cpp/main.cpp | 5 ++ tests/php/dbg.php | 10 +--- tests/php/phpt/variables/023-cookie.phpt | 16 ++++++ tests/php/phpt/variables/024-get-post.phpt | 26 ++++++++++ tests/php/phpt/variables/025-post-raw1.phpt | 27 ++++++++++ tests/php/phpt/variables/026-post-raw2.phpt | 38 +++++++++++++++ tests/php/phpt/variables/027-env.phpt | 25 ++++++++++ 14 files changed, 365 insertions(+), 25 deletions(-) create mode 100644 tests/cpp/include/variables/023-cookie.h create mode 100644 tests/cpp/include/variables/024-get-post.h create mode 100644 tests/cpp/include/variables/025-post-raw1.h create mode 100644 tests/cpp/include/variables/026-post-raw2.h create mode 100644 tests/cpp/include/variables/027-env.h create mode 100644 tests/php/phpt/variables/023-cookie.phpt create mode 100644 tests/php/phpt/variables/024-get-post.phpt create mode 100644 tests/php/phpt/variables/025-post-raw1.phpt create mode 100644 tests/php/phpt/variables/026-post-raw2.phpt create mode 100644 tests/php/phpt/variables/027-env.phpt (limited to 'tests/cpp/main.cpp') diff --git a/tests/cpp/h/variables.h b/tests/cpp/h/variables.h index bdf0fca..8a074cd 100644 --- a/tests/cpp/h/variables.h +++ b/tests/cpp/h/variables.h @@ -22,11 +22,11 @@ #include "../include/variables/020-HashMember-2.h" #include "../include/variables/021-HashMember-3.h" #include "../include/variables/022-HashMember-4.h" -//#include "../include/variables/.h" -//#include "../include/variables/.h" -//#include "../include/variables/.h" -//#include "../include/variables/.h" -//#include "../include/variables/.h" +#include "../include/variables/023-cookie.h" +#include "../include/variables/024-get-post.h" +#include "../include/variables/025-post-raw1.h" +#include "../include/variables/026-post-raw2.h" +#include "../include/variables/027-env.h" //#include "../include/variables/.h" diff --git a/tests/cpp/include/variables/023-cookie.h b/tests/cpp/include/variables/023-cookie.h new file mode 100644 index 0000000..6f74883 --- /dev/null +++ b/tests/cpp/include/variables/023-cookie.h @@ -0,0 +1,31 @@ +/** + * + * Test superglobal variables _COOKIE + * 023-cookie.phpt + * + */ + + + + +/** + * Set up namespace + */ +namespace TestVariables { + + + /* + * Test + */ + void getCookie(void) + { + Php::out << "_COOKIE[peace] = " << Php::COOKIE["peace"] << std::endl; + Php::out << "_COOKIE[freedom] = " << Php::COOKIE["freedom"] << std::endl; + Php::out << "_COOKIE[empty] = " << Php::COOKIE["empty"] << std::endl; + } + +/** + * End of namespace + */ +} + diff --git a/tests/cpp/include/variables/024-get-post.h b/tests/cpp/include/variables/024-get-post.h new file mode 100644 index 0000000..e615f0f --- /dev/null +++ b/tests/cpp/include/variables/024-get-post.h @@ -0,0 +1,38 @@ +/** + * + * Test superglobal variables _GET & _POST + * 024-get-post.phpt + * + */ + + + + +/** + * Set up namespace + */ +namespace TestVariables { + + + /* + * Test + */ + void get_post(void) + { + Php::out << "_GET[a] = " << Php::GET["a"] << std::endl; + Php::out << "_GET[b] = " << Php::GET["b"] << std::endl; + Php::out << "_GET[ar][elm1] = " << Php::GET["ar"]["elm1"] << std::endl; + Php::out << "_GET[ar][elm2] = " << Php::GET["ar"]["elm2"] << std::endl; + + Php::out << "_POST[c] = " << Php::POST["c"] << std::endl; + Php::out << "_POST[d] = " << Php::POST["d"] << std::endl; + Php::out << "_POST[e] = " << Php::POST["e"] << std::endl; + Php::out << "_POST[e][0] = " << Php::POST["e"][0] << std::endl; + Php::out << "_POST[e][1] = " << Php::POST["e"][1] << std::endl; + } + +/** + * End of namespace + */ +} + diff --git a/tests/cpp/include/variables/025-post-raw1.h b/tests/cpp/include/variables/025-post-raw1.h new file mode 100644 index 0000000..37c6ae1 --- /dev/null +++ b/tests/cpp/include/variables/025-post-raw1.h @@ -0,0 +1,41 @@ +/** + * + * Test superglobal variables _POST + * 025-post-raw1.phpt + * + */ + + + + +/** + * Set up namespace + */ +namespace TestVariables { + using namespace Php; + + + /* + * Test + */ + void post_raw1(void) + { + out << "username => "<< POST["username"] << std::endl; + out << "text => "<< POST["text"] << std::endl; + + /* + XXX TODO: conversion from ‘Php::Super’ to ‘Php::Value‘ + Value v = POST; + + out << "Array/Object contains " << v.size() << " items" << std::endl; + for (auto it=v.begin(), itend = v.end(); it != itend; ++it) { + out << "["<< it->first << "]="<< it->second << std::endl; + } + */ + } + +/** + * End of namespace + */ +} + diff --git a/tests/cpp/include/variables/026-post-raw2.h b/tests/cpp/include/variables/026-post-raw2.h new file mode 100644 index 0000000..d250dc8 --- /dev/null +++ b/tests/cpp/include/variables/026-post-raw2.h @@ -0,0 +1,76 @@ +/** + * + * Test superglobal variables _POST + * 026-post-raw2.phpt + * + */ + + +#include +#include + +/** + * Set up namespace + */ +namespace TestVariables { + using namespace Php; + + + /* + * Test + */ + void post_raw2(void) + { + out << "name1 : "<< FILES["flnm"]["name"][0] << std::endl; + out << "name2 : "<< FILES["flnm"]["name"][1] << std::endl; + + out << "type1 : "<< FILES["flnm"]["type"][0] << std::endl; + out << "type2 : "<< FILES["flnm"]["type"][1] << std::endl; + + out << "error1 : "<< FILES["flnm"]["error"][0] << std::endl; + out << "error2 : "<< FILES["flnm"]["error"][1] << std::endl; + + out << "size1 : "<< FILES["flnm"]["size"][0] << std::endl; + out << "size2 : "<< FILES["flnm"]["size"][1] << std::endl; + + + int length0 = FILES["flnm"]["size"][0]; + int length1 = FILES["flnm"]["size"][1]; + char *buffer0, *buffer1; + + std::ifstream file0, file1; + std::string filename0 = FILES["flnm"]["tmp_name"][0]; + std::string filename1 = FILES["flnm"]["tmp_name"][1]; + + file0.open(filename0, std::ios::in | std::ios::binary); + file1.open(filename1, std::ios::in | std::ios::binary); + + if(!file0.is_open() || !file1.is_open()) { + out << "Cannot open file." << std::endl; + return; + } + + //allocate memory + buffer0 = new char[length0]; + buffer1 = new char[length1]; + + //read data as a block to buffer + file0.read(buffer0, length0); + file1.read(buffer1, length1); + file0.close(); + file1.close(); + + out << "content1 : "; + out.write(buffer0, length0); + out << std::endl; + out << "content2 : "<< buffer1 << std::endl; + + delete[] buffer0; + delete[] buffer1; + } + +/** + * End of namespace + */ +} + diff --git a/tests/cpp/include/variables/027-env.h b/tests/cpp/include/variables/027-env.h new file mode 100644 index 0000000..b8455b4 --- /dev/null +++ b/tests/cpp/include/variables/027-env.h @@ -0,0 +1,26 @@ +/** + * + * Test superglobal variables _ENV + * 027-env.phpt + * + */ + + + +namespace TestVariables { + + + /* + * Test + */ + void test_env(void) + { + Php::out << "HTTP_USER_AGENT => " << Php::SERVER["HTTP_USER_AGENT"] << std::endl; + Php::out << "ENVVAR1 => " << Php::SERVER["ENVVAR1"] << std::endl; + Php::out << "HTTP_REFERER => " << Php::SERVER["HTTP_REFERER"] << std::endl; + Php::out << "REQUEST_METHOD => " << Php::SERVER["REQUEST_METHOD"] << std::endl; + Php::out << "HTTP_HOST => " << Php::SERVER["HTTP_HOST"] << std::endl; + } + +} + diff --git a/tests/cpp/include/variables/tpl.h b/tests/cpp/include/variables/tpl.h index 3c4ed7c..0df5892 100644 --- a/tests/cpp/include/variables/tpl.h +++ b/tests/cpp/include/variables/tpl.h @@ -1,7 +1,7 @@ /** * * Test variables - * phptname.phpt + * phptname.phpt * */ @@ -12,16 +12,15 @@ * Set up namespace */ namespace TestVariables { - - - /* - * Test - */ - void fnname(Php::Parameters ¶ms) - { - - - } + + /* + * Test + */ + void fnname(Php::Parameters ¶ms) + { + + + } /** * End of namespace diff --git a/tests/cpp/main.cpp b/tests/cpp/main.cpp index f73a69a..37ba5ed 100644 --- a/tests/cpp/main.cpp +++ b/tests/cpp/main.cpp @@ -120,6 +120,11 @@ extern "C" extension.add("TestVariables\\test_HashMember_2", TestVariables::test_HashMember_2); extension.add("TestVariables\\test_HashMember_3", TestVariables::test_HashMember_3); extension.add("TestVariables\\test_HashMember_4", TestVariables::test_HashMember_4); + extension.add("TestVariables\\getCookie", TestVariables::getCookie); + extension.add("TestVariables\\get_post", TestVariables::get_post); + extension.add("TestVariables\\post_raw1", TestVariables::post_raw1); + extension.add("TestVariables\\post_raw2", TestVariables::post_raw2); + extension.add("TestVariables\\test_env", TestVariables::test_env); diff --git a/tests/php/dbg.php b/tests/php/dbg.php index b12da13..e626ce0 100644 --- a/tests/php/dbg.php +++ b/tests/php/dbg.php @@ -11,15 +11,7 @@ -TestIniEntries\iniTest1(); -/* -exit; -ini_restore ( 'ini1' ); -ini_restore ( 'ini2' ); -ini_restore ( 'ini3' ); -TestIniEntries\iniTest1(); -*/ -//exit; + echo "\x1b[1;31m"; (new ReflectionExtension('extension_for_tests') )->info(); echo "\x1b[0m"; diff --git a/tests/php/phpt/variables/023-cookie.phpt b/tests/php/phpt/variables/023-cookie.phpt new file mode 100644 index 0000000..0648188 --- /dev/null +++ b/tests/php/phpt/variables/023-cookie.phpt @@ -0,0 +1,16 @@ +--TEST-- +test cookie +--SKIPIF-- + +--COOKIE-- +peace=toTheWorld;freedom=toThePeople +--FILEEOF-- + +--GET-- +a=test&b=http://phpcpp.com&ar[elm1]=1234&ar[elm2]=0660&a=0234 +--POST-- +c=

string

&d=12345.7&e[]=e1&e[]=e2 +--FILEEOF-- +string

+_POST[d] = 12345.7 + +Notice: Array to string conversion in %s/024-get-post.php on line %d +_POST[e] = Array +_POST[e][0] = e1 +_POST[e][1] = e2 \ No newline at end of file diff --git a/tests/php/phpt/variables/025-post-raw1.phpt b/tests/php/phpt/variables/025-post-raw1.phpt new file mode 100644 index 0000000..76fed0f --- /dev/null +++ b/tests/php/phpt/variables/025-post-raw1.phpt @@ -0,0 +1,27 @@ +--TEST-- +test post raw #1 +--SKIPIF-- + +--POST_RAW-- +Content-type: multipart/form-data, boundary=AaB03x + +--AaB03x +content-disposition: form-data; name="username" + +valmat +--AaB03x +content-disposition: form-data; name="text" + +Hellow World! +--AaB03x +--FILEEOF-- + $v) {echo "\n$k => $v";} + +--EXPECTF-- +username => valmat +text => Hellow World! \ No newline at end of file diff --git a/tests/php/phpt/variables/026-post-raw2.phpt b/tests/php/phpt/variables/026-post-raw2.phpt new file mode 100644 index 0000000..4bee44c --- /dev/null +++ b/tests/php/phpt/variables/026-post-raw2.phpt @@ -0,0 +1,38 @@ +--TEST-- +Post files +--DESCRIPTION-- +Simulates the file upload method post +test post raw #2 +--SKIPIF-- + +--POST_RAW-- +Content-type: multipart/form-data, boundary=AaB03x + +--AaB03x +content-disposition: form-data; name="flnm[]"; filename="file1.txt" +Content-Type: text/plain + +abcdef123456789 +--AaB03x +content-disposition: form-data; name="flnm[]"; filename="file2.txt" +Content-Type: text/plain + +«£¥§©®°±¶Я⅓⅘⅞Ⅻↆ❄❅❆⚑⚐⌛⌚〰» +--AaB03x +--FILEEOF-- + +--ENV-- +return << Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:28.0) Gecko/20100101 Firefox/28.0 +ENVVAR1 => ENVVAL1 +HTTP_REFERER => http://spb.1gs.ru/ +REQUEST_METHOD => GET +HTTP_HOST => phpcpp.com -- cgit v1.2.3