--TEST-- SharedValue basic test --FILE-- <?php use php\util\SharedValue; $value = new SharedValue(); var_dump($value->isEmpty()); var_dump($value->get()); $value->set('foobar'); var_dump($value->get()); var_dump($value->isEmpty()); $value->set('foobar2', false); var_dump($value->get()); var_dump($value->set('foobar2')); $value->remove(); var_dump($value->isEmpty()); var_dump($value->get()); ?> --EXPECT-- bool(true) NULL string(6) "foobar" bool(false) string(6) "foobar" string(6) "foobar" bool(true) NULL
--TEST-- SharedValue basic test callbacks --FILE-- <?php use php\util\SharedValue; $value = new SharedValue(1); var_dump($value->get()); var_dump($value->getAndSet(function ($v) { return $v + 1; })); var_dump($value->get()); var_dump($value->setAndGet(function ($v) { return $v + 1; })); var_dump($value->get()); ?> --EXPECT-- int(1) int(1) int(2) int(3) int(3)