Files
divkit/client/ios/DivKitTests/Extensions/DivSeparatorExtensionsTests.swift
T
booster b489b36d92 Fixed file path in precommit hook
commit_hash:f7df7bc7f68f49dd4b005691712d8784e092107e
2025-07-17 17:28:31 +03:00

75 lines
1.9 KiB
Swift

@testable import DivKit
import DivKitTestsSupport
@testable import LayoutKit
import XCTest
final class DivSeparatorExtensionsTests: XCTestCase {
func test_WithDelimiterStyle() throws {
let block = makeBlock(
divSeparator(
delimiterStyle: DivSeparator.DelimiterStyle(
color: .value(color("#AABBCCDD"))
)
)
)
let expectedBlock = StateBlock(
child: DecoratingBlock(
child: SeparatorBlock(
color: color("#AABBCCDD")
),
accessibilityElement: .default
),
ids: []
)
assertEqual(block, expectedBlock)
}
func test_WhenDivHasHorizontalOrientation_AndIntrinsicWidth_ThrowsError() throws {
XCTAssertThrowsError(
try makeBlock(fromFile: "horizontal_wrap_content_width"),
DivBlockModelingError(
"DivSeparator has wrap_content size by orientation dimension",
path: .root + "separator"
)
)
}
func test_WhenDivHasVerticalOrientation_AndIntrinsicHeight_ThrowsError() throws {
XCTAssertThrowsError(
try makeBlock(fromFile: "vertical_wrap_content_height"),
DivBlockModelingError(
"DivSeparator has wrap_content size by orientation dimension",
path: .root + "separator"
)
)
}
func test_WhenErrorOccuresAndSeparatorHasId_ErrorPathHasId() throws {
let context = DivBlockModelingContext(
cardId: "custom_card_id"
)
let div = divSeparator(
id: "custom_separator_id",
width: .divWrapContentSize(.init())
)
XCTAssertThrowsError(
try divData(div, stateId: 0).makeBlock(context: context),
DivBlockModelingError(
"DivSeparator has wrap_content size by orientation dimension",
path: "custom_card_id" + 0 + "custom_separator_id"
)
)
}
}
private func makeBlock(fromFile filename: String) throws -> Block {
try DivSeparatorTemplate.make(
fromFile: filename,
subdirectory: "div-separator",
context: .default
)
}