1Test for a lot of variations of the 'fileformats' option 2 3Note: This test will fail if "cat" is not available. 4 5STARTTEST 6:so small.vim 7:" first write three test files, one in each format 8:set fileformat=unix 9:set fileformats= 10:/^1/w! XX1 11:/^2/w! XX2 12:/^3/w! XX3 13:/^4/w! XX4 14:/^5/w! XX5 15:/^6/w! XX6 16:/^7/w! XX7 17:/^8/w! XX8 18:/^9/w! XX9 19:/^10/w! XX10 20:/^unix/;/eof/-1w! XXUnix 21:/^dos/;/eof/-1w! XXDos 22:set bin noeol 23:$w! XXMac 24:set nobin eol 25:bwipe XXUnix XXDos XXMac 26:" create mixed format files 27:if has("vms") 28: !copy XXUnix,XXDos XXUxDs. 29: !copy XXUnix,XXMac XXUxMac. 30: !copy XXDos,XXMac XXDosMac. 31: !copy XXUnix,XXDos,XXMac XXUxDsMc. 32:elseif has("win32") 33: !copy /b XXUnix+XXDos XXUxDs 34: !copy /b XXUnix+XXMac XXUxMac 35: !copy /b XXDos+XXMac XXDosMac 36: !copy /b XXUnix+XXDos+XXMac XXUxDsMc 37:else 38: !cat XXUnix XXDos >XXUxDs 39: !cat XXUnix XXMac >XXUxMac 40: !cat XXDos XXMac >XXDosMac 41: !cat XXUnix XXDos XXMac >XXUxDsMc 42:endif 43:" 44:" try reading and writing with 'fileformats' empty 45:set fileformat=unix 46:e! XXUnix 47:w! test.out 48:e! XXDos 49:w! XXtt01 50:e! XXMac 51:w! XXtt02 52:bwipe XXUnix XXDos XXMac 53:set fileformat=dos 54:e! XXUnix 55:w! XXtt11 56:e! XXDos 57:w! XXtt12 58:e! XXMac 59:w! XXtt13 60:bwipe XXUnix XXDos XXMac 61:set fileformat=mac 62:e! XXUnix 63:w! XXtt21 64:e! XXDos 65:w! XXtt22 66:e! XXMac 67:w! XXtt23 68:bwipe XXUnix XXDos XXMac 69:" 70:" try reading and writing with 'fileformats' set to one format 71:set fileformats=unix 72:e! XXUxDsMc 73:w! XXtt31 74:bwipe XXUxDsMc 75:set fileformats=dos 76:e! XXUxDsMc 77:w! XXtt32 78:bwipe XXUxDsMc 79:set fileformats=mac 80:e! XXUxDsMc 81:w! XXtt33 82:bwipe XXUxDsMc 83:" 84:" try reading and writing with 'fileformats' set to two formats 85:set fileformats=unix,dos 86:e! XXUxDsMc 87:w! XXtt41 88:bwipe XXUxDsMc 89:e! XXUxMac 90:w! XXtt42 91:bwipe XXUxMac 92:e! XXDosMac 93:w! XXtt43 94:bwipe XXDosMac 95:set fileformats=unix,mac 96:e! XXUxDs 97:w! XXtt51 98:bwipe XXUxDs 99:e! XXUxDsMc 100:w! XXtt52 101:bwipe XXUxDsMc 102:e! XXDosMac 103:w! XXtt53 104:bwipe XXDosMac 105:set fileformats=dos,mac 106:e! XXUxDs 107:w! XXtt61 108:bwipe XXUxDs 109:e! XXUxMac 110:w! XXtt62 111:bwipe XXUxMac 112:e! XXUxDsMc 113:w! XXtt63 114:bwipe XXUxDsMc 115:" 116:" try reading and writing with 'fileformats' set to three formats 117:set fileformats=unix,dos,mac 118:e! XXUxDsMc 119:w! XXtt71 120:bwipe XXUxDsMc 121:set fileformats=mac,dos,unix 122:e! XXUxDsMc 123:w! XXtt81 124:bwipe XXUxDsMc 125:" try with 'binary' set 126:set fileformats=mac,unix,dos 127:set binary 128:e! XXUxDsMc 129:w! XXtt91 130:bwipe XXUxDsMc 131:set fileformats=mac 132:e! XXUxDsMc 133:w! XXtt92 134:bwipe XXUxDsMc 135:set fileformats=dos 136:e! XXUxDsMc 137:w! XXtt93 138:" 139:" Append "END" to each file so that we can see what the last written char was. 140:set fileformat=unix nobin 141ggdGaEND:w >>XXtt01 142:w >>XXtt02 143:w >>XXtt11 144:w >>XXtt12 145:w >>XXtt13 146:w >>XXtt21 147:w >>XXtt22 148:w >>XXtt23 149:w >>XXtt31 150:w >>XXtt32 151:w >>XXtt33 152:w >>XXtt41 153:w >>XXtt42 154:w >>XXtt43 155:w >>XXtt51 156:w >>XXtt52 157:w >>XXtt53 158:w >>XXtt61 159:w >>XXtt62 160:w >>XXtt63 161:w >>XXtt71 162:w >>XXtt81 163:w >>XXtt91 164:w >>XXtt92 165:w >>XXtt93 166:" 167:" Concatenate the results. 168:" Make fileformat of test.out the native fileformat. 169:" Add a newline at the end. 170:set binary 171:e! test.out 172:$r XXtt01 173:$r XXtt02 174Go1:$r XXtt11 175:$r XXtt12 176:$r XXtt13 177Go2:$r XXtt21 178:$r XXtt22 179:$r XXtt23 180Go3:$r XXtt31 181:$r XXtt32 182:$r XXtt33 183Go4:$r XXtt41 184:$r XXtt42 185:$r XXtt43 186Go5:$r XXtt51 187:$r XXtt52 188:$r XXtt53 189Go6:$r XXtt61 190:$r XXtt62 191:$r XXtt63 192Go7:$r XXtt71 193Go8:$r XXtt81 194Go9:$r XXtt91 195:$r XXtt92 196:$r XXtt93 197Go10:$r XXUnix 198:set nobinary ff& 199:w 200:qa! 201ENDTEST 202 2031 2042 2053 2064 2075 2086 2097 2108 2119 21210 213 214unix 215unix 216eof 217 218dos 219dos 220eof 221 222mac 223mac 224