commit 9f22286eef56a52865c1247ac0b1b9286fb33395 Author: Alexander Loren Date: Mon Aug 24 06:33:16 2026 -0700 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5008988 --- /dev/null +++ b/.gitignore @@ -0,0 +1,190 @@ +# Created by https://www.toptal.com/developers/gitignore/api/swift,swiftpm,swiftpackagemanager,visualstudiocode,macos,linux,windows +# Edit at https://www.toptal.com/developers/gitignore?templates=swift,swiftpm,swiftpackagemanager,visualstudiocode,macos,linux,windows + +### Linux ### +*~ + +# temporary files which can be created if a process still has a handle open of a deleted file +.fuse_hidden* + +# KDE directory preferences +.directory + +# Linux trash folder which might appear on any partition or disk +.Trash-* + +# .nfs files are created when an open file is removed but is still being accessed +.nfs* + +### macOS ### +# General +.DS_Store +.AppleDouble +.LSOverride + +# Icon must end with two \r +Icon + + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### macOS Patch ### +# iCloud generated files +*.icloud + +### Swift ### +# Xcode +# +# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore + +## User settings +xcuserdata/ + +## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9) +*.xcscmblueprint +*.xccheckout + +## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4) +build/ +DerivedData/ +*.moved-aside +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 + +## Obj-C/Swift specific +*.hmap + +## App packaging +*.ipa +*.dSYM.zip +*.dSYM + +## Playgrounds +timeline.xctimeline +playground.xcworkspace + +# Swift Package Manager +# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies. +# Packages/ +# Package.pins +# Package.resolved +# *.xcodeproj +# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata +# hence it is not needed unless you have added a package configuration file to your project +# .swiftpm + +.build/ + +# CocoaPods +# We recommend against adding the Pods directory to your .gitignore. However +# you should judge for yourself, the pros and cons are mentioned at: +# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control +# Pods/ +# Add this line if you want to avoid checking in source code from the Xcode workspace +# *.xcworkspace + +# Carthage +# Add this line if you want to avoid checking in source code from Carthage dependencies. +# Carthage/Checkouts + +Carthage/Build/ + +# Accio dependency management +Dependencies/ +.accio/ + +# fastlane +# It is recommended to not store the screenshots in the git repo. +# Instead, use fastlane to re-generate the screenshots whenever they are needed. +# For more information about the recommended setup visit: +# https://docs.fastlane.tools/best-practices/source-control/#source-control + +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots/**/*.png +fastlane/test_output + +# Code Injection +# After new code Injection tools there's a generated folder /iOSInjectionProject +# https://github.com/johnno1962/injectionforxcode + +iOSInjectionProject/ + +### SwiftPackageManager ### +Packages +xcuserdata +*.xcodeproj + + +### SwiftPM ### + + +### VisualStudioCode ### +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/*.code-snippets + +# Local History for Visual Studio Code +.history/ + +# Built Visual Studio Code Extensions +*.vsix + +### VisualStudioCode Patch ### +# Ignore all local history of files +.history +.ionide + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +Thumbs.db:encryptable +ehthumbs.db +ehthumbs_vista.db + +# Dump file +*.stackdump + +# Folder config file +[Dd]esktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msix +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# End of https://www.toptal.com/developers/gitignore/api/swift,swiftpm,swiftpackagemanager,visualstudiocode,macos,linux,windows diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..c8cb196 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,24 @@ +{ + "configurations": [ + { + "type": "swift", + "request": "launch", + "args": [], + "cwd": "${workspaceFolder:SwiftRunnerTesting}", + "name": "Debug SwiftRunnerTesting", + "target": "SwiftRunnerTesting", + "configuration": "debug", + "preLaunchTask": "swift: Build Debug SwiftRunnerTesting" + }, + { + "type": "swift", + "request": "launch", + "args": [], + "cwd": "${workspaceFolder:SwiftRunnerTesting}", + "name": "Release SwiftRunnerTesting", + "target": "SwiftRunnerTesting", + "configuration": "release", + "preLaunchTask": "swift: Build Release SwiftRunnerTesting" + } + ] +} \ No newline at end of file diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..a877338 --- /dev/null +++ b/Package.resolved @@ -0,0 +1,15 @@ +{ + "originHash" : "b9c727a3413a2452777b7420295f2e19a96b3788e9724e5bcd783c619b3d3da6", + "pins" : [ + { + "identity" : "rainbow", + "kind" : "remoteSourceControl", + "location" : "https://github.com/onevcat/Rainbow", + "state" : { + "revision" : "cdf146ae671b2624917648b61c908d1244b98ca1", + "version" : "4.2.1" + } + } + ], + "version" : 3 +} diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..d62c18b --- /dev/null +++ b/Package.swift @@ -0,0 +1,25 @@ +// swift-tools-version: 6.3 +// The swift-tools-version declares the minimum version of Swift required to build this package. + +import PackageDescription + +let package = Package( + name: "SwiftRunnerTesting", + products: [ + .executable(name: "SwiftRunnerTesting", targets: ["SwiftRunnerTesting"]), + ], + dependencies: [ + .package(url: "https://github.com/onevcat/Rainbow", .upToNextMajor(from: "4.0.0")) + ], + targets: [ + .executableTarget( + name: "SwiftRunnerTesting", + dependencies: ["Rainbow"] + ), + .testTarget( + name: "SwiftRunnerTestingTests", + dependencies: ["SwiftRunnerTesting"] + ), + ], + swiftLanguageModes: [.v6] +) diff --git a/Sources/SwiftRunnerTesting/Main.swift b/Sources/SwiftRunnerTesting/Main.swift new file mode 100644 index 0000000..037d473 --- /dev/null +++ b/Sources/SwiftRunnerTesting/Main.swift @@ -0,0 +1,9 @@ +import Foundation +import Rainbow + +func sayHello(to name: String = "World") -> String { + return "Hello, \(name)!" +} + +print(sayHello()) +print(sayHello(to: "Alex").red.bold.blink) \ No newline at end of file diff --git a/Tests/SwiftRunnerTestingTests/Tests.swift b/Tests/SwiftRunnerTestingTests/Tests.swift new file mode 100644 index 0000000..9ea7f51 --- /dev/null +++ b/Tests/SwiftRunnerTestingTests/Tests.swift @@ -0,0 +1,10 @@ +import Testing +@testable import SwiftRunnerTesting + +@Test func expectWorld() async throws { + #expect(sayHello() == "Hello, World!") +} + +@Test func expectAlex() async throws { + #expect(sayHello(to: "Alex") == "Hello, Alex!") +}