Open Chinese Convert  0.4.3
A project for conversion between Traditional and Simplified Chinese
/usr/src/RPM/BUILD/opencc-0.4.3/node/test.js
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 });
 All Data Structures Files Functions Variables Defines