1. PHP / Говнокод #14203

    +153

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    php_sapi_name() === 'cli' or exit('Only CLI mode allowed');
    
    getenv('API_HOST') or exit(<<<EOT
    
      To run tests you should setup "API_HOST" environment variable.
      Try follow in bash command line:
    
      $ export API_HOST=<api_host>
      cd path/to/tests
      php direct_report_problem.php
    
    
    EOT
    );
    
    defined('API_ENDPOINT') || define('API_ENDPOINT', getenv('API_HOST') . '/webservice/index.php');
    
    $method = API_ENDPOINT . '?op=...';
    
    $describe = function ($msg, $test) {
        printf("\n\n[%s]\n\n%s\n\n", $msg, shell_exec($test()));
        sleep(2);
    };
    
    $describe('Cannot upload empty report', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' ' . $method;
    });
    
    $describe('Can upload only direct report note', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F problem_note=NOTE'
        . ' ' . $method;
    });
    
    $describe('Can upload only direct report sound', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F [email protected]'
        . ' ' . $method;
    });
    
    $describe('Can upload only direct report image', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F [email protected]'
        . ' ' . $method;
    });
    
    $describe('Can upload all data direct report note, image, sound', function() use ($method) {
        return 'curl'
        . ' -F user_id=61'
        . ' -F problem_note=NOTE'
        . ' -F [email protected]'
        . ' -F [email protected]'
        . ' ' . $method;
    });

    Запостил: __proto__, 10 Декабря 2013

    Комментарии (24) RSS

    • А что в ПХП есть изкоробочный аналог оптпарсера? А так ничего удивительного ворде, или я что-то пропустил?
      Ответить
      • > изкоробочный аналог оптпарсера
        Да он ему не особо то и нужен. Мало кто юзает PHP из консольки.

        Ну и это не оптпарсер. Это, имхо, что-то типа корявого юнит-теста для API: отправляем различные команды вебсервису и выводим их название и результат.
        Ответить
        • Два чая, этому господину
          Ответить
        • За что минус, поясните плиз. Я в чем-то тупанул? ;)
          Ответить
          • Наоборот, плюс.
            Ответить
            • 2 за и 1 против. Вот интересно выслушать мнение этого человека ;)
              Ответить
              • я без понятия кто плюсы/минусы ставит. Я вообще погромирование ненавижу
                Ответить
    • > ЕОТ
      Ответить
    • Что такое function() use ($method) ?
      Ответить
      • замыкания же, после use пишем, что захватывать из контекста
        Ответить
        • Фу, так в пыхе, оказывается, замыкания прям как в крестах, с ручным закатом солнца.
          Ответить
          • неправда, в пыхе замыкания хуже, чем в крестах - кресты имеют вменяемые умолчания
            Ответить
            • Я то подумал уже хоть на пых сбежать с крестов, но оказываются меня и там подстерегают КРЕСТОПРОБЛЕМЫ и даже в квадрате.
              Ответить
              • > на пых сбежать с крестов
                Какой пиздец... Если уж бежать - то на жабу\решетку.
                Ответить
                • Пи к нам заходил, рассказывал, что там страшные чекет исключения, фолдинг, аннотации, три спринга и мало сахара. А сам сидит и деньги получает, отведя конкурентов.
                  Ответить
                  • да разве ж мало ещё языков и технологий, за овладевание которыми плотют на хлеб с икрой?
                    Ответить
                • А ты ещё ненадумал бежать?
                  Ответить
              • Подайся в гламур, уходи в лисп. Там совсем другие проблемы
                Ответить

    Добавить комментарий