homebrew-core/Formula/twty.rb

40 lines
1.7 KiB
Ruby

class Twty < Formula
desc "Command-line twitter client written in golang"
homepage "https://mattn.kaoriya.net/"
url "https://github.com/mattn/twty/archive/refs/tags/v0.0.11.tar.gz"
sha256 "d1ee544ff31a9a9488ff759da587baf927ab7c31b191b4b5bc010f36ecfb8188"
license "MIT"
bottle do
sha256 cellar: :any_skip_relocation, arm64_monterey: "06c6d110c34b62edbc4300a9ab662397ed5a7cc8a8199786e5a746b4535a5bf1"
sha256 cellar: :any_skip_relocation, arm64_big_sur: "847a9c071620d78e35034cd4bd2b373813b9ba31501e13393d32177e7f26df59"
sha256 cellar: :any_skip_relocation, monterey: "20a8a7640416f893c3a4f09a51a62ce48eebceb382c9a13a9ea60b234c359114"
sha256 cellar: :any_skip_relocation, big_sur: "22e65cfb1d7eb35462798abf3795feef19b68d5aa61e90c580153b6d2d3915b5"
sha256 cellar: :any_skip_relocation, catalina: "4619c0ae9427727d3a456142fe9f574ad0f73bddbd24e8a6c194da7f610cf81d"
sha256 cellar: :any_skip_relocation, x86_64_linux: "35503d676346e1ec4f0467cd5851acb3787ce28a7b60849a08aa57ba7ae7bb02"
end
depends_on "go" => :build
def install
system "go", "build", *std_go_args(ldflags: "-s -w")
end
test do
# Prevent twty executing open or xdg-open
testpath_bin = testpath/"bin"
ENV.prepend_path "PATH", testpath_bin
testpath_bin.install_symlink which("true") => "open"
testpath_bin.install_symlink which("true") => "xdg-open"
# twty requires PIN code from stdin and putting nothing to stdin to make authentication failed
require "pty"
PTY.spawn(bin/"twty") do |r, w, _pid|
assert_match "Open this URL and enter PIN.", r.gets
assert_match "https://api.twitter.com/oauth/authenticate?oauth_token=", r.gets
w.puts
sleep 1 # Wait for twty exitting
end
end
end