1. Java / Говнокод #17107

    +74

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public static void main(String[] args) throws Exception {
        ...
        try {
            Signature.getInstance("NONEwithRSA", "SUN");
            throw new Exception("call succeeded");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        System.out.println("OK");
    }

    http://jdk.openjdk-rt.googlecode.com/hg/test/java/security/Signature/NONEwithRSA.java

    Запостил: Naturlih, 13 Ноября 2014

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

    • Ну это яйцо для проверки что алгоритм наличиствует. Что тут такова?
      Ответить
      • Возможно вот это: throw new Exception("Всё хорошо");
        Ответить
        • а! так оно не скомпилица!! SOUT тут арнричибл стейтмент!

          не скомпилица!
          Ответить
          • Да как это анричибл? Если getInstance() вбросит NoSuchAlgorithmException - распечатает трейс и выдаст OK. Т.е. это такая хитрая проверка на отсутствие алгоритма.
            Ответить
        • Так это же тест, всё правильно. Тест проверяет, что бросается NoSuchAlgorithmException. Если не выбросилось - тест завален.
          Ответить
          • Тесты через мейн? Мадам знает толк в извращенях
            Ответить
            • Ну не тянуть же JUnit вместе с JDK ради одних тестов.
              Ответить
              • Для этого есть скопы, чтоб везде не тянуть.

                Прости, а ты вообще против юниттстов?
                Ответить
                • Не против. Их реализация через main здесь действительно немного корявая, но подозреваю, что у разработчиков JDK были на это причины. Например, нежелание тянуть внешние зависимости. Работает - и ладно.

                  > Для этого есть скопы, чтоб везде не тянуть.

                  А в системе сборки самого JDK они точно есть? ;)
                  Ответить
                  • > А в системе сборки самого JDK они точно есть? ;)
                    К моменту запуска юнит-тестов, наверное, уже будут.
                    Ответить

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