test-tabexpand.ss
#! /usr/bin/env mzscheme
;; See file tabexpand.ss for legal info.
;; $Id: test-tabexpand.ss,v 1.2 2009/03/04 04:41:16 neilpair Exp $

#lang scheme/base

(require (planet neil/testeez:1:2)
         "tabexpand.ss")

(testeez
 "tabexpand"

 (test/equal "" (tabexpand "\t")           "        ")
 (test/equal "" (tabexpand "a\tb")         "a       b")
 (test/equal "" (tabexpand "a\tbc")        "a       bc")

 (test/equal "" (tabexpand "a\t")          "a       ")
 (test/equal "" (tabexpand "ab\t")         "ab      ")
 (test/equal "" (tabexpand "abc\t")        "abc     ")
 (test/equal "" (tabexpand "abcd\t")       "abcd    ")
 (test/equal "" (tabexpand "abcde\t")      "abcde   ")
 (test/equal "" (tabexpand "abcdef\t")     "abcdef  ")
 (test/equal "" (tabexpand "abcdefg\t")    "abcdefg ")
 (test/equal "" (tabexpand "abcdefgh\t")   "abcdefgh        ")
 (test/equal "" (tabexpand "abcdefghi\t")  "abcdefghi       ")

 (test/equal "" (tabexpand "\t\tabcdefghi") "                abcdefghi")
 (test/equal "" (tabexpand "\ta\tbcdefghi") "        a       bcdefghi")
 (test/equal "" (tabexpand "\tab\tcdefghi") "        ab      cdefghi")
 (test/equal "" (tabexpand "\tabc\tdefghi") "        abc     defghi")
 (test/equal "" (tabexpand "\tabcd\tefghi") "        abcd    efghi")
 (test/equal "" (tabexpand "\tabcde\tfghi") "        abcde   fghi")
 (test/equal "" (tabexpand "\tabcdef\tghi") "        abcdef  ghi")
 (test/equal "" (tabexpand "\tabcdefg\thi") "        abcdefg hi")
 (test/equal "" (tabexpand "\tabcdefgh\ti") "        abcdefgh        i")

 (test/equal "" (tabexpand "abcdefghijklmnop") "abcdefghijklmnop")

 (test/equal "" (tabexpand "ab\tcd\tef\tg")   "ab      cd      ef      g")
 (test/equal "" (tabexpand "ab\tcd\t\tef")    "ab      cd              ef"))