asdf

Форк
0
/
help_command.bats 
81 строка · 1.6 Кб
1
#!/usr/bin/env bats
2

3
load test_helpers
4

5
setup() {
6
  setup_asdf_dir
7
  install_dummy_plugin
8
  install_dummy_legacy_plugin
9
  run asdf install dummy 1.0
10
  run asdf install dummy 1.1
11

12
  PROJECT_DIR="$HOME/project"
13
  mkdir -p "$PROJECT_DIR"
14
}
15

16
teardown() {
17
  clean_asdf_dir
18
}
19

20
@test "help should show dummy plugin help" {
21
  cd "$PROJECT_DIR"
22

23
  run asdf help "dummy"
24

25
  expected_output="$(
26
    cat <<EOF
27
Dummy plugin documentation
28

29
Dummy plugin is a plugin only used for unit tests
30
EOF
31
  )"
32
  [ "$status" -eq 0 ]
33
  [ "$output" = "$expected_output" ]
34
}
35

36
@test "help should show dummy plugin help specific to version when version is present" {
37
  cd "$PROJECT_DIR"
38

39
  run asdf help "dummy" "1.2.3"
40

41
  expected_output="$(
42
    cat <<EOF
43
Dummy plugin documentation
44

45
Dummy plugin is a plugin only used for unit tests
46

47
Details specific for version 1.2.3
48
EOF
49
  )"
50
  [ "$status" -eq 0 ]
51
  [ "$output" = "$expected_output" ]
52
}
53

54
@test "help should fail for unknown plugins" {
55
  cd "$PROJECT_DIR"
56

57
  run asdf help "sunny"
58
  [ "$status" -eq 1 ]
59
  [ "$output" = "No plugin named sunny" ]
60
}
61

62
@test "help should fail when plugin doesn't have documentation callback" {
63
  cd "$PROJECT_DIR"
64

65
  run asdf help "legacy-dummy"
66
  [ "$status" -eq 1 ]
67
  [ "$output" = "No documentation for plugin legacy-dummy" ]
68
}
69

70
@test "help should show asdf help when no plugin name is provided" {
71
  cd "$PROJECT_DIR"
72

73
  run asdf help
74

75
  [ "$status" -eq 0 ]
76
  [[ $output == 'version: v'* ]]
77
  [[ $output == *$'MANAGE PLUGINS\n'* ]]
78
  [[ $output == *$'MANAGE PACKAGES\n'* ]]
79
  [[ $output == *$'UTILS\n'* ]]
80
  [[ $output == *$'"Late but latest"\n-- Rajinikanth' ]]
81
}
82

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.