Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,6 @@ uikit-check-build

# Output of `make analyze`
analyzer

# Output of snapshot testing
**/__Snapshots__
23 changes: 0 additions & 23 deletions Sentry.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -767,7 +767,6 @@
D43B26D62D70964C007747FD /* SentrySpanOperation.m in Sources */ = {isa = PBXBuildFile; fileRef = D43B26D52D709648007747FD /* SentrySpanOperation.m */; };
D43B26D82D70A550007747FD /* SentryTraceOrigin.m in Sources */ = {isa = PBXBuildFile; fileRef = D43B26D72D70A54A007747FD /* SentryTraceOrigin.m */; };
D43B26DA2D70A612007747FD /* SentrySpanDataKey.m in Sources */ = {isa = PBXBuildFile; fileRef = D43B26D92D70A60E007747FD /* SentrySpanDataKey.m */; };
D43C1BE82E8FB85400CD5D67 /* SnapshotTesting in Frameworks */ = {isa = PBXBuildFile; productRef = D43C1BE72E8FB85400CD5D67 /* SnapshotTesting */; };
D4411DD52E02B74900EA4987 /* ArrayAccessesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4411DD42E02B74100EA4987 /* ArrayAccessesTests.swift */; };
D44311312EB22812006CABE4 /* SentryUIRedactBuilderTests+ReactNative.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4AF7D212E93FFCA004F0F59 /* SentryUIRedactBuilderTests+ReactNative.swift */; };
D44B16722DE464AD006DBDB3 /* TestDispatchFactoryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D44B16712DE464A9006DBDB3 /* TestDispatchFactoryTests.swift */; };
Expand Down Expand Up @@ -2546,7 +2545,6 @@
buildActionMask = 2147483647;
files = (
8431F01C29B2854200D8DC56 /* libSentryTestUtils.a in Frameworks */,
D43C1BE82E8FB85400CD5D67 /* SnapshotTesting in Frameworks */,
D84DAD592B1742C1003CF120 /* SentryTestUtilsDynamic.framework in Frameworks */,
63AA766A1EB8CB2F00D153DE /* Sentry.framework in Frameworks */,
);
Expand Down Expand Up @@ -5384,7 +5382,6 @@
);
name = SentryTests;
packageProductDependencies = (
D43C1BE72E8FB85400CD5D67 /* SnapshotTesting */,
);
productName = "Tests-iOS";
productReference = 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */;
Expand Down Expand Up @@ -5557,7 +5554,6 @@
);
mainGroup = 6327C5C91EB8A783004E799B;
packageReferences = (
D43C1BE62E8FB85400CD5D67 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */,
);
productRefGroup = 6327C5D41EB8A783004E799B /* Products */;
projectDirPath = "";
Expand Down Expand Up @@ -8376,25 +8372,6 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */

/* Begin XCRemoteSwiftPackageReference section */
D43C1BE62E8FB85400CD5D67 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/pointfreeco/swift-snapshot-testing";
requirement = {
kind = upToNextMajorVersion;
minimumVersion = 1.18.7;
};
};
/* End XCRemoteSwiftPackageReference section */

/* Begin XCSwiftPackageProductDependency section */
D43C1BE72E8FB85400CD5D67 /* SnapshotTesting */ = {
isa = XCSwiftPackageProductDependency;
package = D43C1BE62E8FB85400CD5D67 /* XCRemoteSwiftPackageReference "swift-snapshot-testing" */;
productName = SnapshotTesting;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 6327C5CA1EB8A783004E799B /* Project object */;
}

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import PDFKit
import SafariServices
@_spi(Private) @testable import Sentry
import SentryTestUtils
import SnapshotTesting
import SwiftUI
import UIKit
import WebKit
Expand Down Expand Up @@ -64,11 +63,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: true, maskAllImages: true)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)

let region = try XCTUnwrap(result.element(at: 0))
// The text color of UITextView is not used for redaction
XCTAssertNil(region.color)
Expand All @@ -87,10 +83,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: false, maskAllImages: true)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)
XCTAssertEqual(result.count, 0)
}

Expand All @@ -101,10 +95,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: true, maskAllImages: false)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)
XCTAssertEqual(result.count, 1)
}

Expand All @@ -131,11 +123,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: true, maskAllImages: true)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)

let region = try XCTUnwrap(result.element(at: 0))
// The text color of UITextView is not used for redaction
XCTAssertNil(region.color)
Expand All @@ -154,10 +143,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: false, maskAllImages: true)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)
XCTAssertEqual(result.count, 0)
}

Expand All @@ -168,10 +155,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: true, maskAllImages: false)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)
XCTAssertEqual(result.count, 1)
}

Expand All @@ -196,11 +181,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: true, maskAllImages: true)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)

let region = try XCTUnwrap(result.element(at: 0))
// The text color of UITextView is not used for redaction
XCTAssertNil(region.color)
Expand All @@ -219,10 +201,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: true, maskAllImages: false)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)
XCTAssertEqual(result.count, 0)
}

Expand All @@ -233,10 +213,8 @@ class SentryUIRedactBuilderTests_ReactNative: SentryUIRedactBuilderTests { // sw
// -- Act --
let sut = getSut(maskAllText: false, maskAllImages: true)
let result = sut.redactRegionsFor(view: rootView)
let masked = createMaskedScreenshot(view: rootView, regions: result)

// -- Assert --
assertSnapshot(of: masked, as: .image)
XCTAssertEqual(result.count, 1)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,6 @@ class SentryUIRedactBuilderTests: XCTestCase {

// MARK: - Helper Methods

func createMaskedScreenshot(view: UIView, regions: [SentryRedactRegion]) -> UIImage {
let image = SentryViewRendererV2(enableFastViewRendering: true).render(view: view)
return SentryMaskRendererV2().maskScreenshot(screenshot: image, size: view.bounds.size, masking: regions)
}

/// Creates a fake instance of a view for tests.
///
/// This function is used for views that cannot be instantiated normally (e.g., unavailable initializers).
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Loading