Skip to content
This repository has been archived by the owner on Jul 8, 2019. It is now read-only.

Commit

Permalink
Merge branch 'drywolf-master' providing TSX support
Browse files Browse the repository at this point in the history
  • Loading branch information
Pablissimo committed Apr 6, 2016
2 parents 3a8f392 + 7deef0b commit e20aa6d
Show file tree
Hide file tree
Showing 10 changed files with 18 additions and 16 deletions.
6 changes: 3 additions & 3 deletions src/main/java/com/pablissimo/sonar/TsCoverageSensor.java
Expand Up @@ -51,7 +51,7 @@ public TsCoverageSensor(FileSystem moduleFileSystem, Settings settings) {
}

public boolean shouldExecuteOnProject(Project project) {
return moduleFileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION)).iterator().hasNext();
return moduleFileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY)).iterator().hasNext();
}

public void analyse(Project project, SensorContext context) {
Expand All @@ -66,7 +66,7 @@ public void analyse(Project project, SensorContext context) {
}

protected void saveZeroValueForAllFiles(Project project, SensorContext context) {
for (File file : moduleFileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION))) {
for (File file : moduleFileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY))) {
saveZeroValueForResource(this.fileFromIoFile(file, project), context);
}
}
Expand All @@ -85,7 +85,7 @@ protected void saveMeasureFromLCOVFile(Project project, SensorContext context) {
LCOVParser parser = getParser(moduleFileSystem.baseDir());
Map<String, CoverageMeasuresBuilder> coveredFiles = parser.parseFile(lcovFile);

for (File file : moduleFileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION))) {
for (File file : moduleFileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY))) {
try {
CoverageMeasuresBuilder fileCoverage = coveredFiles.get(file.getAbsolutePath());
org.sonar.api.resources.File resource = this.fileFromIoFile(file, project);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/pablissimo/sonar/TsLintSensor.java
Expand Up @@ -60,7 +60,7 @@ public boolean shouldExecuteOnProject(Project project) {
}

private boolean hasFilesToAnalyze() {
return fileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION)).iterator().hasNext();
return fileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY)).iterator().hasNext();
}

public void analyse(Project project, SensorContext context) {
Expand Down Expand Up @@ -90,7 +90,7 @@ else if (pathToTsLintConfig == null) {
ruleNames.add(rule.getKey());
}

for (File file : fileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION))) {
for (File file : fileSystem.files(this.filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY))) {
if (skipTypeDefFiles && file.getName().toLowerCase().endsWith("." + TypeScriptLanguage.LANGUAGE_DEFINITION_EXTENSION)) {
continue;
}
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/pablissimo/sonar/TsRulesDefinition.java
Expand Up @@ -68,7 +68,7 @@ public class TsRulesDefinition implements RulesDefinition {
public void define(Context context) {
NewRepository repository =
context
.createRepository(REPOSITORY_NAME, TypeScriptLanguage.LANGUAGE_EXTENSION)
.createRepository(REPOSITORY_NAME, TypeScriptLanguage.LANGUAGE_KEY)
.setName("TsLint Analyser");

repository.createRule(RULE_TSLINT_ISSUE).setName("tslint issues that are not yet known to the plugin").setSeverity(Severity.MAJOR);
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/com/pablissimo/sonar/TypeScriptLanguage.java
Expand Up @@ -4,14 +4,15 @@

public class TypeScriptLanguage extends AbstractLanguage {
public static final String LANGUAGE_NAME = "TypeScript";
public static final String LANGUAGE_EXTENSION = "ts";
public static final String LANGUAGE_KEY = "ts";
public static final String[] LANGUAGE_EXTENSIONS = { "ts", "tsx" };
public static final String LANGUAGE_DEFINITION_EXTENSION = "d.ts";

public TypeScriptLanguage(){
super(LANGUAGE_EXTENSION, LANGUAGE_NAME);
super(LANGUAGE_KEY, LANGUAGE_NAME);
}

public String[] getFileSuffixes() {
return new String[]{ LANGUAGE_EXTENSION };
return LANGUAGE_EXTENSIONS;
}
}
Expand Up @@ -10,7 +10,7 @@ public class TypeScriptRuleProfile extends ProfileDefinition {

@Override
public RulesProfile createProfile(ValidationMessages validation) {
RulesProfile profile = RulesProfile.create("TsLint", TypeScriptLanguage.LANGUAGE_EXTENSION);
RulesProfile profile = RulesProfile.create("TsLint", TypeScriptLanguage.LANGUAGE_KEY);

activateRule(profile, TsRulesDefinition.RULE_TSLINT_ISSUE);
activateRule(profile, TsRulesDefinition.RULE_ALIGN);
Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/pablissimo/sonar/LOCSensorTest.java
Expand Up @@ -59,7 +59,7 @@ public void setUp() throws Exception {

this.filePredicates = mock(FilePredicates.class);
when(this.fileSystem.predicates()).thenReturn(this.filePredicates);
when(filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION)).thenReturn(this.predicate);
when(filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY)).thenReturn(this.predicate);
when(fileSystem.hasFiles(this.predicate)).thenReturn(true);

this.sensor = spy(new LOCSensor(this.fileSystem));
Expand Down
Expand Up @@ -57,7 +57,7 @@ public void setUp() throws Exception {

this.filePredicates = mock(FilePredicates.class);
when(this.fileSystem.predicates()).thenReturn(this.filePredicates);
when(filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION)).thenReturn(this.predicate);
when(filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY)).thenReturn(this.predicate);

this.sonarFile = mock(org.sonar.api.resources.File.class);

Expand Down
2 changes: 1 addition & 1 deletion src/test/java/com/pablissimo/sonar/TsLintSensorTest.java
Expand Up @@ -74,7 +74,7 @@ public void setUp() throws Exception {

this.filePredicates = mock(FilePredicates.class);
when(this.fileSystem.predicates()).thenReturn(this.filePredicates);
when(filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_EXTENSION)).thenReturn(this.predicate);
when(filePredicates.hasLanguage(TypeScriptLanguage.LANGUAGE_KEY)).thenReturn(this.predicate);

this.sonarFile = mock(org.sonar.api.resources.File.class);

Expand Down
Expand Up @@ -31,7 +31,7 @@ public void CreatesRepository() {
Context context = mock(Context.class, RETURNS_DEEP_STUBS);
this.definition.define(context);

verify(context).createRepository(eq(TsRulesDefinition.REPOSITORY_NAME), eq(TypeScriptLanguage.LANGUAGE_EXTENSION));
verify(context).createRepository(eq(TsRulesDefinition.REPOSITORY_NAME), eq(TypeScriptLanguage.LANGUAGE_KEY));
}

@Test
Expand Down
Expand Up @@ -25,10 +25,11 @@ public void identifiesCorrectly() {
}

@Test
public void definesCorrectExtension() {
public void definesCorrectExtensions() {
String[] suffices = this.language.getFileSuffixes();

assertEquals(1, suffices.length);
assertEquals(2, suffices.length);
assertEquals("ts", suffices[0]);
assertEquals("tsx", suffices[1]);
}
}

0 comments on commit e20aa6d

Please sign in to comment.