]> granicus.if.org Git - php/commitdiff
- Add new tests
authorMarcus Boerger <helly@php.net>
Wed, 23 Feb 2005 00:56:34 +0000 (00:56 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 23 Feb 2005 00:56:34 +0000 (00:56 +0000)
ext/pdo_mysql/tests/pdo_mysql_011.phpt [new file with mode: 0755]
ext/pdo_mysql/tests/pdo_mysql_012.phpt [new file with mode: 0755]
ext/pdo_mysql/tests/pdo_mysql_013.phpt [new file with mode: 0755]
ext/pdo_pgsql/tests/pdo_pgsql_011.phpt [new file with mode: 0755]
ext/pdo_pgsql/tests/pdo_pgsql_012.phpt [new file with mode: 0755]
ext/pdo_pgsql/tests/pdo_pgsql_013.phpt [new file with mode: 0755]
ext/pdo_sqlite/tests/pdo_sqlite_011.phpt [new file with mode: 0755]
ext/pdo_sqlite/tests/pdo_sqlite_012.phpt [new file with mode: 0755]
ext/pdo_sqlite/tests/pdo_sqlite_013.phpt [new file with mode: 0755]

diff --git a/ext/pdo_mysql/tests/pdo_mysql_011.phpt b/ext/pdo_mysql/tests/pdo_mysql_011.phpt
new file mode 100755 (executable)
index 0000000..e99d712
--- /dev/null
@@ -0,0 +1,181 @@
+--TEST--
+PDO-MySQL: PDO_FETCH_FUNC and statement overloading
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_011.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+Test1::__construct(0,0)
+test(1,N/A)
+test(2,N/A)
+test(3,N/A)
+test(4,N/A)
+array(2) {
+  ["Group1"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [1]=>
+      string(3) "N/A"
+    }
+    [1]=>
+    array(1) {
+      [2]=>
+      string(3) "N/A"
+    }
+  }
+  ["Group2"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [3]=>
+      string(3) "N/A"
+    }
+    [1]=>
+    array(1) {
+      [4]=>
+      string(3) "N/A"
+    }
+  }
+}
+test(1,A)
+test(2,B)
+test(3,C)
+test(4,D)
+array(4) {
+  [0]=>
+  array(1) {
+    [1]=>
+    string(1) "A"
+  }
+  [1]=>
+  array(1) {
+    [2]=>
+    string(1) "B"
+  }
+  [2]=>
+  array(1) {
+    [3]=>
+    string(1) "C"
+  }
+  [3]=>
+  array(1) {
+    [4]=>
+    string(1) "D"
+  }
+}
+Test1::factory(1,A)
+Test1::__construct(1,A)
+Test1::factory(2,B)
+Test1::__construct(2,B)
+Test1::factory(3,C)
+Test1::__construct(3,C)
+Test1::factory(4,D)
+Test1::__construct(4,D)
+array(4) {
+  [0]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "1"
+    ["val"]=>
+    string(1) "A"
+  }
+  [1]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "2"
+    ["val"]=>
+    string(1) "B"
+  }
+  [2]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "3"
+    ["val"]=>
+    string(1) "C"
+  }
+  [3]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "4"
+    ["val"]=>
+    string(1) "D"
+  }
+}
+Test1::factory(1,A)
+Test1::__construct(1,A)
+Test1::factory(2,B)
+Test1::__construct(2,B)
+Test1::factory(3,C)
+Test1::__construct(3,C)
+Test1::factory(4,D)
+Test1::__construct(4,D)
+array(4) {
+  [0]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "1"
+    ["val"]=>
+    string(1) "A"
+  }
+  [1]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "2"
+    ["val"]=>
+    string(1) "B"
+  }
+  [2]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "3"
+    ["val"]=>
+    string(1) "C"
+  }
+  [3]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "4"
+    ["val"]=>
+    string(1) "D"
+  }
+}
+DerivedStatement::__construct(Overloaded)
+string(16) "DerivedStatement"
+DerivedStatement::retrieve(1,A)
+DerivedStatement::retrieve(2,B)
+DerivedStatement::retrieve(3,C)
+DerivedStatement::retrieve(4,D)
+array(4) {
+  [0]=>
+  array(1) {
+    [1]=>
+    string(1) "A"
+  }
+  [1]=>
+  array(1) {
+    [2]=>
+    string(1) "B"
+  }
+  [2]=>
+  array(1) {
+    [3]=>
+    string(1) "C"
+  }
+  [3]=>
+  array(1) {
+    [4]=>
+    string(1) "D"
+  }
+}
+===DONE===
diff --git a/ext/pdo_mysql/tests/pdo_mysql_012.phpt b/ext/pdo_mysql/tests/pdo_mysql_012.phpt
new file mode 100755 (executable)
index 0000000..260d4e2
--- /dev/null
@@ -0,0 +1,70 @@
+--TEST--
+PDO-MySQ: PDOStatement::setFetchMode
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_012.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(1) "A"
+    [1]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  array(2) {
+    [0]=>
+    string(1) "B"
+    [1]=>
+    string(6) "Group2"
+  }
+}
+Test::__construct(N/A)
+Test::__construct(N/A)
+array(2) {
+  [0]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "A"
+    ["grp"]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "B"
+    ["grp"]=>
+    string(6) "Group2"
+  }
+}
+Test::__construct(Changed)
+Test::__construct(Changed)
+array(2) {
+  [0]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "A"
+    ["grp"]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "B"
+    ["grp"]=>
+    string(6) "Group2"
+  }
+}
+===DONE===
diff --git a/ext/pdo_mysql/tests/pdo_mysql_013.phpt b/ext/pdo_mysql/tests/pdo_mysql_013.phpt
new file mode 100755 (executable)
index 0000000..d854212
--- /dev/null
@@ -0,0 +1,58 @@
+--TEST--
+PDO-MySQL: PDOStatement is Traversable
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_013.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  string(1) "A"
+  [1]=>
+  string(6) "Group1"
+}
+array(2) {
+  [0]=>
+  string(1) "B"
+  [1]=>
+  string(6) "Group2"
+}
+Test::__construct(N/A)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "A"
+  ["grp"]=>
+  string(6) "Group1"
+}
+Test::__construct(N/A)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "B"
+  ["grp"]=>
+  string(6) "Group2"
+}
+Test::__construct(WOW)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "A"
+  ["grp"]=>
+  string(6) "Group1"
+}
+Test::__construct(WOW)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "B"
+  ["grp"]=>
+  string(6) "Group2"
+}
+===DONE===
diff --git a/ext/pdo_pgsql/tests/pdo_pgsql_011.phpt b/ext/pdo_pgsql/tests/pdo_pgsql_011.phpt
new file mode 100755 (executable)
index 0000000..ced3d8b
--- /dev/null
@@ -0,0 +1,181 @@
+--TEST--
+PDO-PGSQL: PDO_FETCH_FUNC and statement overloading
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_011.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+Test1::__construct(0,0)
+test(1,N/A)
+test(2,N/A)
+test(3,N/A)
+test(4,N/A)
+array(2) {
+  ["Group1"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [1]=>
+      string(3) "N/A"
+    }
+    [1]=>
+    array(1) {
+      [2]=>
+      string(3) "N/A"
+    }
+  }
+  ["Group2"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [3]=>
+      string(3) "N/A"
+    }
+    [1]=>
+    array(1) {
+      [4]=>
+      string(3) "N/A"
+    }
+  }
+}
+test(1,A)
+test(2,B)
+test(3,C)
+test(4,D)
+array(4) {
+  [0]=>
+  array(1) {
+    [1]=>
+    string(1) "A"
+  }
+  [1]=>
+  array(1) {
+    [2]=>
+    string(1) "B"
+  }
+  [2]=>
+  array(1) {
+    [3]=>
+    string(1) "C"
+  }
+  [3]=>
+  array(1) {
+    [4]=>
+    string(1) "D"
+  }
+}
+Test1::factory(1,A)
+Test1::__construct(1,A)
+Test1::factory(2,B)
+Test1::__construct(2,B)
+Test1::factory(3,C)
+Test1::__construct(3,C)
+Test1::factory(4,D)
+Test1::__construct(4,D)
+array(4) {
+  [0]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(1)
+    ["val"]=>
+    string(1) "A"
+  }
+  [1]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(2)
+    ["val"]=>
+    string(1) "B"
+  }
+  [2]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(3)
+    ["val"]=>
+    string(1) "C"
+  }
+  [3]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(4)
+    ["val"]=>
+    string(1) "D"
+  }
+}
+Test1::factory(1,A)
+Test1::__construct(1,A)
+Test1::factory(2,B)
+Test1::__construct(2,B)
+Test1::factory(3,C)
+Test1::__construct(3,C)
+Test1::factory(4,D)
+Test1::__construct(4,D)
+array(4) {
+  [0]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(1)
+    ["val"]=>
+    string(1) "A"
+  }
+  [1]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(2)
+    ["val"]=>
+    string(1) "B"
+  }
+  [2]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(3)
+    ["val"]=>
+    string(1) "C"
+  }
+  [3]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    int(4)
+    ["val"]=>
+    string(1) "D"
+  }
+}
+DerivedStatement::__construct(Overloaded)
+string(16) "DerivedStatement"
+DerivedStatement::retrieve(1,A)
+DerivedStatement::retrieve(2,B)
+DerivedStatement::retrieve(3,C)
+DerivedStatement::retrieve(4,D)
+array(4) {
+  [0]=>
+  array(1) {
+    [1]=>
+    string(1) "A"
+  }
+  [1]=>
+  array(1) {
+    [2]=>
+    string(1) "B"
+  }
+  [2]=>
+  array(1) {
+    [3]=>
+    string(1) "C"
+  }
+  [3]=>
+  array(1) {
+    [4]=>
+    string(1) "D"
+  }
+}
+===DONE===
diff --git a/ext/pdo_pgsql/tests/pdo_pgsql_012.phpt b/ext/pdo_pgsql/tests/pdo_pgsql_012.phpt
new file mode 100755 (executable)
index 0000000..cc74f9a
--- /dev/null
@@ -0,0 +1,70 @@
+--TEST--
+PDO-PGSQL: PDOStatement::setFetchMode
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_012.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(1) "A"
+    [1]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  array(2) {
+    [0]=>
+    string(1) "B"
+    [1]=>
+    string(6) "Group2"
+  }
+}
+Test::__construct(N/A)
+Test::__construct(N/A)
+array(2) {
+  [0]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "A"
+    ["grp"]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "B"
+    ["grp"]=>
+    string(6) "Group2"
+  }
+}
+Test::__construct(Changed)
+Test::__construct(Changed)
+array(2) {
+  [0]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "A"
+    ["grp"]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "B"
+    ["grp"]=>
+    string(6) "Group2"
+  }
+}
+===DONE===
diff --git a/ext/pdo_pgsql/tests/pdo_pgsql_013.phpt b/ext/pdo_pgsql/tests/pdo_pgsql_013.phpt
new file mode 100755 (executable)
index 0000000..ce3a806
--- /dev/null
@@ -0,0 +1,58 @@
+--TEST--
+PDO-PGSQL: PDOStatement is Traversable
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_013.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  string(1) "A"
+  [1]=>
+  string(6) "Group1"
+}
+array(2) {
+  [0]=>
+  string(1) "B"
+  [1]=>
+  string(6) "Group2"
+}
+Test::__construct(N/A)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "A"
+  ["grp"]=>
+  string(6) "Group1"
+}
+Test::__construct(N/A)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "B"
+  ["grp"]=>
+  string(6) "Group2"
+}
+Test::__construct(WOW)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "A"
+  ["grp"]=>
+  string(6) "Group1"
+}
+Test::__construct(WOW)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "B"
+  ["grp"]=>
+  string(6) "Group2"
+}
+===DONE===
diff --git a/ext/pdo_sqlite/tests/pdo_sqlite_011.phpt b/ext/pdo_sqlite/tests/pdo_sqlite_011.phpt
new file mode 100755 (executable)
index 0000000..905fdc7
--- /dev/null
@@ -0,0 +1,181 @@
+--TEST--
+PDO-SQLite: PDO_FETCH_FUNC and statement overloading
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_011.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+Test1::__construct(0,0)
+test(1,N/A)
+test(2,N/A)
+test(3,N/A)
+test(4,N/A)
+array(2) {
+  ["Group1"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [1]=>
+      string(3) "N/A"
+    }
+    [1]=>
+    array(1) {
+      [2]=>
+      string(3) "N/A"
+    }
+  }
+  ["Group2"]=>
+  array(2) {
+    [0]=>
+    array(1) {
+      [3]=>
+      string(3) "N/A"
+    }
+    [1]=>
+    array(1) {
+      [4]=>
+      string(3) "N/A"
+    }
+  }
+}
+test(1,A)
+test(2,B)
+test(3,C)
+test(4,D)
+array(4) {
+  [0]=>
+  array(1) {
+    [1]=>
+    string(1) "A"
+  }
+  [1]=>
+  array(1) {
+    [2]=>
+    string(1) "B"
+  }
+  [2]=>
+  array(1) {
+    [3]=>
+    string(1) "C"
+  }
+  [3]=>
+  array(1) {
+    [4]=>
+    string(1) "D"
+  }
+}
+Test1::factory(1,A)
+Test1::__construct(1,A)
+Test1::factory(2,B)
+Test1::__construct(2,B)
+Test1::factory(3,C)
+Test1::__construct(3,C)
+Test1::factory(4,D)
+Test1::__construct(4,D)
+array(4) {
+  [0]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "1"
+    ["val"]=>
+    string(1) "A"
+  }
+  [1]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "2"
+    ["val"]=>
+    string(1) "B"
+  }
+  [2]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "3"
+    ["val"]=>
+    string(1) "C"
+  }
+  [3]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "4"
+    ["val"]=>
+    string(1) "D"
+  }
+}
+Test1::factory(1,A)
+Test1::__construct(1,A)
+Test1::factory(2,B)
+Test1::__construct(2,B)
+Test1::factory(3,C)
+Test1::__construct(3,C)
+Test1::factory(4,D)
+Test1::__construct(4,D)
+array(4) {
+  [0]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "1"
+    ["val"]=>
+    string(1) "A"
+  }
+  [1]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "2"
+    ["val"]=>
+    string(1) "B"
+  }
+  [2]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "3"
+    ["val"]=>
+    string(1) "C"
+  }
+  [3]=>
+  object(Test1)#%d (2) {
+    ["id"]=>
+    string(1) "4"
+    ["val"]=>
+    string(1) "D"
+  }
+}
+DerivedStatement::__construct(Overloaded)
+string(16) "DerivedStatement"
+DerivedStatement::retrieve(1,A)
+DerivedStatement::retrieve(2,B)
+DerivedStatement::retrieve(3,C)
+DerivedStatement::retrieve(4,D)
+array(4) {
+  [0]=>
+  array(1) {
+    [1]=>
+    string(1) "A"
+  }
+  [1]=>
+  array(1) {
+    [2]=>
+    string(1) "B"
+  }
+  [2]=>
+  array(1) {
+    [3]=>
+    string(1) "C"
+  }
+  [3]=>
+  array(1) {
+    [4]=>
+    string(1) "D"
+  }
+}
+===DONE===
diff --git a/ext/pdo_sqlite/tests/pdo_sqlite_012.phpt b/ext/pdo_sqlite/tests/pdo_sqlite_012.phpt
new file mode 100755 (executable)
index 0000000..6da2f1c
--- /dev/null
@@ -0,0 +1,70 @@
+--TEST--
+PDO-SQLite: PDOStatement::setFetchMode
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_012.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  array(2) {
+    [0]=>
+    string(1) "A"
+    [1]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  array(2) {
+    [0]=>
+    string(1) "B"
+    [1]=>
+    string(6) "Group2"
+  }
+}
+Test::__construct(N/A)
+Test::__construct(N/A)
+array(2) {
+  [0]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "A"
+    ["grp"]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "B"
+    ["grp"]=>
+    string(6) "Group2"
+  }
+}
+Test::__construct(Changed)
+Test::__construct(Changed)
+array(2) {
+  [0]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "A"
+    ["grp"]=>
+    string(6) "Group1"
+  }
+  [1]=>
+  object(Test)#%d (2) {
+    ["val"]=>
+    string(1) "B"
+    ["grp"]=>
+    string(6) "Group2"
+  }
+}
+===DONE===
diff --git a/ext/pdo_sqlite/tests/pdo_sqlite_013.phpt b/ext/pdo_sqlite/tests/pdo_sqlite_013.phpt
new file mode 100755 (executable)
index 0000000..df7754e
--- /dev/null
@@ -0,0 +1,58 @@
+--TEST--
+PDO-SQLite: PDOStatement is Traversable
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_013.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECTF--
+array(2) {
+  [0]=>
+  string(1) "A"
+  [1]=>
+  string(6) "Group1"
+}
+array(2) {
+  [0]=>
+  string(1) "B"
+  [1]=>
+  string(6) "Group2"
+}
+Test::__construct(N/A)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "A"
+  ["grp"]=>
+  string(6) "Group1"
+}
+Test::__construct(N/A)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "B"
+  ["grp"]=>
+  string(6) "Group2"
+}
+Test::__construct(WOW)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "A"
+  ["grp"]=>
+  string(6) "Group1"
+}
+Test::__construct(WOW)
+object(Test)#%d (2) {
+  ["val"]=>
+  string(1) "B"
+  ["grp"]=>
+  string(6) "Group2"
+}
+===DONE===