Annotation of embedaddon/php/ext/sqlite/tests/sqlite_closures_001.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: sqlite: aggregate functions with closures
        !             3: --INI--
        !             4: sqlite.assoc_case=0
        !             5: --SKIPIF--
        !             6: <?php # vim:ft=php
        !             7: if (!extension_loaded("sqlite")) print "skip"; ?>
        !             8: --FILE--
        !             9: <?php 
        !            10: include "blankdb.inc";
        !            11: 
        !            12: $data = array(
        !            13:        "one",
        !            14:        "two",
        !            15:        "three"
        !            16:        );
        !            17: 
        !            18: sqlite_query("CREATE TABLE strings(a)", $db);
        !            19: 
        !            20: foreach ($data as $str) {
        !            21:        sqlite_query("INSERT INTO strings VALUES('" . sqlite_escape_string($str) . "')", $db);
        !            22: }
        !            23: 
        !            24: function cat_step(&$context, $string)
        !            25: {
        !            26:        $context .= $string;
        !            27: }
        !            28: 
        !            29: function cat_fin(&$context)
        !            30: {
        !            31:        return $context;
        !            32: }
        !            33: 
        !            34: sqlite_create_aggregate($db, "cat", function (&$context, $string) {
        !            35:        $context .= $string;
        !            36: }, function (&$context) {
        !            37:        return $context;
        !            38: });
        !            39: 
        !            40: $r = sqlite_query("SELECT cat(a) from strings", $db);
        !            41: while ($row = sqlite_fetch_array($r, SQLITE_NUM)) {
        !            42:        var_dump($row);
        !            43: }
        !            44: 
        !            45: sqlite_close($db);
        !            46: 
        !            47: echo "DONE!\n";
        !            48: ?>
        !            49: --EXPECT--
        !            50: array(1) {
        !            51:   [0]=>
        !            52:   string(11) "onetwothree"
        !            53: }
        !            54: DONE!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>