plumb("window" . $step->node, "window" . $step->cancel, "BottomLeft", "TopCenter", "Отменить", '#f11515'); } if ($step->yes != "") { plumb("window" . $step->node, "window" . $step->yes, "BottomCenter", "TopCenter", "Да", '#a7b04b'); } if ($step->no != "") { plumb("window" . $step->node, "window" . $step->no, "Left", "TopCenter", "Нет", '#f11515'); } if ($step->thinking != "") { plumb("window" . $step->node, "window" . $step->thinking, "Left", "TopCenter", "Доработать", '#c9b615'); } if ($step->one != "") { plumb("window" . $step->node, "window" . $step->one, "TopLeft", "TopCenter", "1", '#2c2cde'); } if ($step->two != "") { plumb("window" . $step->node, "window" . $step->two, "TopRight", "TopCenter", "2", '#2c2cde'); } if ($step->three != "") { plumb("window" . $step->node, "window" . $step->three, "BottomLeft", "TopCenter", "3", '#2c2cde'); } if ($step->four != "") { plumb("window" . $step->node, "window" . $step->four, "BottomRight", "TopCenter", "4", '#2c2cde'); } } ?> jsPlumb.draggable(jsPlumb.getSelector(".window"), { containment:".demo"}); jsPlumb.repaintEverything(); }); }); </script>
function id($x) { return $x; } deftests(['id' => function ($n) { $result = plumb([0], $n); return $result === $n ? 0 : get_defined_vars(); }, 'id2' => function ($n) { $result = plumb([], $n); return $result === $n ? 0 : get_defined_vars(); }, 'const' => function ($n, $m) { $result = plumb([[1]], $n, $m); return $result === $n ? 0 : get_defined_vars(); }, 'comp' => function ($l, $m, $n) { $lhs = plumb([[[2, __(1, 0)]]], op('+', $l), op('*', $m), $n); $rhs = $l + $m * $n; return $lhs === $rhs ? 0 : get_defined_vars(); }, 'nest' => function ($n) { $lhs = plumb([__('+', __('*', 0, 0)), __(__('id', 'id'), 0)], $n); $rhs = ($n + 1) * $n; return $lhs === $rhs ? 0 : get_defined_vars(); }, 'ops' => function ($m, $n) { $lhs = plumb([['+', 0, 1]], $m, $n); $rhs = $m + $n; return $lhs === $rhs ? 0 : get_defined_vars(); }]); if ($results = runtests(null)) { var_dump($results); } else { echo "All tests pass\n"; }