Open Chinese Convert
0.4.3
A project for conversion between Traditional and Simplified Chinese
|
00001 var assert = require('assert'); 00002 var fs = require('fs'); 00003 var OpenCC = require('./opencc'); 00004 00005 var configs = [ 00006 'zhs2zht', 00007 'zht2zhs', 00008 'mix2zht', 00009 'mix2zhs', 00010 'zhs2zhtw_p', 00011 'zhs2zhtw_vp', 00012 'zhtw2zhcn_t', 00013 'zhtw2zhcn_s', 00014 ]; 00015 00016 var testSync = function (config, done) { 00017 var inputName = 'test/testcases/' + config + '.in'; 00018 var outputName = 'test/testcases/' + config + '.ans'; 00019 var configName = config + '.ini'; 00020 var opencc = new OpenCC(configName); 00021 fs.readFile(inputName, 'utf-8', function (err, text) { 00022 if (err) return done(err); 00023 var converted = opencc.convertSync(text); 00024 fs.readFile(outputName, 'utf-8', function (err, answer) { 00025 if (err) return done(err); 00026 assert.equal(converted, answer); 00027 done(); 00028 }); 00029 }); 00030 }; 00031 00032 var testAsync = function (config, done) { 00033 var inputName = 'test/testcases/' + config + '.in'; 00034 var outputName = 'test/testcases/' + config + '.ans'; 00035 var configName = config + '.ini'; 00036 var opencc = new OpenCC(configName); 00037 fs.readFile(inputName, 'utf-8', function (err, text) { 00038 if (err) return done(err); 00039 opencc.convert(text, function (err, converted) { 00040 if (err) return done(err); 00041 fs.readFile(outputName, 'utf-8', function (err, answer) { 00042 if (err) return done(err); 00043 assert.equal(converted, answer); 00044 done(); 00045 }); 00046 }); 00047 }); 00048 }; 00049 00050 describe('Sync API', function () { 00051 configs.forEach(function (config) { 00052 it(config, function (done) { 00053 testSync(config, done); 00054 }); 00055 }); 00056 }); 00057 00058 describe('Async API', function () { 00059 configs.forEach(function (config) { 00060 it(config, function (done) { 00061 testAsync(config, done); 00062 }); 00063 }); 00064 });