403Webshell
Server IP : 37.9.174.138  /  Your IP : 216.73.216.117
Web Server : Apache
System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64
User : ftpuser ( 1001)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/mirka/.phpstorm_helpers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/mirka/.phpstorm_helpers/phpspec.php
<?php

if (!isset($_SERVER['IDE_PHPSPEC_EXE'])) {
    fwrite(STDERR, "The value of PHPSpec executable is not specified" . PHP_EOL);
    exit(1);
}

$exe = realpath($_SERVER['IDE_PHPSPEC_EXE']);
if (!file_exists($exe)) {
    fwrite(STDERR, "The value of PHPSpec executable is specified, but file doesn't exist '$exe'" . PHP_EOL);
    exit(1);
}

$version = "UNKNOWN";
if (isset($_SERVER['IDE_PHPSPEC_VERSION'])) {
    $version = $_SERVER['IDE_PHPSPEC_VERSION'];
}
else {
    $php = escapeshellarg(defined('PHP_BINARY') ? PHP_BINARY : PHP_BINDIR . DIRECTORY_SEPARATOR . "php");
    $v = preg_split('/ /', exec("$php " . escapeshellarg($exe) . " --version --no-ansi"));
    if (is_array($v) && count($v) > 1) {
        $desc = strtolower($v[count($v) - 2]);
        if ($desc == "version" || $desc == "phpspec") {
            $version = $v[count($v) - 1];
        }
    }
}

define('PHPSPEC_VERSION', $version);

function init($dir, $autoload) {
    foreach ($autoload as $file) {
        if (file_exists($dir . $file)) {
            require $dir . $file;
            return;
        }
    }
}

init(getcwd(), array('/vendor/autoload.php', '/../../autoload.php'));

if (Phar::isValidPharFilename(basename($exe), true)) {
    require_once 'phar://' . $exe . '/vendor/autoload.php';
}
else {
    init(dirname($exe), array('/../vendor/autoload.php', '/../../../autoload.php'));
}

class PhpStormFormatter extends \PhpSpec\Formatter\ConsoleFormatter
{
    public function beforeSuite(\PhpSpec\Event\SuiteEvent $event)
    {
        $this->printEvent("enteredTheMatrix");
    }

    public function afterSuite(\PhpSpec\Event\SuiteEvent $event)
    {
        //TODO: add statistic
    }

    public function beforeExample(\PhpSpec\Event\ExampleEvent $event)
    {
        $testName = $event->getTitle();
        $duration = (int)(round($event->getTime(), 2) * 1000);
        $params = array(
            'name' => $testName,
            "duration" => $duration
        );

        $className = $event->getSpecification()->getClassReflection()->getName();
        $methodName = $event->getExample()->getFunctionReflection()->getName();
        $params['locationHint'] = "phpspec://\\$className::$methodName";
        $this->printEvent('testStarted', $params);
    }

    public function afterExample(\PhpSpec\Event\ExampleEvent $event)
    {

        $testName = $event->getTitle();
        $duration = (int)(round($event->getTime(), 2) * 1000);
        $param = array(
            "name" => $testName,
            "duration" => $duration
        );

        $failType = null;
        switch ($event->getResult()) {
            case \PhpSpec\Event\ExampleEvent::PENDING:
                $failType = "testIgnored";
                $param["message"] = $event->getMessage();
                break;
            case \PhpSpec\Event\ExampleEvent::SKIPPED:
                $failType = "testIgnored";
                $param["message"] = $event->getMessage();
                break;
            case \PhpSpec\Event\ExampleEvent::FAILED:
                $failType = "testFailed";
                $param["message"] = $event->getMessage();
                break;
            case \PhpSpec\Event\ExampleEvent::BROKEN:
                $failType = "testFailed";
                $param["error"] = 1;
                $param["message"] = $event->getMessage();
                //TODO: when this one appear
                break;
        }

        if (!is_null($failType)) {
            $this->printEvent($failType, $param);
        }

        $className = $event->getSpecification()->getClassReflection()->getName();
        $methodName = $event->getExample()->getFunctionReflection()->getName();
        $this->printEvent('testFinished', array(
            'name' => $testName,
            'duration' => $duration,
            'locationHint' => "phpspec://\\$className::$methodName"
        ));
    }

    public function beforeSpecification(\PhpSpec\Event\SpecificationEvent $event)
    {
        $suiteName = $event->getTitle();
        if (empty($suiteName)) {
            return;
        }
        $params = array(
            'name' => $suiteName,
        );
        $className = $event->getSpecification()->getClassReflection()->getName();
        $params['locationHint'] = "phpspec://\\$className";
        $this->printEvent('testSuiteStarted', $params);
    }

    public function afterSpecification(\PhpSpec\Event\SpecificationEvent $event)
    {
        $suiteName = $event->getTitle();
        if (empty($suiteName)) {
            return;
        }

        $params = array(
            'name' => $suiteName,
        );
        $className = $event->getSpecification()->getClassReflection()->getName();
        $params['locationHint'] = "phpspec://\\$className";
        $this->printEvent('testSuiteFinished', $params);
    }

    private function printEvent($eventName, $params = array())
    {
        $this->getIO()->write("\n##teamcity[$eventName");
        foreach ($params as $key => $value) {
            $escapedValue = self::escapeValue($value);
            $this->getIO()->write(" $key='$escapedValue'");
        }
        $this->getIO()->write("]\n");
    }

    private static function escapeValue($text)
    {
        $text = str_replace('|', '||', $text);
        $text = str_replace("'", "|'", $text);
        $text = str_replace("\n", '|n', $text);
        $text = str_replace("\r", '|r', $text);
        $text = str_replace(']', '|]', $text);
        $text = str_replace('[', '|[', $text);

        return $text;
    }
}

$app = new \PhpSpec\Console\Application(PHPSPEC_VERSION);
$container = $app->getContainer();

if (version_compare(PHPSPEC_VERSION, "3") >= 0) {
    $container->define(
        'formatter.formatters.phpstorm',
        function (\PhpSpec\ServiceContainer\IndexedServiceContainer $c) {
            return new PhpStormFormatter(
                $c->get('formatter.presenter'),
                $c->get('console.io'),
                $c->get('event_dispatcher.listeners.stats')
            );
        }
    );
}
else {
    $container->set(
        'formatter.formatters.phpstorm',
        function (\PhpSpec\ServiceContainer $c) {
            return new PhpStormFormatter(
                $c->get('formatter.presenter'),
                $c->get('console.io'),
                $c->get('event_dispatcher.listeners.stats')
            );
        }
    );
}

$app->run();

Youez - 2016 - github.com/yon3zu
LinuXploit