test/general.rb in runeblog-0.1.12 vs test/general.rb in runeblog-0.1.13

- old
+ new

@@ -25,53 +25,59 @@ end # Note: "Bang" methods depend on the data_test subtree def test_001_cmd_help - flag, out = cmd_help(nil) +# puts __method__ + flag, out = cmd_help(nil, true) assert out.is_a?(String), "Expected a string returned" lines = out.split("\n").length assert lines > 25, "Expecting lengthy help message" end def test_002_cmd_version - flag, out = cmd_version(nil) +# puts __method__ + flag, out = cmd_version(nil, true) assert out.is_a?(String), "Expected a string returned" lines = out assert lines =~ /\d+\.\d+\.\d+/m, "Couldn't find version number; found #{out.inspect}" end def test_003_list_views! - flag, out = cmd_list_views(nil) +# puts __method__ + flag, out = cmd_list_views(nil, true) assert out.is_a?(String), "Expected a string returned" lines = out.split("\n").length -p out assert lines >= 2, "Expecting at least 2 lines" end def test_004_change_view! +# puts __method__ flag, out = cmd_change_view(nil, true) # no param, but testing assert out.is_a?(String), "Expected a string; got: #{out.inspect}" assert out =~ /alpha_view/m, "Expecting 'alpha_view' as default; got: #{out.inspect}" end def test_005_lsd! - flag, out = cmd_list_drafts(nil) +# puts __method__ + flag, out = cmd_list_drafts(nil, true) assert out.is_a?(String), "Expected a string returned" lines = out.split("\n").length assert lines == 10, "Expecting 10 lines; got #{show_lines(out)}" end - def test_006_lsp! - flag, out = cmd_list_posts(nil) + def xtest_006_lsp! + puts __method__ + flag, out = cmd_list_posts(nil, true) assert out.is_a?(String), "Expected a string returned; got: #{out.inspect}" lines = out.split("\n").length assert lines == 6, "Expecting 6 lines; got #{show_lines(out)}" end def test_007_parser +# puts __method__ parse_tests = { # Loading/trailing blanks as well "kill 81 82 83" => [:cmd_kill, "81 82 83"], " kill 81 82 83" => [:cmd_kill, "81 82 83"], "kill 81 82 83 " => [:cmd_kill, "81 82 83"], @@ -114,38 +120,43 @@ assert result == expected, "Expected #{expected.inspect} but got #{result.inspect}" end end def test_008_current_view! +# puts __method__ assert @blog.view.to_s == "alpha_view", "Current view wrong (#{@blog.view}, not alpha_view)" end def test_009_change_view! +# puts __method__ assert @blog.change_view("beta_view") assert @blog.view.to_s == "beta_view", "Current view wrong (#{@blog.view}, not beta_view)" assert @blog.change_view("alpha_view") assert @blog.view.to_s == "alpha_view", "Current view wrong (#{@blog.view}, not alpha_view)" end def test_010_accessors! +# puts __method__ sorted_views = @blog.views.map(&:to_s).sort assert sorted_views == ["alpha_view", "beta_view", "gamma_view", "test_view"], "Got: #{sorted_views.inspect}" end def test_011_create_delete_view! +# puts __method__ @blog.create_view("anotherview") sorted_views = @blog.views.map(&:to_s).sort assert sorted_views == ["alpha_view", "anotherview", "beta_view", "gamma_view", "test_view"], "After create: #{sorted_views.inspect}" @blog.delete_view("anotherview", true) sorted_views = @blog.views.map(&:to_s).sort assert sorted_views == ["alpha_view", "beta_view", "gamma_view", "test_view"], "After delete: #{sorted_views.inspect}" end - def test_012_create_remove_post! + def xtest_012_create_remove_post! +# puts __method__ @blog.change_view("beta_view") assert @blog.view.to_s == "beta_view", "Expected beta_view" nposts = @blog.posts.size ndrafts = @blog.drafts.size meta = OpenStruct.new @@ -161,48 +172,55 @@ assert @blog.drafts.size == ndrafts, "Failed to delete draft" @blog.change_view("alpha_view") end def test_013_slug_tests + puts __method__ hash = { "abcxyz" => "abcxyz", # 0-based "abc'xyz" => "abcxyz", 'abc"xyz' => "abcxyz", '7%sol' => "7sol", "only a test" => "only-a-test", "abc xyz" => "abc--xyz", # change this behavior? "ABCxyZ" => "abcxyz", } hash.each_pair.with_index do |keys, i| real, fixed = *keys - result = @blog.make_slug(real)[1][5..-1] # weird? returns [99, "0099-whatever"] + meta = OpenStruct.new + meta.title = real + meta.num = 99 + result = @blog.make_slug(meta)[5..-1] # Skip num (test_013...) assert result == fixed, "Case #{i}: expected: #{fixed.inspect}, got #{result.inspect}" end end def test_014_remove_nonexistent_post! +# puts __method__ @blog.change_view("alpha_view") - flag, out = cmd_remove_post(99) + flag, out = cmd_remove_post(99, true) assert out =~ /Post 99 not found/, "Expected error about nonexistent post, got: #{out}" end def test_015_kill_multiple_posts! +# puts __method__ @blog.change_view("alpha_view") - flag, out = cmd_list_posts(nil) + flag, out = cmd_list_posts(nil, true) before = out.split("\n").length - flag, out = cmd_kill("1 2 7") - flag, out = cmd_list_posts(nil) + flag, out = cmd_kill("1 2 7", true) + flag, out = cmd_list_posts(nil, true) after = out.split("\n").length - expecting = before - 2 + expecting = before - 3 assert after == expecting, "list_posts saw #{before} posts, now #{after} (not #{expecting})" @blog.undelete_post(1) @blog.undelete_post(2) @blog.undelete_post(7) end if File.exist?("testing.publish") def test_016_can_publish +# puts __method__ x = OpenStruct.new x.user, x.server, x.docroot, x.docroot, x.path, x.proto = "root", "rubyhacker.com", "/var/www", "whatever", "http" dep = RuneBlog::Publishing.new(x) result = dep.remote_login? @@ -210,19 +228,21 @@ result = dep.remote_permissions? assert result == true, "Valid mkdir doesn't work" end def test_017_cannot_publish_wrong_user +# puts __method__ x = OpenStruct.new x.user, x.server, x.docroot, x.docroot, x.path, x.proto = "bad_user", "rubyhacker.com", "/var/www", "whatever", "http" dep = RuneBlog::Publishing.new(x) result = dep.remote_login? assert result.nil?, "Expected to detect login error (bad user)" end def test_018_cannot_publish_bad_server +# puts __method__ x = OpenStruct.new x.user, x.server, x.docroot, x.docroot, x.path, x.proto = "root", "nonexistent123.com", "/var/www", "whatever", "http" dep = RuneBlog::Publishing.new(x) result = dep.remote_login? @@ -230,38 +250,47 @@ end end # conditional tests def test_019_exception_existing_blog +# puts __method__ assert_raises(BlogAlreadyExists) { RuneBlog.create_new_blog } end def test_020_exception_missing_blog_accessor +# puts __method__ save = RuneBlog.blog RuneBlog.blog = nil assert_raises(NoBlogAccessor) { RuneBlog::Post.load(1) } RuneBlog.blog = save end def test_021_exception_cant_assign_view +# puts __method__ assert_raises(CantAssignView) { @blog.view = 99 } end def test_022_exception_no_such_view +# puts __method__ assert_raises(NoSuchView) { @blog.view = 'not_a_view_name' } end def test_023_exception_view_already_exists +# puts __method__ assert_raises(ViewAlreadyExists) { @blog.create_view('alpha_view') } end def xtest_024_exception_livetext_error # FIXME Doesn't work! Change Livetext +# puts __method__ testfile = "testfile.lt3" path = @blog.root + "/src/" + testfile cmd = "echo .no_such_command > #{path}" system(cmd) - system("ls -l #{path}") +# system("ls -l #{path}") + save = STDERR + STDERR.reopen("/dev/null") assert_raises(LivetextError) { @blog.process_post(testfile) } + STDERR.reopen(save) File.rm(path) end # later tests... # new view asks for publishing info and writes it