Skip to content

Latest commit

 

History

History

tree

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

Тестовое задание: Утилита tree

Комментарий

Комититься нужно как можно чаще, при проверке будет учитываться содержательность сообщений коммита и порции которыми коммиты осуществляются, время по задаче будет оцениваться как время между первым(инициализационным коммитом и последним)

Описание

Утилита может выводить дерево каталогов и файлов.

  • На вход первым параметром принимает путь к каталогу.
  • Если вторым параметром указана опция -f, то необходимо выводить файлы.

В качестве примера можно смотреть на вывод линуксовой утилиты tree.

Замечания

  1. Реализация на Node.JS
  2. Код должен быть покрыт unit-тестами.
  3. Нельзя использовать никакие зависимости кроме фреймворков для тестирования.
  4. Код реализации должен быть помещен в класс в отдельном файле, код с запуском утилиты должен быть помещен в другой файл.
  5. Для простоты тестирования рекомендую создать файловую структуру или взять структуру из этого репозитория. Тесты можно писать с учетом созданной структуры. Однако использование виртуальной файловой системы не возбраняется.
  6. Результаты должны быть отсортированы по алфавиту.
  7. Идеальным вариантом будет использование композиции.

Пример вывода

с опцией -f (показывать файлы)

├── tree.php (423b)
├── Tree.php (1487b)
├── TreeTest.php (1986b)
└── data
    ├── dist
    │   ├── css
    │   │   └── app.css (14b)
    │   ├── html
    │   │   └── index.html (15b)
    │   └── js
    │       └── app.js (13b)
    ├── empty.txt (empty)
    └── src
        ├── vue
        │   └── main.js (20b)
        └── zzz.txt (21b)

без опции -f (не показывать файлы)

└── data
    ├── dist
    │   ├── css
    │   ├── html
    │   └── js
    └── src
        └── vue