craft-native 0.0.414 → 0.0.416
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js
CHANGED
|
@@ -3047,7 +3047,7 @@ function pinCraftNativeDependency(packagePath, craftVersion) {
|
|
|
3047
3047
|
`);
|
|
3048
3048
|
}
|
|
3049
3049
|
// package.json
|
|
3050
|
-
var version = "0.0.
|
|
3050
|
+
var version = "0.0.416";
|
|
3051
3051
|
|
|
3052
3052
|
// bin/cli.ts
|
|
3053
3053
|
var spawnedFrom = process6.env[CRAFT_CLI_SPAWN_MARKER];
|
package/dist/index.cjs
CHANGED
package/dist/index.js
CHANGED
|
@@ -639,12 +639,26 @@ final class DriverTests: XCTestCase {
|
|
|
639
639
|
let springboard = XCUIApplication(bundleIdentifier: "com.apple.springboard")
|
|
640
640
|
let candidates = [app.buttons[label], springboard.buttons[label]]
|
|
641
641
|
let end = Date().addingTimeInterval(6)
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
642
|
+
// A tap is not a dismissal. iOS 26 draws "Save Password?" as a
|
|
643
|
+
// sheet that is in the tree, and hittable, while it still slides
|
|
644
|
+
// in, and a tap then is dropped: the driver said "tapped" and
|
|
645
|
+
// the sheet stayed over the app, so every later step looked at a
|
|
646
|
+
// screen it could not reach. Done means the button has gone; until
|
|
647
|
+
// then it is tapped again.
|
|
648
|
+
var tapped = false
|
|
649
|
+
var gone = false
|
|
650
|
+
while !gone && Date() < end {
|
|
651
|
+
guard let button = candidates.first(where: { $0.exists && $0.isHittable }) else {
|
|
652
|
+
if tapped { gone = true } else { Thread.sleep(forTimeInterval: 0.5) }
|
|
653
|
+
continue
|
|
654
|
+
}
|
|
655
|
+
button.tap()
|
|
656
|
+
tapped = true
|
|
657
|
+
let settle = Date().addingTimeInterval(1.5)
|
|
658
|
+
while button.exists && Date() < settle { Thread.sleep(forTimeInterval: 0.25) }
|
|
659
|
+
gone = !button.exists
|
|
646
660
|
}
|
|
647
|
-
note("dismiss \(label): \(
|
|
661
|
+
note("dismiss \(label): \(gone ? "tapped" : tapped ? "STILL SHOWN" : "none shown")")
|
|
648
662
|
case "log": note(arg)
|
|
649
663
|
default: XCTFail("Unknown command \(command)"); note("FAIL unknown command \(command)")
|
|
650
664
|
}
|
|
@@ -713,6 +713,10 @@ final class CraftMacBox: NSView, NSTextFieldDelegate, NSTextViewDelegate, NSDrag
|
|
|
713
713
|
if let text = control as? NSTextField, kind == "Text" {
|
|
714
714
|
let rect = (text.stringValue as NSString).boundingRect(with: CGSize(width: max(1, limit - 6 - textPadding.left - textPadding.right), height: 1_000_000), options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: [.font: text.font ?? NSFont.systemFont(ofSize: 13)])
|
|
715
715
|
size = CGSize(width: min(limit, ceil(rect.width) + 9 + textPadding.left + textPadding.right), height: max(18, ceil(rect.height) + 2))
|
|
716
|
+
// The field draws only whole lines inside its cell's insets, so a height short of what the cell
|
|
717
|
+
// asks for at the width it will draw at drops the last line. Ask the cell, not just the string.
|
|
718
|
+
let fieldWidth = max(1, size.width - textPadding.left - textPadding.right)
|
|
719
|
+
if let drawn = text.cell?.cellSize(forBounds: CGRect(x: 0, y: 0, width: fieldWidth, height: 1_000_000)).height { size.height = max(size.height, ceil(drawn)) }
|
|
716
720
|
if text.maximumNumberOfLines > 0 { size.height = min(size.height, ceil((text.font?.ascender ?? 13) - (text.font?.descender ?? -3) + (text.font?.leading ?? 0)) * CGFloat(text.maximumNumberOfLines) + 2) }
|
|
717
721
|
if text.maximumNumberOfLines == 1 { size.height = max(18, (text.font?.pointSize ?? 13) + 5) }
|
|
718
722
|
size.height += textPadding.top + textPadding.bottom
|