summaryrefslogtreecommitdiff
path: root/tests/cpp/include/valueiterator
diff options
context:
space:
mode:
authorvalmat <ufabiz@gmail.com>2014-03-28 19:00:17 +0600
committervalmat <ufabiz@gmail.com>2014-03-28 19:00:17 +0600
commit708a22fae15b13db871ca5ffc73004c70f0584fe (patch)
tree639e424f544f8ca5c950803620399c57fceb69bd /tests/cpp/include/valueiterator
parent7bc500847e3027bb785c5525a21078ff72acc2ab (diff)
Changed the structure of the test file. With the increasing number of tests the old structure became uncomfortable.
Diffstat (limited to 'tests/cpp/include/valueiterator')
-rw-r--r--tests/cpp/include/valueiterator/001-006.h27
-rw-r--r--tests/cpp/include/valueiterator/007.h44
2 files changed, 71 insertions, 0 deletions
diff --git a/tests/cpp/include/valueiterator/001-006.h b/tests/cpp/include/valueiterator/001-006.h
new file mode 100644
index 0000000..0dc6778
--- /dev/null
+++ b/tests/cpp/include/valueiterator/001-006.h
@@ -0,0 +1,27 @@
+/**
+ *
+ * TestValueIterator
+ * test valueiterator/001.phpt-valueiterator/006.phpt
+ *
+ */
+
+/**
+ * Set up namespace
+ */
+namespace TestValueIterator {
+
+
+ void loopValue(Php::Parameters &params)
+ {
+ std::cout << "Array/Object contains " << params[0].size() << " items" << std::endl;
+ for (auto it=params[0].begin(), itend = params[0].end(); it != itend; ++it) {
+ std::cout << "["<< it->first << "]="<< it->second << std::endl;
+ //std::cout << "["<< it->key() << "]="<< it->value() << std::endl;
+ }
+ return;
+ }
+/**
+ * End of namespace
+ */
+}
+
diff --git a/tests/cpp/include/valueiterator/007.h b/tests/cpp/include/valueiterator/007.h
new file mode 100644
index 0000000..3cfcb59
--- /dev/null
+++ b/tests/cpp/include/valueiterator/007.h
@@ -0,0 +1,44 @@
+/**
+ *
+ * TestValueIterator
+ * test valueiterator/007.phpt
+ *
+ */
+
+/**
+ * Set up namespace
+ */
+namespace TestValueIterator {
+
+ void loopArray(void)
+ {
+
+ Php::Value value;
+ /*
+ If we fill the array in this form, we get the following:
+ *** Error in `/usr/bin/php': double free or corruption (fasttop): 0x0000000001956d60 ***
+ value[0] = "val0";
+ value[1] = "val1";
+ value["third"] = "val3";
+ value["fourth"] = "val3";
+ */
+ value.set(0 , "val0");
+ value.set(1 , "val1");
+ value.set("third" , "val3");
+ value.set("fourth", "val3");
+
+ std::cout << "Array/Object contains " << value.size() << " items" << std::endl;
+ // assum the value variable holds an array or object, it then
+ // is possible to iterator over the values or properties
+ for (auto &iter : value)
+ {
+ // output key and value
+ Php::out << "["<< iter.first << "]="<< iter.second << std::endl;
+ }
+ }
+
+/**
+ * End of namespace
+ */
+}
+