From 0b1efd5ab48c531005e9993de3535d5d9059d7a9 Mon Sep 17 00:00:00 2001 From: Ward Wouts Date: Sun, 20 Apr 2003 16:33:02 +0000 Subject: [PATCH] regression tests for uuencode lib --- trunk/ripnews/encode/tests/testdata | 1 + trunk/ripnews/encode/tests/testdata.uu | 4 ++ trunk/ripnews/encode/tests/uu_test.rb | 93 ++++++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 trunk/ripnews/encode/tests/testdata create mode 100644 trunk/ripnews/encode/tests/testdata.uu create mode 100755 trunk/ripnews/encode/tests/uu_test.rb diff --git a/trunk/ripnews/encode/tests/testdata b/trunk/ripnews/encode/tests/testdata new file mode 100644 index 0000000..a32a434 --- /dev/null +++ b/trunk/ripnews/encode/tests/testdata @@ -0,0 +1 @@ +1234567890 diff --git a/trunk/ripnews/encode/tests/testdata.uu b/trunk/ripnews/encode/tests/testdata.uu new file mode 100644 index 0000000..39fbc7e --- /dev/null +++ b/trunk/ripnews/encode/tests/testdata.uu @@ -0,0 +1,4 @@ +begin 644 testdata ++,3(S-#4V-S@Y,`K/ +` +end diff --git a/trunk/ripnews/encode/tests/uu_test.rb b/trunk/ripnews/encode/tests/uu_test.rb new file mode 100755 index 0000000..1c04e51 --- /dev/null +++ b/trunk/ripnews/encode/tests/uu_test.rb @@ -0,0 +1,93 @@ +#!/usr/local/bin/ruby + +# $Dwarf$ +# $Source$ + +require '../uuencode.rb' +require 'ftools' + +def test1 + print "Test 1: decoding a file\n" + file = File.open("testdata.uu", mode = "r") + tmpfile = Tempfile.new("uutmp") + tmpfile.sync=true + mode, filename, body = UUEncode.uudecode(file, tmpfile) + if mode != "644" + print "Failed, mode should be 644, but is #{mode}\n" + elsif filename != "testdata" + print "Failed, filename should be \"testdata\", but is \"#{filename}\"\n" + elsif ! File.compare("testdata", tmpfile.path) + print "Failed, result doesn't match reference data\n" + else + print "Succesful\n" + end + file.close + tmpfile.close +end + +def test2 + print "Test 2: decoding an array\n" + file = File.open("testdata.uu", mode = "r") + lines = file.readlines + file.close + file = File.open("testdata", mode = "r") + reference = file.readlines + file.close + + mode, filename, body = UUEncode.uudecode(lines) + + print "#{reference.length}\n" + print "#{body.length}\n" + if mode != "644" + print "Failed, mode should be 644, but is #{mode}\n" + elsif filename != "testdata" + print "Failed, filename should be \"testdata\", but is \"#{filename}\"\n" + elsif reference != body + print "Failed, result doesn't match reference data\n" + else + print "Succesful\n" + end + print "#{reference}" + print "#{body}" + file = File.new("blup", "w") + file.print body + file.close + + i = 0 + while i < body.length + print "I: #{i} data: #{body[i]}" + i+=1 + end +end + +def test3 + print "Test 3: is_uuencoded\n" + file = File.open("testdata.uu", mode = "r") + lines = file.readlines + file.close + if UUEncode.is_uuencoded(lines) + print "Succesful\n" + else + print "Failed\n" + end +end + +def test4 + print "Test 4: get_filename\n" + file = File.open("testdata.uu", mode = "r") + lines = file.readlines + file.close + + filename = UUEncode.get_filename(lines) + if filename == "testdata" + print "Succesful\n" + else + print "Failed\n" + end +end + +test1 +test2 +test3 +test4 +