class Yamllint < Formula include Language::Python::Virtualenv desc "Linter for YAML files" homepage "https://github.com/adrienverge/yamllint" url "https://github.com/adrienverge/yamllint/archive/v1.20.0.tar.gz" sha256 "6391bfd0f3d360a418fef54c6ccf77615c25b2b62c54fb770c07823471016b18" bottle do cellar :any sha256 "d03777300040daa938d7ade2ba7fc9b6af93ac2cf62f649d58ce69d81d519cdd" => :catalina sha256 "8b531f80bcba7853d6f2e7cd4d420719cbaa0e7f3fcb0b56ccbb889c7da28856" => :mojave sha256 "5432b3844222b9f6f65af13496c19219aed05fdd60958c063ed3e99824d696ae" => :high_sierra end depends_on "libyaml" depends_on "python" resource "PyYAML" do url "https://files.pythonhosted.org/packages/8d/c9/e5be955a117a1ac548cdd31e37e8fd7b02ce987f9655f5c7563c656d5dcb/PyYAML-5.2.tar.gz" sha256 "c0ee8eca2c582d29c3c2ec6e2c4f703d1b7f1fb10bc72317355a746057e7346c" end resource "pathspec" do url "https://files.pythonhosted.org/packages/ce/f2/d35c292da8fbff725625a17ae40f48f933070acd5ccddb03d8c09d81758d/pathspec-0.7.0.tar.gz" sha256 "562aa70af2e0d434367d9790ad37aed893de47f1693e4201fd1d3dca15d19b96" end def install virtualenv_install_with_resources end test do (testpath/"bad.yaml").write <<~EOS --- foo: bar: gee EOS output = shell_output("#{bin}/yamllint -f parsable -s bad.yaml", 1) assert_match "syntax error: mapping values are not allowed here", output (testpath/"good.yaml").write <<~EOS --- foo: bar EOS assert_equal "", shell_output("#{bin}/yamllint -f parsable -s good.yaml") end end