File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ class VscodeExtension < Extension
99 PACKAGE_TYPE = :vscode
1010 PACKAGE_TYPE_NAME = "VSCode Extension"
1111 BANNER_NAME = "VSCode (and forks/variants) extensions"
12+ EXTENSION_ID_REGEX = /\A [a-z0-9][a-z0-9-]*\. [a-z0-9][a-z0-9._-]*\z /i
1213
1314 class << self
1415 sig { override . void }
@@ -46,7 +47,7 @@ def extensions
4647 Bundle . exchange_uid_if_needed! do
4748 ENV [ "WSL_DISTRO_NAME" ] = ENV . fetch ( "HOMEBREW_WSL_DISTRO_NAME" , nil )
4849 `"#{ vscode } " --list-extensions 2>/dev/null`
49- end . split ( "\n " ) . map ( &:downcase )
50+ end . split ( "\n " ) . map ( &:strip ) . grep ( EXTENSION_ID_REGEX ) . map ( & : downcase)
5051 end
5152 return [ ] if @extensions . nil?
5253
Original file line number Diff line number Diff line change 4848 "tamasfe.even-better-toml" ,
4949 ] )
5050 end
51+
52+ it "ignores VSCode server setup output" do
53+ output = <<~EOF
54+ updating vs code server to version f6cfa2ea2403534de03f069bdf160d06451ed282
55+ downloading: \b \b \b \b 0%\b \b \b \b 100%
56+ unpacked 3485 files and folders to /home/mike/.vscode-server/bin/f6cfa2ea2403534de03f069bdf160d06451ed282.
57+ GitHub.codespaces
58+ EOF
59+
60+ allow ( klass ) . to receive ( :` )
61+ . with ( '"code" --list-extensions 2>/dev/null' )
62+ . and_return ( output )
63+
64+ expect ( dumper . extensions ) . to eql ( [ "github.codespaces" ] )
65+ end
5166 end
5267 end
5368
You can’t perform that action at this time.
0 commit comments