Skip to content

Commit 711b0fe

Browse files
castholmandrewrk
authored andcommitted
init: Substitute invalid package names with foo
Closes #23066
1 parent 13757aa commit 711b0fe

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/main.zig

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4787,7 +4787,7 @@ fn sanitizeExampleName(arena: Allocator, bytes: []const u8) error{OutOfMemory}![
47874787
'-', '.', ' ' => try result.append(arena, '_'),
47884788
else => continue,
47894789
};
4790-
if (result.items.len == 0) return "foo";
4790+
if (!std.zig.isValidId(result.items)) return "foo";
47914791
if (result.items.len > Package.Manifest.max_name_len)
47924792
result.shrinkRetainingCapacity(Package.Manifest.max_name_len);
47934793

@@ -4805,6 +4805,10 @@ test sanitizeExampleName {
48054805
try std.testing.expectEqualStrings("a", try sanitizeExampleName(arena, "!a"));
48064806
try std.testing.expectEqualStrings("a_b", try sanitizeExampleName(arena, "a.b!"));
48074807
try std.testing.expectEqualStrings("_01234", try sanitizeExampleName(arena, "01234"));
4808+
try std.testing.expectEqualStrings("foo", try sanitizeExampleName(arena, "error"));
4809+
try std.testing.expectEqualStrings("foo", try sanitizeExampleName(arena, "test"));
4810+
try std.testing.expectEqualStrings("tests", try sanitizeExampleName(arena, "tests"));
4811+
try std.testing.expectEqualStrings("test_project", try sanitizeExampleName(arena, "test project"));
48084812
}
48094813

48104814
fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void {

0 commit comments

Comments
 (0)