• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Camelcade / Perl5-IDEA / #525521571

04 Jun 2025 08:10AM UTC coverage: 82.32% (-0.03%) from 82.347%
#525521571

push

github

hurricup
Replace NPE with IllegalStateException in handler lookups

0 of 6 new or added lines in 5 files covered. (0.0%)

23 existing lines in 8 files now uncovered.

30843 of 37467 relevant lines covered (82.32%)

0.82 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

68.75
/plugin/plenv/src/main/java/com/perl5/lang/perl/idea/sdk/versionManager/plenv/PlenvHandler.java
1
/*
2
 * Copyright 2015-2023 Alexandr Evstigneev
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 * http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16

17
package com.perl5.lang.perl.idea.sdk.versionManager.plenv;
18

19
import com.intellij.openapi.util.NlsSafe;
20
import com.perl5.PerlIcons;
21
import com.perl5.lang.perl.idea.sdk.PerlHandlerBean;
22
import com.perl5.lang.perl.idea.sdk.host.PerlHostData;
23
import com.perl5.lang.perl.idea.sdk.versionManager.InstallPerlHandler;
24
import com.perl5.lang.perl.idea.sdk.versionManager.PerlRealVersionManagerHandler;
25
import com.perl5.lang.perl.idea.sdk.versionManager.PerlVersionManagerAdapter;
26
import com.perl5.lang.perl.idea.sdk.versionManager.PerlVersionManagerHandler;
27
import org.jetbrains.annotations.NotNull;
28
import org.jetbrains.annotations.Nullable;
29
import org.jetbrains.annotations.TestOnly;
30

31
import javax.swing.*;
32
import java.util.Collection;
33
import java.util.Collections;
34

35
class PlenvHandler extends PerlRealVersionManagerHandler<PlenvData, PlenvHandler> {
36

37
  private static final @NlsSafe String PLENV = "plenv";
38
  private static final @NlsSafe String PLENV_DEFAULT_PATH = "~/.plenv/bin/" + PLENV;
39

40
  @SuppressWarnings("NonDefaultConstructor")
41
  public PlenvHandler(@NotNull PerlHandlerBean bean) {
42
    super(bean);
1✔
43
  }
1✔
44

45
  @Override
46
  public @NotNull String getPresentableName() {
47
    return PLENV;
1✔
48
  }
49

50
  @Override
51
  protected @NotNull String getExecutableName() {
52
    return PLENV;
×
53
  }
54

55
  @Override
56
  protected @NotNull Collection<String> getPossibleVersionManagerPaths() {
57
    return Collections.singletonList(PLENV_DEFAULT_PATH);
×
58
  }
59

60
  @Override
61
  public @NotNull PlenvData createData() {
62
    return new PlenvData(this);
1✔
63
  }
64

65
  @Override
66
  public @NotNull PerlVersionManagerAdapter createAdapter(@NotNull String pathToVersionManager, @NotNull PerlHostData<?, ?> hostData) {
67
    return new PlenvAdapter(pathToVersionManager, hostData);
1✔
68
  }
69

70
  @Override
71
  protected @NotNull PlenvData createData(@NotNull PerlVersionManagerAdapter vmAdapter, @NotNull String distributionId) {
72
    return new PlenvData(vmAdapter.getVersionManagerPath(), distributionId, this);
1✔
73
  }
74

75
  @Override
76
  public @NotNull Icon getIcon() {
77
    return PerlIcons.PLENV_ICON;
×
78
  }
79

80
  @Override
81
  public @Nullable InstallPerlHandler createInstallHandler(@NotNull String pathToVersionManager) {
82
    return new PlenvInstallPerlHandler(pathToVersionManager, this);
×
83
  }
84

85
  @TestOnly
86
  static @NotNull PlenvHandler getInstance() {
87
    for (PerlVersionManagerHandler<?, ?> handler : PerlVersionManagerHandler.all()) {
1✔
88
      if (handler instanceof PlenvHandler plenvHandler) {
1✔
89
        return plenvHandler;
1✔
90
      }
91
    }
1✔
NEW
92
    throw new IllegalStateException("PlenvHandler is not registered");
×
93
  }
94

95
  @Override
96
  public @NotNull String getControlOutputForPerlVersion(@NotNull String perlVersion) {
97
    return "plenv/versions/" + perlVersion + "/lib/perl5/" + perlVersion;
1✔
98
  }
99
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc