Skip to content

Commit

Permalink
Minor refactorings
Browse files Browse the repository at this point in the history
- fix several warnings
- use SWTBot for IncludesView tests
  • Loading branch information
ralfstx committed Jul 8, 2012
1 parent cb26f70 commit da45f44
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 58 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -179,17 +179,15 @@ private String getSysout() {
private File createTmpFile( String content, String charset ) throws IOException {
File file = File.createTempFile( "jshint-test", ".tmp" );
FileOutputStream outputStream = new FileOutputStream( file );
if( outputStream != null ) {
try {
BufferedWriter writer = new BufferedWriter( new OutputStreamWriter( outputStream, charset ) );
try {
BufferedWriter writer = new BufferedWriter( new OutputStreamWriter( outputStream, charset ) );
try {
writer.write( content );
} finally {
writer.close();
}
writer.write( content );
} finally {
outputStream.close();
writer.close();
}
} finally {
outputStream.close();
}
file.deleteOnExit();
return file;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
import org.eclipse.core.resources.IProject;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.swtbot.swt.finder.SWTBot;
import org.eclipse.swtbot.swt.finder.widgets.SWTBotTable;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
Expand Down Expand Up @@ -53,24 +53,24 @@ public void tearDown() {
public void tablesEmptyByDefault() {
IncludesView view = new IncludesView( parent, SWT.NONE, project );

Table includeTable = findIncludeTable( view );
Table excludeTable = findExcludeTable( view );
assertEquals( 0, includeTable.getItemCount() );
assertEquals( 0, excludeTable.getItemCount() );
SWTBotTable includeTable = findIncludeTable( view );
SWTBotTable excludeTable = findExcludeTable( view );
assertEquals( 0, includeTable.rowCount() );
assertEquals( 0, excludeTable.rowCount() );
}

@Test
public void loadDefaults() {
IncludesView view = new IncludesView( parent, SWT.NONE, project );
Table includeTable = findIncludeTable( view );
Table excludeTable = findExcludeTable( view );
new TableItem( includeTable, SWT.NONE ).setText( "/foo/" );
new TableItem( excludeTable, SWT.NONE ).setText( "/bar/" );
SWTBotTable includeTable = findIncludeTable( view );
SWTBotTable excludeTable = findExcludeTable( view );
new TableItem( includeTable.widget, SWT.NONE ).setText( "/foo/" );
new TableItem( excludeTable.widget, SWT.NONE ).setText( "/bar/" );

view.loadDefaults();

assertEquals( 0, includeTable.getItemCount() );
assertEquals( 0, excludeTable.getItemCount() );
assertEquals( 0, includeTable.rowCount() );
assertEquals( 0, excludeTable.rowCount() );
}

@Test
Expand All @@ -81,12 +81,12 @@ public void loadPreferences() {

view.loadPreferences( preferences );

Table includeTable = findIncludeTable( view );
Table excludeTable = findExcludeTable( view );
assertEquals( 1, includeTable.getItemCount() );
assertEquals( 1, excludeTable.getItemCount() );
assertEquals( "/foo/", includeTable.getItem( 0 ).getText() );
assertEquals( "/bar/", excludeTable.getItem( 0 ).getText() );
SWTBotTable includeTable = findIncludeTable( view );
SWTBotTable excludeTable = findExcludeTable( view );
assertEquals( 1, includeTable.rowCount() );
assertEquals( 1, excludeTable.rowCount() );
assertEquals( "/foo/", includeTable.getTableItem( 0 ).getText() );
assertEquals( "/bar/", excludeTable.getTableItem( 0 ).getText() );
}

@Test
Expand All @@ -98,40 +98,31 @@ public void loadPreferences_changed() {
preferences.setIncludePatterns( list( "/bar/" ) );
view.loadPreferences( preferences );

Table table = findIncludeTable( view );
assertEquals( 1, table.getItemCount() );
assertEquals( "/bar/", table.getItem( 0 ).getText() );
SWTBotTable table = findIncludeTable( view );
assertEquals( 1, table.rowCount() );
assertEquals( "/bar/", table.getTableItem( 0 ).getText() );
}

@Test
public void storePreferences() {
IncludesView view = new IncludesView( parent, SWT.NONE, project );
Table includeTable = findIncludeTable( view );
Table excludeTable = findExcludeTable( view );
new TableItem( includeTable, SWT.NONE ).setText( "/foo/" );
new TableItem( excludeTable, SWT.NONE ).setText( "/bar/" );
SWTBotTable includeTable = findIncludeTable( view );
SWTBotTable excludeTable = findExcludeTable( view );
new TableItem( includeTable.widget, SWT.NONE ).setText( "/foo/" );
new TableItem( excludeTable.widget, SWT.NONE ).setText( "/bar/" );

view.storePreferences( preferences );

assertTrue( preferences.getIncludePatterns().contains( "/foo/" ) );
assertTrue( preferences.getExcludePatterns().contains( "/bar/" ) );
}

private static Table findIncludeTable( Composite parent ) {
return findTable( parent, 0 );
private static SWTBotTable findIncludeTable( Composite parent ) {
return new SWTBot( parent ).table( 0 );
}

private static Table findExcludeTable( Composite parent ) {
return findTable( parent, 1 );
}

private static Table findTable( Composite parent, int number ) {
for( Control child : parent.getChildren() ) {
if( child instanceof Table && number-- == 0 ) {
return (Table)child;
}
}
return null;
private static SWTBotTable findExcludeTable( Composite parent ) {
return new SWTBot( parent ).table( 1 );
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -150,11 +150,12 @@ private boolean match( int patternPos, int inputPos, String[] segments ) {
return false;
}
if( segmentPatterns[ patternPos ] == PathSegmentPattern.ANY_NUMBER ) {
while( inputPos <= segments.length ) {
if( match( patternPos + 1, inputPos, segments ) ) {
int nextInputPos = inputPos;
while( nextInputPos <= segments.length ) {
if( match( patternPos + 1, nextInputPos, segments ) ) {
return true;
}
inputPos++;
nextInputPos++;
}
return false;
} else if( segmentPatterns[ patternPos ].matches( segments[ inputPos ] ) ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,11 +109,12 @@ private boolean match( int patternPos, int inputPos, char[] input ) {
return false;
}
if( pattern[ patternPos ] == '*' ) {
while( inputPos <= input.length ) {
if( match( patternPos + 1, inputPos, input ) ) {
int nextInputPos = inputPos;
while( nextInputPos <= input.length ) {
if( match( patternPos + 1, nextInputPos, input ) ) {
return true;
}
inputPos++;
nextInputPos++;
}
return false;
} else if( pattern[ patternPos ] == '?' ) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
import java.util.List;

import org.eclipse.core.resources.IProject;
import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
Expand Down Expand Up @@ -214,7 +214,7 @@ private String showPatternDialogForTable( Table table, String origPattern ) {
String pattern = null;
PathPatternDialog dialog = new PathPatternDialog( table.getShell(), origPattern );
configurePatternDialog( dialog, table );
if( dialog.open() == Dialog.OK ) {
if( dialog.open() == Window.OK ) {
pattern = dialog.getValue();
}
return pattern;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -239,9 +239,8 @@ private String getCombinedErrorMessage() {
String folderErrorMessage = getFolderErrorMessage();
if( fileErrorMessage != null && folderErrorMessage != null ) {
return fileErrorMessage + ", " + folderErrorMessage;
} else {
return fileErrorMessage != null ? fileErrorMessage : folderErrorMessage;
}
return fileErrorMessage != null ? fileErrorMessage : folderErrorMessage;
}

private String getFolderErrorMessage() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,8 @@ private boolean setBuilderEnabled( boolean enabled ) throws CoreException {
IProject project = getResource().getProject();
if( enabled ) {
return BuilderUtil.addBuilderToProject( project, JSHintBuilder.ID );
} else {
return BuilderUtil.removeBuilderFromProject( project, JSHintBuilder.ID );
}
return BuilderUtil.removeBuilderFromProject( project, JSHintBuilder.ID );
}

private void triggerRebuild() throws CoreException {
Expand Down

0 comments on commit da45f44

Please sign in to comment.