Skip to content

Commit

Permalink
Don't analyze temp files (#3279)
Browse files Browse the repository at this point in the history
  • Loading branch information
rita-gorokhod committed Sep 23, 2022
1 parent 6c4e541 commit 16f9cbf
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 33 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
################################
# Assembly references report
# Report date/time: 2022-08-31T12:31:07.5686673Z
# Report date/time: 2022-09-22T12:25:06.7023983Z
################################
#
# Generated by Devtility CheckAsmRefs v0.11.0.223
Expand All @@ -19,7 +19,7 @@
#
################################

# Base directory: D:\a\1\s\src\Integration.Vsix\bin\Release\VS2022\net472
# Base directory: C:\projects\sonarlint-visualstudio\src\Integration.Vsix\bin\Debug\VS2022\net472
Include patterns:
- 'Sonar*'
Exclude patterns:
Expand Down Expand Up @@ -286,9 +286,10 @@ Referenced assemblies:
- 'System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
- 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
- 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
- 'System.IO.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=96bf224d23c43e59'
- 'System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
- 'WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
# Number of references: 28
# Number of references: 29

---
Assembly: 'SonarLint.VisualStudio.IssueVisualization.Security, Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5b62af9de6d7244'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
################################
# Assembly references report
# Report date/time: 2022-08-31T12:31:07.5686673Z
# Report date/time: 2022-09-22T12:25:06.7023983Z
################################
#
# Generated by Devtility CheckAsmRefs v0.11.0.223
Expand All @@ -19,7 +19,7 @@
#
################################

# Base directory: D:\a\1\s\src\Integration.Vsix\bin\Release\VS2022\net472
# Base directory: C:\projects\sonarlint-visualstudio\src\Integration.Vsix\bin\Debug\VS2022\net472
Include patterns:
- 'Sonar*'
Exclude patterns:
Expand Down Expand Up @@ -286,9 +286,10 @@ Referenced assemblies:
- 'System.ComponentModel.Composition, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
- 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
- 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
- 'System.IO.Abstractions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=96bf224d23c43e59'
- 'System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
- 'WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
# Number of references: 28
# Number of references: 29

---
Assembly: 'SonarLint.VisualStudio.IssueVisualization.Security, Version=6.9.0.0, Culture=neutral, PublicKeyToken=null'
Expand Down
37 changes: 18 additions & 19 deletions src/IssueViz.UnitTests/Editor/TaggableBufferIndicatorTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

using System.IO.Abstractions;
using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.VisualStudio.Utilities;
using Moq;
using SonarLint.VisualStudio.Integration.UnitTests;
using SonarLint.VisualStudio.IssueVisualization.Editor;
Expand All @@ -33,50 +33,49 @@ public class TaggableBufferIndicatorTests
{
private const string FilePath = "test.cpp";

private TaggableBufferIndicator testSubject;

[TestInitialize]
public void TestInitialize()
{
testSubject = new TaggableBufferIndicator();
}

[TestMethod]
public void IsTaggable_NoFilePath_False()
{
var buffer = TaggerTestHelper.CreateBufferMock(filePath: null);

using (new AssertIgnoreScope())
{
var fileSystem = new Mock<IFileSystem>();
var testSubject = new TaggableBufferIndicator(fileSystem.Object);

var result = testSubject.IsTaggable(buffer.Object);
result.Should().BeFalse();

fileSystem.Invocations.Count.Should().Be(0);
}
}

[TestMethod]
public void IsTaggable_ContentTypeIsOutput_False()
public void IsTaggable_FileDoesNotExist_False()
{
var contentType = new Mock<IContentType>();
contentType.Setup(x => x.IsOfType("Output")).Returns(true);

var buffer = TaggerTestHelper.CreateBufferMock(filePath: FilePath);
buffer.Setup(x => x.ContentType).Returns(contentType.Object);
var testSubject = CreateTestSubject(fileExists: false);

var result = testSubject.IsTaggable(buffer.Object);
result.Should().BeFalse();
}

[TestMethod]
public void IsTaggable_ContentTypeIsNotOutput_True()
public void IsTaggable_FileExists_True()
{
var contentType = new Mock<IContentType>();
contentType.Setup(x => x.IsOfType("Output")).Returns(false);

var buffer = TaggerTestHelper.CreateBufferMock(filePath: FilePath);
buffer.Setup(x => x.ContentType).Returns(contentType.Object);
var testSubject = CreateTestSubject(fileExists: true);

var result = testSubject.IsTaggable(buffer.Object);
result.Should().BeTrue();
}

private TaggableBufferIndicator CreateTestSubject(bool fileExists)
{
var fileSystem = new Mock<IFileSystem>();
fileSystem.Setup(x => x.File.Exists(FilePath)).Returns(fileExists);

return new TaggableBufferIndicator(fileSystem.Object);
}
}
}
23 changes: 15 additions & 8 deletions src/IssueViz/Editor/TaggableBufferIndicator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
*/

using System.ComponentModel.Composition;
using System.IO.Abstractions;
using Microsoft.VisualStudio.Text;

namespace SonarLint.VisualStudio.IssueVisualization.Editor
Expand All @@ -31,6 +32,19 @@ public interface ITaggableBufferIndicator
[Export(typeof(ITaggableBufferIndicator))]
internal class TaggableBufferIndicator : ITaggableBufferIndicator
{
private readonly IFileSystem fileSystem;

[ImportingConstructor]
public TaggableBufferIndicator()
: this(new FileSystem())
{
}

internal TaggableBufferIndicator(IFileSystem fileSystem)
{
this.fileSystem = fileSystem;
}

public bool IsTaggable(ITextBuffer buffer)
{
var filePath = buffer.GetFilePath();
Expand All @@ -40,14 +54,7 @@ public bool IsTaggable(ITextBuffer buffer)
return false;
}

var isOutputBuffer = buffer.ContentType.IsOfType("Output");

if (isOutputBuffer)
{
return false;
}

return true;
return fileSystem.File.Exists(filePath);
}
}
}

0 comments on commit 16f9cbf

Please sign in to comment.