#!/usr/bin/env bats load test_helper # `hosts disable` ############################################################# @test "\`disable\` with no arguments exits with status 1." { run "$_HOSTS" disable printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ $status -eq 1 ]] } @test "\`disable\` with no argument does not change the hosts file." { _original="$(cat "${HOSTS_PATH}")" run "$_HOSTS" disable printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ "$(cat "${HOSTS_PATH}")" == "${_original}" ]] } @test "\`disable\` with no arguments prints help information." { run "$_HOSTS" disable printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ "${lines[0]}" == "Usage:" ]] [[ "${lines[1]}" == " hosts disable ( | | )" ]] } # `hosts disable ` ######################################################## @test "\`disable \` exits with status 0." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.net } run "$_HOSTS" disable 0.0.0.0 printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ $status -eq 0 ]] } @test "\`disable \` updates the hosts file." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.net } _original="$(cat "${HOSTS_PATH}")" run "$_HOSTS" disable 0.0.0.0 printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" _compare "${_original}" "$(cat "${HOSTS_PATH}")" [[ "$(sed -n '11p' "${HOSTS_PATH}")" == "#disabled: 0.0.0.0 example.com" ]] [[ "$(sed -n '12p' "${HOSTS_PATH}")" == "127.0.0.1 example.net" ]] } @test "\`disable \` disables all matches." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 0.0.0.0 example.net } _original="$(cat "${HOSTS_PATH}")" run "$_HOSTS" disable 0.0.0.0 printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" _compare "${_original}" "$(cat "${HOSTS_PATH}")" [[ "$(sed -n '11p' "${HOSTS_PATH}")" == "#disabled: 0.0.0.0 example.com" ]] [[ "$(sed -n '12p' "${HOSTS_PATH}")" == "#disabled: 0.0.0.0 example.net" ]] } @test "\`disable \` prints feedback." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.net } run "$_HOSTS" disable 0.0.0.0 printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ "${lines[0]}" == "Disabling:" ]] [[ "${lines[1]}" == "0.0.0.0 example.com" ]] } # `hosts disable ` ################################################## @test "\`disable \` exits with status 0." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.net } run "$_HOSTS" disable example.com printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ $status -eq 0 ]] } @test "\`disable \` updates the hosts file." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.net } _original="$(cat "${HOSTS_PATH}")" run "$_HOSTS" disable example.com printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" _compare "${_original}" "$(cat "${HOSTS_PATH}")" [[ "$(sed -n '11p' "${HOSTS_PATH}")" == "#disabled: 0.0.0.0 example.com" ]] [[ "$(sed -n '12p' "${HOSTS_PATH}")" == "127.0.0.1 example.net" ]] } @test "\`disable \` disables all matches." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.com } _original="$(cat "${HOSTS_PATH}")" run "$_HOSTS" disable example.com printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" _compare "${_original}" "$(cat "${HOSTS_PATH}")" [[ "$(sed -n '11p' "${HOSTS_PATH}")" == "#disabled: 0.0.0.0 example.com" ]] [[ "$(sed -n '12p' "${HOSTS_PATH}")" == "#disabled: 127.0.0.1 example.com" ]] } @test "\`disable \` prints feedback." { { run "$_HOSTS" add 0.0.0.0 example.com run "$_HOSTS" add 127.0.0.1 example.net } run "$_HOSTS" disable example.com printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ "${lines[0]}" == "Disabling:" ]] [[ "${lines[1]}" == "0.0.0.0 example.com" ]] } # help ######################################################################## @test "\`help disable\` exits with status 0." { run "$_HOSTS" help disable [[ $status -eq 0 ]] } @test "\`help disable\` prints help information." { run "$_HOSTS" help disable printf "\$status: %s\n" "$status" printf "\$output: '%s'\n" "$output" [[ "${lines[0]}" == "Usage:" ]] [[ "${lines[1]}" == " hosts disable ( | | )" ]] }