文件操作 - optimist_test.rb
返回文件管理
返回主菜单
删除本文件
文件: /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/optimist-3.1.0/test/optimist_test.rb
编辑文件内容
require 'test_helper' class OptimistTest < MiniTest::Test def setup Optimist.send(:instance_variable_set, "@last_parser", nil) end def parser(&block) Optimist::Parser.new(&block) end def test_options opts = Optimist.options %w(-f) do opt :f end assert_equal true, opts[:f] end def test_options_die_default assert_stderr(/Error: unknown argument.*Try --help/m) do assert_system_exit(-1) do Optimist.options %w(-f) do opt :x end end end end def test_options_die_educate_on_error assert_stderr(/Error: unknown argument.*Options/m) do assert_system_exit(-1) do Optimist.options %w(-f) do opt :x educate_on_error end end end end def test_die_without_options_ever_run assert_raises(ArgumentError) { Optimist.die 'hello' } end def test_die assert_stderr(/Error: issue with parsing/) do assert_system_exit(-1) do Optimist.options [] Optimist.die "issue with parsing" end end end def test_die_custom_error_code assert_stderr(/Error: issue with parsing/) do assert_system_exit(5) do Optimist.options [] Optimist.die "issue with parsing", nil, 5 end end end def test_die_custom_error_code_two_args assert_stderr(/Error: issue with parsing/) do assert_system_exit(5) do Optimist.options [] Optimist.die "issue with parsing", 5 end end end def test_educate_without_options_ever_run assert_raises(ArgumentError) { Optimist.educate } end def test_educate assert_stdout(/Show this message/) do assert_system_exit(0) do Optimist.options [] Optimist.educate end end end def test_with_standard_exception_options p = parser do opt :f end opts = Optimist::with_standard_exception_handling p do p.parse %w(-f) end assert_equal true, opts[:f] end def test_with_standard_exception_version_exception p = parser do version "5.5" end assert_stdout(/5\.5/) do assert_system_exit(0) do Optimist::with_standard_exception_handling p do raise Optimist::VersionNeeded end end end end def test_with_standard_exception_version_flag p = parser do version "5.5" end assert_stdout(/5\.5/) do assert_system_exit(0) do Optimist::with_standard_exception_handling p do p.parse %w(-v) end end end end def test_with_standard_exception_die_exception assert_stderr(/Error: cl error/) do assert_system_exit(-1) do p = parser Optimist.with_standard_exception_handling(p) do raise ::Optimist::CommandlineError.new('cl error') end end end end def test_with_standard_exception_die_exception_custom_error assert_stderr(/Error: cl error/) do assert_system_exit(5) do p = parser Optimist.with_standard_exception_handling(p) do raise ::Optimist::CommandlineError.new('cl error', 5) end end end end def test_with_standard_exception_die assert_stderr(/Error: cl error/) do assert_system_exit(-1) do p = parser Optimist.with_standard_exception_handling(p) do p.die 'cl error' end end end end def test_with_standard_exception_die_custom_error assert_stderr(/Error: cl error/) do assert_system_exit(3) do p = parser Optimist.with_standard_exception_handling(p) do p.die 'cl error', nil, 3 end end end end def test_with_standard_exception_help_needed assert_stdout(/Options/) do assert_system_exit(0) do p = parser Optimist.with_standard_exception_handling(p) do raise Optimist::HelpNeeded end end end end def test_with_standard_exception_help_needed_flag assert_stdout(/Options/) do assert_system_exit(0) do p = parser Optimist.with_standard_exception_handling(p) do p.parse(%w(-h)) end end end end end
修改文件时间
将文件时间修改为当前时间的前一年
删除文件