43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
|
// Run this in a node REPL
|
||
|
// .load test.js
|
||
|
|
||
|
// Load dependencies
|
||
|
.load web3_metadata.js
|
||
|
.load bot.js
|
||
|
|
||
|
// A map from current input text to suggestion titles
|
||
|
var suggestionTests = {
|
||
|
",": [],
|
||
|
")": [],
|
||
|
"(": [],
|
||
|
"a)": [],
|
||
|
// Expected?
|
||
|
// "a,": [],
|
||
|
// "a(": [],
|
||
|
"c": ["console"],
|
||
|
"console.": ["log(text)"]
|
||
|
};
|
||
|
|
||
|
// Mock localStorage, necessary for suggestions functions in bot.js
|
||
|
var STORE = {};
|
||
|
var localStorage = function() {};
|
||
|
localStorage.getItem = function(k) { return STORE[k]; };
|
||
|
localStorage.setItem = function(k, v) { STORE[k] = v; };
|
||
|
|
||
|
var checkSuggestion = function(input) {
|
||
|
var suggestions = getJsSuggestions(input, {});
|
||
|
var titles = suggestions.map(function(suggestion) {
|
||
|
return suggestion.title;
|
||
|
});
|
||
|
var expectedTitles = suggestionTests[input];
|
||
|
var iseq = JSON.stringify(titles) == JSON.stringify(expectedTitles);
|
||
|
console.log("CHECK", input, " ", iseq);
|
||
|
if (!iseq) {
|
||
|
console.log("EXPECTED", expectedTitles);
|
||
|
console.log("ACTUAL", titles);
|
||
|
}
|
||
|
};
|
||
|
|
||
|
// Run tests
|
||
|
Object.keys(suggestionTests).forEach(checkSuggestion);
|