// // SpaceInsideCommentsTests.swift // SwiftFormatTests // // Created by Nick Lockwood on 8/31/16. // Copyright © 2024 Nick Lockwood. All rights reserved. // import XCTest @testable import SwiftFormat final class SpaceInsideCommentsTests: XCTestCase { func testSpaceInsideMultilineComment() { let input = """ /*foo bar*/ """ let output = """ /* foo bar */ """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testSpaceInsideSingleLineMultilineComment() { let input = """ /*foo*/ """ let output = """ /* foo */ """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testNoSpaceInsideEmptyMultilineComment() { let input = """ /**/ """ testFormatting(for: input, rule: .spaceInsideComments) } func testSpaceInsideSingleLineComment() { let input = """ //foo """ let output = """ // foo """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testSpaceInsideMultilineHeaderdocComment() { let input = """ /**foo bar*/ """ let output = """ /** foo bar */ """ testFormatting(for: input, output, rule: .spaceInsideComments, exclude: [.docComments]) } func testSpaceInsideMultilineHeaderdocCommentType2() { let input = """ /*!foo bar*/ """ let output = """ /*! foo bar */ """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testSpaceInsideMultilineSwiftPlaygroundDocComment() { let input = """ /*:foo bar*/ """ let output = """ /*: foo bar */ """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testNoExtraSpaceInsideMultilineHeaderdocComment() { let input = """ /** foo bar */ """ testFormatting(for: input, rule: .spaceInsideComments, exclude: [.docComments]) } func testNoExtraSpaceInsideMultilineHeaderdocCommentType2() { let input = """ /*! foo bar */ """ testFormatting(for: input, rule: .spaceInsideComments) } func testNoExtraSpaceInsideMultilineSwiftPlaygroundDocComment() { let input = """ /*: foo bar */ """ testFormatting(for: input, rule: .spaceInsideComments) } func testSpaceInsideSingleLineHeaderdocComment() { let input = """ ///foo """ let output = """ /// foo """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testSpaceInsideSingleLineHeaderdocCommentType2() { let input = """ //!foo """ let output = """ //! foo """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testSpaceInsideSingleLineSwiftPlaygroundDocComment() { let input = """ //:foo """ let output = """ //: foo """ testFormatting(for: input, output, rule: .spaceInsideComments) } func testPreformattedMultilineComment() { let input = """ /********************* *****Hello World***** *********************/ """ testFormatting(for: input, rule: .spaceInsideComments) } func testPreformattedSingleLineComment() { let input = """ /////////ATTENTION//////// """ testFormatting(for: input, rule: .spaceInsideComments) } func testNoSpaceAddedToFirstLineOfDocComment() { let input = """ /** Comment */ """ testFormatting(for: input, rule: .spaceInsideComments, exclude: [.docComments]) } func testNoSpaceAddedToEmptyDocComment() { let input = """ /// """ testFormatting(for: input, rule: .spaceInsideComments) } func testNoExtraTrailingSpaceAddedToDocComment() { let input = """ class Foo { /** Call to configure forced disabling of Bills fallback mode. Intended for use only in debug builds and automated tests. */ func bar() {} } """ testFormatting(for: input, rule: .spaceInsideComments, exclude: [.indent]) } }