From bb88da7b79eaebd256066349bb9e5da3a8e7fc53 Mon Sep 17 00:00:00 2001 From: Francesco Paolo Severino <96546612+fpseverino@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:09:06 +0200 Subject: [PATCH 1/5] Add Swift Testing to Core Libraries --- documentation/core-libraries/_swift-testing.md | 9 +++++++++ documentation/core-libraries/index.md | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 documentation/core-libraries/_swift-testing.md diff --git a/documentation/core-libraries/_swift-testing.md b/documentation/core-libraries/_swift-testing.md new file mode 100644 index 000000000..84ebf540c --- /dev/null +++ b/documentation/core-libraries/_swift-testing.md @@ -0,0 +1,9 @@ +## Swift Testing + +Swift Testing is a package with expressive and intuitive APIs that make testing your Swift code a breeze. + +It provides detailed output when a test fails using macros like `#expect`. And it scales to large codebases with features like parameterization to easily repeat a test with different arguments. + +If you already have tests written using XCTest, you can run them side-by-side with newer tests written using Swift Testing. This helps you migrate tests incrementally, at your own pace. + +More information about Swift Testing is available on our [GitHub project page](https://github.com/swiftlang/swift-testing). diff --git a/documentation/core-libraries/index.md b/documentation/core-libraries/index.md index 177f5162c..b3800a406 100644 --- a/documentation/core-libraries/index.md +++ b/documentation/core-libraries/index.md @@ -25,14 +25,13 @@ have a goal of providing stable and useful features in the following key areas: These libraries are part of our ongoing work to extend the cross-platform capabilities of Swift. We chose to make them part of our open source release so that we can work on them together with the community. -Writing code that provides all of this functionality from scratch would be an enormous undertaking. Therefore, we've decided to bootstrap this project by taking advantage of great work that has already been done in these areas. Specifically, we will reuse the API and as much implementation as is possible from three existing libraries: `Foundation`, `libdispatch`, and `XCTest`. +Writing code that provides all of this functionality from scratch would be an enormous undertaking. Therefore, we've decided to bootstrap this project by taking advantage of great work that has already been done in these areas. Specifically, we will reuse the API and as much implementation as is possible from three existing libraries: `Foundation`, `libdispatch`, and `XCTest`. In addition to these there is `Swift Testing`, a new testing library designed from the ground up for Swift. * * * {% include_relative _foundation.md %} {% include_relative _libdispatch.md %} +{% include_relative _swift-testing.md %} {% include_relative _xctest.md %} * * * - -As stated above, this project is in its early days. We look forward to working together with the community to create a great set of libraries that enable Swift to produce powerful software across platforms. From 72817ddb80bb500b45abacdf86b09267e3258813 Mon Sep 17 00:00:00 2001 From: Francesco Paolo Severino <96546612+fpseverino@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:09:39 +0200 Subject: [PATCH 2/5] Update Foundation core libraries page for `swift-foundation` --- documentation/core-libraries/_foundation.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/documentation/core-libraries/_foundation.md b/documentation/core-libraries/_foundation.md index fc87420f8..9e726ff32 100644 --- a/documentation/core-libraries/_foundation.md +++ b/documentation/core-libraries/_foundation.md @@ -9,11 +9,8 @@ The Foundation framework defines a base layer of functionality that is required * Provide a level of OS independence, to enhance portability. -More information about the Foundation framework in general is available -[from Apple's documentation](https://developer.apple.com/reference/foundation). The Swift.org version of Foundation makes use of many -of the same underlying libraries (e.g. ICU and CoreFoundation) as Apple's -implementation, but has been built to be completely independent of the -Objective-C runtime. Because of this, it is a substantial reimplementation of -the same API, using pure Swift code layered on top of these common underlying -libraries. Much more information about this work is available on our -[GitHub project page](http://www.github.com/swiftlang/swift-corelibs-foundation). +Swift 6 unified the implementation of [Foundation](https://developer.apple.com/documentation/foundation/) across all platforms. The modern, portable Swift implementation provides consistency across platforms, it’s more robust, and it’s open source. + +If your app is particularly sensitive to binary size, you can import the `FoundationEssentials` library, which provides a more targeted subset of Foundation’s features that omits internationalization and localization data. + +Much more information about this work is available on our [GitHub project page](https://github.com/swiftlang/swift-foundation). From 416e89f1d4996051f345273701386a79be0188ab Mon Sep 17 00:00:00 2001 From: Francesco Paolo Severino <96546612+fpseverino@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:33:10 +0200 Subject: [PATCH 3/5] Update _foundation.md Co-authored-by: Jonathan Grynspan --- documentation/core-libraries/_foundation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/core-libraries/_foundation.md b/documentation/core-libraries/_foundation.md index 9e726ff32..8f0812293 100644 --- a/documentation/core-libraries/_foundation.md +++ b/documentation/core-libraries/_foundation.md @@ -9,7 +9,7 @@ The Foundation framework defines a base layer of functionality that is required * Provide a level of OS independence, to enhance portability. -Swift 6 unified the implementation of [Foundation](https://developer.apple.com/documentation/foundation/) across all platforms. The modern, portable Swift implementation provides consistency across platforms, it’s more robust, and it’s open source. +Swift 6 unifies the implementation of [Foundation](https://developer.apple.com/documentation/foundation/) across all platforms. Foundation's modern, portable Swift implementation provides consistency across platforms, is more robust, and is open source. If your app is particularly sensitive to binary size, you can import the `FoundationEssentials` library, which provides a more targeted subset of Foundation’s features that omits internationalization and localization data. From 154526d5e11d50c0577eca7f3f75e045bc81db6a Mon Sep 17 00:00:00 2001 From: Francesco Paolo Severino <96546612+fpseverino@users.noreply.github.com> Date: Wed, 18 Jun 2025 12:33:26 +0200 Subject: [PATCH 4/5] Update _foundation.md Co-authored-by: Jonathan Grynspan --- documentation/core-libraries/_foundation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/core-libraries/_foundation.md b/documentation/core-libraries/_foundation.md index 8f0812293..a2131b40e 100644 --- a/documentation/core-libraries/_foundation.md +++ b/documentation/core-libraries/_foundation.md @@ -13,4 +13,4 @@ Swift 6 unifies the implementation of [Foundation](https://developer.apple.com/d If your app is particularly sensitive to binary size, you can import the `FoundationEssentials` library, which provides a more targeted subset of Foundation’s features that omits internationalization and localization data. -Much more information about this work is available on our [GitHub project page](https://github.com/swiftlang/swift-foundation). +More information about this work is available on our [GitHub project page](https://github.com/swiftlang/swift-foundation). From ca4c17e9e77295c6a21e6812fe13f857ac29f54f Mon Sep 17 00:00:00 2001 From: Francesco Paolo Severino <96546612+fpseverino@users.noreply.github.com> Date: Thu, 19 Jun 2025 14:22:30 +0200 Subject: [PATCH 5/5] Update _foundation.md --- documentation/core-libraries/_foundation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/core-libraries/_foundation.md b/documentation/core-libraries/_foundation.md index a2131b40e..59a8037d5 100644 --- a/documentation/core-libraries/_foundation.md +++ b/documentation/core-libraries/_foundation.md @@ -9,7 +9,7 @@ The Foundation framework defines a base layer of functionality that is required * Provide a level of OS independence, to enhance portability. -Swift 6 unifies the implementation of [Foundation](https://developer.apple.com/documentation/foundation/) across all platforms. Foundation's modern, portable Swift implementation provides consistency across platforms, is more robust, and is open source. +Swift 6 unifies the implementation of key [Foundation](https://developer.apple.com/documentation/foundation/) API across all platforms. Foundation's modern, portable Swift implementation provides consistency across platforms, is more robust, and is open source. If your app is particularly sensitive to binary size, you can import the `FoundationEssentials` library, which provides a more targeted subset of Foundation’s features that omits internationalization and localization data.