myanmar-names
Version:
Sort and search for Myanmar / Burmese names
58 lines (47 loc) • 2.17 kB
JavaScript
var assert = require("assert");
var myanmarNameSort = require("../myanmar.names.js").sort;
var sortMethod = require("../myanmar.names.js").sortMethod;
var candidates = require("./names.json");
describe("sort", function() {
it("is using a good method to sort", function() {
var ret = sortMethod();
assert.equal(ret == "Intl.Collator" || ret == "myanmar-sort module", true);
console.log("This server will sort using " + ret);
});
it("handles a name sort", function() {
var ret = myanmarNameSort(['ဦးလှမြင့်', 'ဦးမော']);
assert.equal(ret[0], 'ဦးမော');
assert.equal(ret[1], 'ဦးလှမြင့်');
});
it("ignores prefixes in a name sort", function() {
var ret = myanmarNameSort(['ဒေါက်တာလှမြင့်', 'ဦးမော']);
assert.equal(ret[0], 'ဦးမော');
assert.equal(ret[1], 'ဒေါက်တာလှမြင့်');
});
it("sorts all names", function() {
myanmarNameSort(candidates);
});
});
var myanmarNameMatch = require("../myanmar.names.js").match;
describe("match", function() {
it("handles an exact match", function() {
var ret = myanmarNameMatch('ဦးလှမြင့်', ["ဦးလှမြင့်","ဦးမော"]);
assert.equal(ret.length, 1);
assert.equal(ret[0], 'ဦးလှမြင့်');
});
it("handles a different-prefix match", function() {
var ret = myanmarNameMatch('ဦးလှမြင့်', ["ဒေါက်တာလှမြင့်","ဦးမော"]);
assert.equal(ret.length, 1);
assert.equal(ret[0], 'ဒေါက်တာလှမြင့်');
});
it("handles one rough match", function() {
var ret = myanmarNameMatch('မော်နီတး', ["မော်နီကး","ဦးမော"]);
assert.equal(ret.length, 1);
assert.equal(ret[0], 'မော်နီကး');
});
it("handles two rough matches", function() {
var ret = myanmarNameMatch('မောနီတး', ["မော်နီကး","ဦးမော"]);
assert.equal(ret.length, 1);
assert.equal(ret[0], 'မော်နီကး');
});
});