summaryrefslogtreecommitdiff
path: root/tests/cpp
diff options
context:
space:
mode:
authorvalmat <ufabiz@gmail.com>2014-04-14 21:23:11 +0600
committervalmat <ufabiz@gmail.com>2014-04-14 21:23:11 +0600
commitea65bafff940dac23c52fc307b9a2e552b983102 (patch)
tree5a6c03c700125f06de81074774093620a4e9b2f1 /tests/cpp
parent8aa33ba24d56e1a631826bac47321a47ad0bb9e2 (diff)
Several tests on superglobals variables
Diffstat (limited to 'tests/cpp')
-rw-r--r--tests/cpp/h/variables.h10
-rw-r--r--tests/cpp/include/variables/023-cookie.h31
-rw-r--r--tests/cpp/include/variables/024-get-post.h38
-rw-r--r--tests/cpp/include/variables/025-post-raw1.h41
-rw-r--r--tests/cpp/include/variables/026-post-raw2.h76
-rw-r--r--tests/cpp/include/variables/027-env.h26
-rw-r--r--tests/cpp/include/variables/tpl.h21
-rw-r--r--tests/cpp/main.cpp5
8 files changed, 232 insertions, 16 deletions
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 <iostream>
+#include <fstream>
+
+/**
+ * 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 &params)
- {
-
-
- }
+
+ /*
+ * Test
+ */
+ void fnname(Php::Parameters &params)
+ {
+
+
+ }
/**
* 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);