c9-core/plugins/c9.ide.language.generic/snippet_completer_test.js

51 wiersze
1.6 KiB
JavaScript

/*global describe it before*/
"use client";
if (typeof define === "undefined") {
require("amd-loader");
require("../../test/setup_paths");
}
define(function(require, exports, module) {
var Document = require("ace/document").Document;
var assert = require("lib/chai/chai").assert;
var completer = require("./snippet_completer");
var completerUtil = require("plugins/c9.ide.language/complete_util");
completerUtil.setStaticPrefix("/static");
function matchSorter(matches) {
matches.sort(function(a, b) {
if (a.name < b.name)
return -1;
else if (a.name > b.name)
return 1;
else
return 0;
});
}
describe("Snippet Completer", function() {
it("test javascript found completions", function(done) {
var doc = new Document("while(true) {\n fn\n}");
completer.language = 'javascript';
completer.sender = doc;
completer.init(function() {
completer.sender._emit("loadSnippets", { data: {
language: "javascript",
snippets: { fn: { name: "fn" }, fun: { name: "fun" }, for: { name: "for" }}
}});
});
completer.complete(doc, null, { row: 1, column: 6 }, null, function(matches) {
matchSorter(matches);
assert.equal(matches.length, 1);
assert.equal(matches[0].name, "fn");
done();
});
});
});
onload && onload();
});