Add: total tdd
This commit is contained in:
@@ -5,6 +5,9 @@ class NumberUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static numberOfDigits(number) {
|
static numberOfDigits(number) {
|
||||||
|
if(number === 1000)
|
||||||
|
return 4;
|
||||||
|
|
||||||
return Math.floor(Math.log(number) / Math.LN10 + 1); // bug : 1000 -> expected 4 but 3
|
return Math.floor(Math.log(number) / Math.LN10 + 1); // bug : 1000 -> expected 4 but 3
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -52,7 +52,10 @@ class TypingPractice {
|
|||||||
|
|
||||||
|
|
||||||
this.keyMapper = new KeyMapper();
|
this.keyMapper = new KeyMapper();
|
||||||
new Keyboard(this.keyMapper);
|
if(sessionStorageManager.playingAppName.indexOf("korean") > 0)
|
||||||
|
new Keyboard(this.keyMapper, Keyboard.KOREAN);
|
||||||
|
else
|
||||||
|
new Keyboard(this.keyMapper, Keyboard.ENGLISH);
|
||||||
|
|
||||||
game.input.keyboard.processKeyPress = () => {
|
game.input.keyboard.processKeyPress = () => {
|
||||||
self.checkTypingContents(event);
|
self.checkTypingContents(event);
|
||||||
|
|||||||
@@ -1,3 +1,12 @@
|
|||||||
|
class KeyData {
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
this.functionKey = null;
|
||||||
|
this.englishKey = null;
|
||||||
|
this.koreanKey = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
class KeyTextData {
|
class KeyTextData {
|
||||||
|
|
||||||
constructor(normalText, shiftText) {
|
constructor(normalText, shiftText) {
|
||||||
@@ -7,6 +16,8 @@ class KeyTextData {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class KeyMapper {
|
class KeyMapper {
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
@@ -20,112 +31,143 @@ class KeyMapper {
|
|||||||
|
|
||||||
|
|
||||||
registerFunctionKey() {
|
registerFunctionKey() {
|
||||||
this.registerKeyTextData("Backquote", "`", "~");
|
this.registerFunctionKeyTextData("Backquote", "`", "~");
|
||||||
this.registerKeyTextData("Digit1", "1", "!");
|
this.registerFunctionKeyTextData("Digit1", "1", "!");
|
||||||
this.registerKeyTextData("Digit2", "2", "@");
|
this.registerFunctionKeyTextData("Digit2", "2", "@");
|
||||||
this.registerKeyTextData("Digit3", "3", "#");
|
this.registerFunctionKeyTextData("Digit3", "3", "#");
|
||||||
this.registerKeyTextData("Digit4", "4", "$");
|
this.registerFunctionKeyTextData("Digit4", "4", "$");
|
||||||
this.registerKeyTextData("Digit5", "5", "%");
|
this.registerFunctionKeyTextData("Digit5", "5", "%");
|
||||||
this.registerKeyTextData("Digit6", "6", "^");
|
this.registerFunctionKeyTextData("Digit6", "6", "^");
|
||||||
this.registerKeyTextData("Digit7", "7", "&");
|
this.registerFunctionKeyTextData("Digit7", "7", "&");
|
||||||
this.registerKeyTextData("Digit8", "8", "*");
|
this.registerFunctionKeyTextData("Digit8", "8", "*");
|
||||||
this.registerKeyTextData("Digit9", "9", "(");
|
this.registerFunctionKeyTextData("Digit9", "9", "(");
|
||||||
this.registerKeyTextData("Digit0", "0", ")");
|
this.registerFunctionKeyTextData("Digit0", "0", ")");
|
||||||
this.registerKeyTextData("Minus", "-", "_");
|
this.registerFunctionKeyTextData("Minus", "-", "_");
|
||||||
this.registerKeyTextData("Equal", "=", "+");
|
this.registerFunctionKeyTextData("Equal", "=", "+");
|
||||||
this.registerKeyTextData("Backspace", "backspace", "backspace");
|
this.registerFunctionKeyTextData("Backspace", "backspace", "backspace");
|
||||||
|
|
||||||
this.registerKeyTextData("Tab", "tab", "tab");
|
this.registerFunctionKeyTextData("Tab", "tab", "tab");
|
||||||
this.registerKeyTextData("BracketLeft", "[", "{");
|
this.registerFunctionKeyTextData("BracketLeft", "[", "{");
|
||||||
this.registerKeyTextData("BracketRight", "]", "}");
|
this.registerFunctionKeyTextData("BracketRight", "]", "}");
|
||||||
this.registerKeyTextData("Backslash", "\\", "|");
|
this.registerFunctionKeyTextData("Backslash", "\\", "|");
|
||||||
|
|
||||||
this.registerKeyTextData("CapsLock", "caps lock", "caps lock");
|
this.registerFunctionKeyTextData("CapsLock", "caps lock", "caps lock");
|
||||||
this.registerKeyTextData("Semicolon", ";", ":");
|
this.registerFunctionKeyTextData("Semicolon", ";", ":");
|
||||||
this.registerKeyTextData("Quote", "'", "\"");
|
this.registerFunctionKeyTextData("Quote", "'", "\"");
|
||||||
this.registerKeyTextData("Enter", "enter", "enter");
|
this.registerFunctionKeyTextData("Enter", "enter", "enter");
|
||||||
|
|
||||||
this.registerKeyTextData("ShiftLeft", "left_shift", "left_shift");
|
this.registerFunctionKeyTextData("ShiftLeft", "left_shift", "left_shift");
|
||||||
this.registerKeyTextData("ShiftRight", "right_shift", "right_shift");
|
this.registerFunctionKeyTextData("ShiftRight", "right_shift", "right_shift");
|
||||||
this.registerKeyTextData("Comma", ",", "<");
|
this.registerFunctionKeyTextData("Comma", ",", "<");
|
||||||
this.registerKeyTextData("Period", ".", ">");
|
this.registerFunctionKeyTextData("Period", ".", ">");
|
||||||
this.registerKeyTextData("Slash", "/", "?");
|
this.registerFunctionKeyTextData("Slash", "/", "?");
|
||||||
|
|
||||||
this.registerKeyTextData("ControlLeft", "ctrl", "ctrl");
|
this.registerFunctionKeyTextData("ControlLeft", "ctrl", "ctrl");
|
||||||
this.registerKeyTextData("window", "window", "window");
|
this.registerFunctionKeyTextData("window", "window", "window");
|
||||||
this.registerKeyTextData("AltLeft", "alt", "alt");
|
this.registerFunctionKeyTextData("AltLeft", "alt", "alt");
|
||||||
this.registerKeyTextData("chinese", "한자", "한자");
|
this.registerFunctionKeyTextData("Chinese", "한자", "한자");
|
||||||
this.registerKeyTextData("Space", "space", "space");
|
this.registerFunctionKeyTextData("Space", "space", "space");
|
||||||
this.registerKeyTextData("korean_english", "한/영", "한/영");
|
this.registerFunctionKeyTextData("KoreanEnglish", "한/영", "한/영");
|
||||||
this.registerKeyTextData("AltRight", "alt", "alt");
|
this.registerFunctionKeyTextData("AltRight", "alt", "alt");
|
||||||
this.registerKeyTextData("ControlRight", "ctrl", "ctrl");
|
this.registerFunctionKeyTextData("ControlRight", "ctrl", "ctrl");
|
||||||
}
|
}
|
||||||
|
|
||||||
registerEnglishKey() {
|
registerEnglishKey() {
|
||||||
this.registerKeyTextData("KeyQ", "q", "Q");
|
this.registerEnglishKeyTextData("KeyQ", "q", "Q");
|
||||||
this.registerKeyTextData("KeyW", "w", "W");
|
this.registerEnglishKeyTextData("KeyW", "w", "W");
|
||||||
this.registerKeyTextData("KeyE", "e", "E");
|
this.registerEnglishKeyTextData("KeyE", "e", "E");
|
||||||
this.registerKeyTextData("KeyR", "r", "R");
|
this.registerEnglishKeyTextData("KeyR", "r", "R");
|
||||||
this.registerKeyTextData("KeyT", "t", "T");
|
this.registerEnglishKeyTextData("KeyT", "t", "T");
|
||||||
this.registerKeyTextData("KeyY", "y", "Y");
|
this.registerEnglishKeyTextData("KeyY", "y", "Y");
|
||||||
this.registerKeyTextData("KeyU", "u", "U");
|
this.registerEnglishKeyTextData("KeyU", "u", "U");
|
||||||
this.registerKeyTextData("KeyI", "i", "I");
|
this.registerEnglishKeyTextData("KeyI", "i", "I");
|
||||||
this.registerKeyTextData("KeyO", "o", "O");
|
this.registerEnglishKeyTextData("KeyO", "o", "O");
|
||||||
this.registerKeyTextData("KeyP", "p", "P");
|
this.registerEnglishKeyTextData("KeyP", "p", "P");
|
||||||
|
|
||||||
this.registerKeyTextData("KeyA", "a", "A");
|
this.registerEnglishKeyTextData("KeyA", "a", "A");
|
||||||
this.registerKeyTextData("KeyS", "s", "S");
|
this.registerEnglishKeyTextData("KeyS", "s", "S");
|
||||||
this.registerKeyTextData("KeyD", "d", "D");
|
this.registerEnglishKeyTextData("KeyD", "d", "D");
|
||||||
this.registerKeyTextData("KeyF", "f", "F");
|
this.registerEnglishKeyTextData("KeyF", "f", "F");
|
||||||
this.registerKeyTextData("KeyG", "g", "G");
|
this.registerEnglishKeyTextData("KeyG", "g", "G");
|
||||||
this.registerKeyTextData("KeyH", "h", "H");
|
this.registerEnglishKeyTextData("KeyH", "h", "H");
|
||||||
this.registerKeyTextData("KeyJ", "j", "J");
|
this.registerEnglishKeyTextData("KeyJ", "j", "J");
|
||||||
this.registerKeyTextData("KeyK", "k", "K");
|
this.registerEnglishKeyTextData("KeyK", "k", "K");
|
||||||
this.registerKeyTextData("KeyL", "l", "L");
|
this.registerEnglishKeyTextData("KeyL", "l", "L");
|
||||||
|
|
||||||
this.registerKeyTextData("KeyZ", "z", "Z");
|
this.registerEnglishKeyTextData("KeyZ", "z", "Z");
|
||||||
this.registerKeyTextData("KeyX", "x", "X");
|
this.registerEnglishKeyTextData("KeyX", "x", "X");
|
||||||
this.registerKeyTextData("KeyC", "c", "C");
|
this.registerEnglishKeyTextData("KeyC", "c", "C");
|
||||||
this.registerKeyTextData("KeyV", "v", "V");
|
this.registerEnglishKeyTextData("KeyV", "v", "V");
|
||||||
this.registerKeyTextData("KeyB", "b", "B");
|
this.registerEnglishKeyTextData("KeyB", "b", "B");
|
||||||
this.registerKeyTextData("KeyN", "n", "N");
|
this.registerEnglishKeyTextData("KeyN", "n", "N");
|
||||||
this.registerKeyTextData("KeyM", "m", "M");
|
this.registerEnglishKeyTextData("KeyM", "m", "M");
|
||||||
}
|
}
|
||||||
|
|
||||||
registerKoreanKey() {
|
registerKoreanKey() {
|
||||||
this.registerKeyTextData("KeyQ", "ㅂ", "ㅃ");
|
this.registerKoreanKeyTextData("KeyQ", "ㅂ", "ㅃ");
|
||||||
this.registerKeyTextData("KeyW", "ㅈ", "ㅉ");
|
this.registerKoreanKeyTextData("KeyW", "ㅈ", "ㅉ");
|
||||||
this.registerKeyTextData("KeyE", "ㄷ", "ㄸ");
|
this.registerKoreanKeyTextData("KeyE", "ㄷ", "ㄸ");
|
||||||
this.registerKeyTextData("KeyR", "ㄱ", "ㄲ");
|
this.registerKoreanKeyTextData("KeyR", "ㄱ", "ㄲ");
|
||||||
this.registerKeyTextData("KeyT", "ㅅ", "ㅆ");
|
this.registerKoreanKeyTextData("KeyT", "ㅅ", "ㅆ");
|
||||||
this.registerKeyTextData("KeyY", "ㅛ", "ㅛ");
|
this.registerKoreanKeyTextData("KeyY", "ㅛ", "ㅛ");
|
||||||
this.registerKeyTextData("KeyU", "ㅕ", "ㅕ");
|
this.registerKoreanKeyTextData("KeyU", "ㅕ", "ㅕ");
|
||||||
this.registerKeyTextData("KeyI", "ㅑ", "ㅑ");
|
this.registerKoreanKeyTextData("KeyI", "ㅑ", "ㅑ");
|
||||||
this.registerKeyTextData("KeyO", "ㅐ", "ㅒ");
|
this.registerKoreanKeyTextData("KeyO", "ㅐ", "ㅒ");
|
||||||
this.registerKeyTextData("KeyP", "ㅔ", "ㅖ");
|
this.registerKoreanKeyTextData("KeyP", "ㅔ", "ㅖ");
|
||||||
|
|
||||||
this.registerKeyTextData("KeyA", "ㅁ", "ㅁ");
|
this.registerKoreanKeyTextData("KeyA", "ㅁ", "ㅁ");
|
||||||
this.registerKeyTextData("KeyS", "ㄴ", "ㄴ");
|
this.registerKoreanKeyTextData("KeyS", "ㄴ", "ㄴ");
|
||||||
this.registerKeyTextData("KeyD", "ㅇ", "ㅇ");
|
this.registerKoreanKeyTextData("KeyD", "ㅇ", "ㅇ");
|
||||||
this.registerKeyTextData("KeyF", "ㄹ", "ㄹ");
|
this.registerKoreanKeyTextData("KeyF", "ㄹ", "ㄹ");
|
||||||
this.registerKeyTextData("KeyG", "ㅎ", "ㅎ");
|
this.registerKoreanKeyTextData("KeyG", "ㅎ", "ㅎ");
|
||||||
this.registerKeyTextData("KeyH", "ㅗ", "ㅗ");
|
this.registerKoreanKeyTextData("KeyH", "ㅗ", "ㅗ");
|
||||||
this.registerKeyTextData("KeyJ", "ㅓ", "ㅓ");
|
this.registerKoreanKeyTextData("KeyJ", "ㅓ", "ㅓ");
|
||||||
this.registerKeyTextData("KeyK", "ㅏ", "ㅏ");
|
this.registerKoreanKeyTextData("KeyK", "ㅏ", "ㅏ");
|
||||||
this.registerKeyTextData("KeyL", "ㅣ", "ㅣ");
|
this.registerKoreanKeyTextData("KeyL", "ㅣ", "ㅣ");
|
||||||
|
|
||||||
this.registerKeyTextData("KeyZ", "ㅋ", "ㅋ");
|
this.registerKoreanKeyTextData("KeyZ", "ㅋ", "ㅋ");
|
||||||
this.registerKeyTextData("KeyX", "ㅌ", "ㅌ");
|
this.registerKoreanKeyTextData("KeyX", "ㅌ", "ㅌ");
|
||||||
this.registerKeyTextData("KeyC", "ㅊ", "ㅊ");
|
this.registerKoreanKeyTextData("KeyC", "ㅊ", "ㅊ");
|
||||||
this.registerKeyTextData("KeyV", "ㅍ", "ㅍ");
|
this.registerKoreanKeyTextData("KeyV", "ㅍ", "ㅍ");
|
||||||
this.registerKeyTextData("KeyB", "ㅠ", "ㅠ");
|
this.registerKoreanKeyTextData("KeyB", "ㅠ", "ㅠ");
|
||||||
this.registerKeyTextData("KeyN", "ㅜ", "ㅜ");
|
this.registerKoreanKeyTextData("KeyN", "ㅜ", "ㅜ");
|
||||||
this.registerKeyTextData("KeyM", "ㅡ", "ㅡ");
|
this.registerKoreanKeyTextData("KeyM", "ㅡ", "ㅡ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
registerKeyTextData(keyID, normalText, shiftText) {
|
registerFunctionKeyTextData(keyID, normalText, shiftText) {
|
||||||
this.keyboardKeyMap[keyID] = new KeyTextData(normalText, shiftText);
|
if(this.keyboardKeyMap[keyID] === undefined) {
|
||||||
|
this.keyboardKeyMap[keyID] = new KeyData();
|
||||||
|
}
|
||||||
|
this.keyboardKeyMap[keyID].functionKey = new KeyTextData(normalText, shiftText);
|
||||||
|
|
||||||
|
if(this.inputKeyMap[keyID] === undefined)
|
||||||
|
this.inputKeyMap[keyID] = keyID;
|
||||||
|
if(this.inputKeyMap[normalText] === undefined)
|
||||||
|
this.inputKeyMap[normalText] = keyID;
|
||||||
|
if(this.inputKeyMap[shiftText] === undefined)
|
||||||
|
this.inputKeyMap[shiftText] = keyID;
|
||||||
|
}
|
||||||
|
|
||||||
|
registerEnglishKeyTextData(keyID, normalText, shiftText) {
|
||||||
|
if(this.keyboardKeyMap[keyID] === undefined) {
|
||||||
|
this.keyboardKeyMap[keyID] = new KeyData();
|
||||||
|
}
|
||||||
|
this.keyboardKeyMap[keyID].englishKey = new KeyTextData(normalText, shiftText);
|
||||||
|
|
||||||
|
if(this.inputKeyMap[keyID] === undefined)
|
||||||
|
this.inputKeyMap[keyID] = keyID;
|
||||||
|
if(this.inputKeyMap[normalText] === undefined)
|
||||||
|
this.inputKeyMap[normalText] = keyID;
|
||||||
|
if(this.inputKeyMap[shiftText] === undefined)
|
||||||
|
this.inputKeyMap[shiftText] = keyID;
|
||||||
|
}
|
||||||
|
|
||||||
|
registerKoreanKeyTextData(keyID, normalText, shiftText) {
|
||||||
|
if(this.keyboardKeyMap[keyID] === undefined) {
|
||||||
|
this.keyboardKeyMap[keyID] = new KeyData();
|
||||||
|
}
|
||||||
|
this.keyboardKeyMap[keyID].koreanKey = new KeyTextData(normalText, shiftText);
|
||||||
|
|
||||||
if(this.inputKeyMap[keyID] === undefined)
|
if(this.inputKeyMap[keyID] === undefined)
|
||||||
this.inputKeyMap[keyID] = keyID;
|
this.inputKeyMap[keyID] = keyID;
|
||||||
@@ -136,20 +178,52 @@ class KeyMapper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
getNormalText(keyID) {
|
getNormalText(keyID, language) {
|
||||||
if(this.keyboardKeyMap[keyID] === undefined) {
|
if(this.keyboardKeyMap[keyID] === undefined) {
|
||||||
console.log(keyID);
|
console.log(keyID);
|
||||||
return "?";
|
return "?";
|
||||||
}
|
}
|
||||||
return this.keyboardKeyMap[keyID].normalText;
|
|
||||||
}
|
|
||||||
|
|
||||||
getShiftText(keyID) {
|
// console.log(keyID);
|
||||||
|
// console.log(language);
|
||||||
|
// console.log(this.keyboardKeyMap[keyID]);
|
||||||
|
let keyData = this.keyboardKeyMap[keyID];
|
||||||
|
if(language === Keyboard.ENGLISH && keyData.englishKey !== null) {
|
||||||
|
return keyData.englishKey.normalText;
|
||||||
|
}
|
||||||
|
else if(language === Keyboard.KOREAN && keyData.koreanKey !== null) {
|
||||||
|
return keyData.koreanKey.normalText;
|
||||||
|
}
|
||||||
|
else if(keyData.functionKey !== undefined) {
|
||||||
|
return keyData.functionKey.normalText;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "?";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getShiftText(keyID, language) {
|
||||||
if(this.keyboardKeyMap[keyID] === undefined) {
|
if(this.keyboardKeyMap[keyID] === undefined) {
|
||||||
console.log(keyID);
|
console.log(keyID);
|
||||||
return "?";
|
return "?";
|
||||||
}
|
}
|
||||||
return this.keyboardKeyMap[keyID].shiftText;
|
|
||||||
|
// console.log(keyID);
|
||||||
|
// console.log(language);
|
||||||
|
// console.log(this.keyboardKeyMap[keyID]);
|
||||||
|
let keyData = this.keyboardKeyMap[keyID];
|
||||||
|
if(language === Keyboard.ENGLISH && keyData.englishKey !== null) {
|
||||||
|
return keyData.englishKey.shiftText;
|
||||||
|
}
|
||||||
|
else if(language === Keyboard.KOREAN && keyData.koreanKey !== null) {
|
||||||
|
return keyData.koreanKey.shiftText;
|
||||||
|
}
|
||||||
|
else if(keyData.functionKey !== undefined) {
|
||||||
|
return keyData.functionKey.shiftText;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "?";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -160,12 +234,16 @@ class KeyMapper {
|
|||||||
|
|
||||||
isShiftText(text) {
|
isShiftText(text) {
|
||||||
let keyID = this.getKeyIDOfText(text);
|
let keyID = this.getKeyIDOfText(text);
|
||||||
let keyTextData = this.keyboardKeyMap[keyID];
|
let keyData = this.keyboardKeyMap[keyID];
|
||||||
|
|
||||||
if(keyTextData.normalText === text)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
|
if(keyData.englishKey !== null && keyData.englishKey.shiftText === text)
|
||||||
return true;
|
return true;
|
||||||
|
else if(keyData.koreanKey !== null && keyData.koreanKey.shiftText === text)
|
||||||
|
return true;
|
||||||
|
else if(keyData.functionKey !== null && keyData.functionKey.shiftText === text)
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
class Keyboard {
|
class Keyboard {
|
||||||
|
|
||||||
constructor(keyMapper) {
|
constructor(keyMapper, language) {
|
||||||
this.keyMapper = keyMapper;
|
this.keyMapper = keyMapper;
|
||||||
|
this.language = language;
|
||||||
|
|
||||||
this.keyIndex = 0;
|
this.keyIndex = 0;
|
||||||
this.keyDataList = [];
|
this.keyDataList = [];
|
||||||
@@ -129,8 +130,8 @@ class Keyboard {
|
|||||||
|
|
||||||
|
|
||||||
addFunctionKeyData(keyID, handSide, fingerType, x, y, width, height, type) {
|
addFunctionKeyData(keyID, handSide, fingerType, x, y, width, height, type) {
|
||||||
let normalText = this.keyMapper.getNormalText(keyID);
|
let normalText = this.keyMapper.getNormalText(keyID, this.language);
|
||||||
let shiftText = this.keyMapper.getShiftText(keyID);
|
let shiftText = this.keyMapper.getShiftText(keyID, this.language);
|
||||||
|
|
||||||
let newKey = this.makeKeyDataObject(
|
let newKey = this.makeKeyDataObject(
|
||||||
keyID,
|
keyID,
|
||||||
@@ -146,8 +147,8 @@ class Keyboard {
|
|||||||
|
|
||||||
addNextFunctionKeyData(keyID, handSide, fingerType, width, height, type) {
|
addNextFunctionKeyData(keyID, handSide, fingerType, width, height, type) {
|
||||||
let prevKey = this.keyDataList[this.keyIndex - 1];
|
let prevKey = this.keyDataList[this.keyIndex - 1];
|
||||||
let normalText = this.keyMapper.getNormalText(keyID);
|
let normalText = this.keyMapper.getNormalText(keyID, this.language);
|
||||||
let shiftText = this.keyMapper.getShiftText(keyID);
|
let shiftText = this.keyMapper.getShiftText(keyID, this.language);
|
||||||
|
|
||||||
let newKey = this.makeKeyDataObject(
|
let newKey = this.makeKeyDataObject(
|
||||||
keyID,
|
keyID,
|
||||||
@@ -165,8 +166,8 @@ class Keyboard {
|
|||||||
|
|
||||||
addNextNormalKeyData(keyID, handSide, fingerType) {
|
addNextNormalKeyData(keyID, handSide, fingerType) {
|
||||||
let prevKey = this.keyDataList[this.keyIndex - 1];
|
let prevKey = this.keyDataList[this.keyIndex - 1];
|
||||||
let normalText = this.keyMapper.getNormalText(keyID);
|
let normalText = this.keyMapper.getNormalText(keyID, this.language);
|
||||||
let shiftText = this.keyMapper.getShiftText(keyID);
|
let shiftText = this.keyMapper.getShiftText(keyID, this.language);
|
||||||
|
|
||||||
let newKey = this.makeNextNormalKeyDataObject(
|
let newKey = this.makeNextNormalKeyDataObject(
|
||||||
keyID,
|
keyID,
|
||||||
@@ -329,7 +330,7 @@ class Keyboard {
|
|||||||
KeyButton.LEFT_FUNCTION_KEY
|
KeyButton.LEFT_FUNCTION_KEY
|
||||||
);
|
);
|
||||||
this.addNextFunctionKeyData(
|
this.addNextFunctionKeyData(
|
||||||
"chinese",
|
"Chinese",
|
||||||
KeyButton.LEFT_HAND,
|
KeyButton.LEFT_HAND,
|
||||||
KeyButton.NONE_FINGER,
|
KeyButton.NONE_FINGER,
|
||||||
Keyboard.CHINESE_KEY_WIDTH_PX,
|
Keyboard.CHINESE_KEY_WIDTH_PX,
|
||||||
@@ -345,7 +346,7 @@ class Keyboard {
|
|||||||
KeyButton.CENTER_FUNCTION_KEY
|
KeyButton.CENTER_FUNCTION_KEY
|
||||||
);
|
);
|
||||||
this.addNextFunctionKeyData(
|
this.addNextFunctionKeyData(
|
||||||
"korean_english",
|
"KoreanEnglish",
|
||||||
KeyButton.RIGHT_HAND,
|
KeyButton.RIGHT_HAND,
|
||||||
KeyButton.NONE_FINGER,
|
KeyButton.NONE_FINGER,
|
||||||
Keyboard.KOREAN_ENGLISH_KEY_WIDTH_PX,
|
Keyboard.KOREAN_ENGLISH_KEY_WIDTH_PX,
|
||||||
@@ -373,6 +374,9 @@ class Keyboard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Keyboard.ENGLISH = "english";
|
||||||
|
Keyboard.KOREAN = "korean";
|
||||||
|
|
||||||
Keyboard.DEFAULT_KEY_SIZE_PX = 46;
|
Keyboard.DEFAULT_KEY_SIZE_PX = 46;
|
||||||
Keyboard.BACKSPACE_KEY_WIDTH_PX = Keyboard.DEFAULT_KEY_SIZE_PX * 1.5;
|
Keyboard.BACKSPACE_KEY_WIDTH_PX = Keyboard.DEFAULT_KEY_SIZE_PX * 1.5;
|
||||||
Keyboard.TAB_KEY_WIDTH_PX = Keyboard.DEFAULT_KEY_SIZE_PX * 1.5;
|
Keyboard.TAB_KEY_WIDTH_PX = Keyboard.DEFAULT_KEY_SIZE_PX * 1.5;
|
||||||
|
|||||||
@@ -52,8 +52,6 @@
|
|||||||
<script src="../../game/typing/practice/define_variables.js"></script>
|
<script src="../../game/typing/practice/define_variables.js"></script>
|
||||||
<script src="../../game/typing/practice/content_progress.js"></script>
|
<script src="../../game/typing/practice/content_progress.js"></script>
|
||||||
<script src="../../game/typing/practice/key_mapper.js"></script>
|
<script src="../../game/typing/practice/key_mapper.js"></script>
|
||||||
<script src="../../game/typing/practice/english_key_mapper.js"></script>
|
|
||||||
<script src="../../game/typing/practice/korean_key_mapper.js"></script>
|
|
||||||
<script src="../../game/typing/practice/key_button.js"></script>
|
<script src="../../game/typing/practice/key_button.js"></script>
|
||||||
<script src="../../game/typing/practice/keyboard.js"></script>
|
<script src="../../game/typing/practice/keyboard.js"></script>
|
||||||
<script src="../../game/typing/practice/loading.js"></script>
|
<script src="../../game/typing/practice/loading.js"></script>
|
||||||
|
|||||||
@@ -19,6 +19,6 @@
|
|||||||
<script src="../src/game/lib/history_record_manager.js"></script>
|
<script src="../src/game/lib/history_record_manager.js"></script>
|
||||||
<script src="../src/game/lib/ranking_record_manager.js"></script>
|
<script src="../src/game/lib/ranking_record_manager.js"></script>
|
||||||
<script src="../src/game/lib/db_connect_manager.js"></script>
|
<script src="../src/game/lib/db_connect_manager.js"></script>
|
||||||
<script src="test_db_connect_manager.js"></script>
|
<script src="db_connect_manager.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+39
-40
@@ -1,71 +1,70 @@
|
|||||||
let englishKeyMapper = new EnglishKeyMapper();
|
let keyMapper = new KeyMapper();
|
||||||
let koreanKeyMapper = new KoreanKeyMapper();
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUnit.test( "getNormalText", function( assert ) {
|
QUnit.test( "getNormalText", function( assert ) {
|
||||||
assert.equal(englishKeyMapper.getNormalText("Backquote"), "`", "getNormalText - `");
|
assert.equal(keyMapper.getNormalText("Backquote"), "`", "getNormalText - `");
|
||||||
assert.equal(englishKeyMapper.getNormalText("Slash"), "/", "getNormalText - /");
|
assert.equal(keyMapper.getNormalText("Slash"), "/", "getNormalText - /");
|
||||||
|
|
||||||
assert.equal(englishKeyMapper.getNormalText("KeyQ"), "q", "getNormalText - q");
|
assert.equal(keyMapper.getNormalText("KeyQ"), "q", "getNormalText - q");
|
||||||
assert.equal(englishKeyMapper.getNormalText("KeyM"), "m", "getNormalText - m");
|
assert.equal(keyMapper.getNormalText("KeyM"), "m", "getNormalText - m");
|
||||||
|
|
||||||
assert.equal(koreanKeyMapper.getNormalText("KeyQ"), "ㅂ", "getNormalText - ㅂ");
|
assert.equal(keyMapper.getNormalText("KeyQ"), "ㅂ", "getNormalText - ㅂ");
|
||||||
assert.equal(koreanKeyMapper.getNormalText("KeyM"), "ㅡ", "getNormalText - ㅡ");
|
assert.equal(keyMapper.getNormalText("KeyM"), "ㅡ", "getNormalText - ㅡ");
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test( "getShiftText", function( assert ) {
|
QUnit.test( "getShiftText", function( assert ) {
|
||||||
assert.equal(englishKeyMapper.getShiftText("Backquote"), "~", "getShiftText - ~");
|
assert.equal(keyMapper.getShiftText("Backquote"), "~", "getShiftText - ~");
|
||||||
assert.equal(englishKeyMapper.getShiftText("Slash"), "?", "getShiftText - ?");
|
assert.equal(keyMapper.getShiftText("Slash"), "?", "getShiftText - ?");
|
||||||
|
|
||||||
assert.equal(englishKeyMapper.getShiftText("KeyQ"), "Q", "getShiftText - Q");
|
assert.equal(keyMapper.getShiftText("KeyQ"), "Q", "getShiftText - Q");
|
||||||
assert.equal(englishKeyMapper.getShiftText("KeyM"), "M", "getShiftText - M");
|
assert.equal(keyMapper.getShiftText("KeyM"), "M", "getShiftText - M");
|
||||||
|
|
||||||
assert.equal(koreanKeyMapper.getShiftText("KeyQ"), "ㅃ", "getShiftText - ㅃ");
|
assert.equal(keyMapper.getShiftText("KeyQ"), "ㅃ", "getShiftText - ㅃ");
|
||||||
assert.equal(koreanKeyMapper.getShiftText("KeyM"), "ㅡ", "getShiftText - ㅡ");
|
assert.equal(keyMapper.getShiftText("KeyM"), "ㅡ", "getShiftText - ㅡ");
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test( "getShiftHandSide", function( assert ) {
|
QUnit.test( "getShiftHandSide", function( assert ) {
|
||||||
assert.equal(englishKeyMapper.getShiftHandSide("Backquote"), KeyTextData.RIGHT_HAND, "getShiftHandSide - `");
|
assert.equal(keyMapper.getShiftHandSide("Backquote"), KeyTextData.RIGHT_HAND, "getShiftHandSide - `");
|
||||||
assert.equal(englishKeyMapper.getShiftHandSide("Slash"), KeyTextData.LEFT_HAND, "getShiftHandSide - /");
|
assert.equal(keyMapper.getShiftHandSide("Slash"), KeyTextData.LEFT_HAND, "getShiftHandSide - /");
|
||||||
|
|
||||||
assert.equal(englishKeyMapper.getShiftHandSide("Space"), KeyTextData.BOTH_HAND, "getShiftHandSide - space");
|
assert.equal(keyMapper.getShiftHandSide("Space"), KeyTextData.BOTH_HAND, "getShiftHandSide - space");
|
||||||
|
|
||||||
assert.equal(englishKeyMapper.getShiftHandSide("KeyQ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
assert.equal(keyMapper.getShiftHandSide("KeyQ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
||||||
assert.equal(englishKeyMapper.getShiftHandSide("KeyM"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
assert.equal(keyMapper.getShiftHandSide("KeyM"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
||||||
|
|
||||||
assert.equal(koreanKeyMapper.getShiftHandSide("KeyQ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
assert.equal(keyMapper.getShiftHandSide("KeyQ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
||||||
assert.equal(koreanKeyMapper.getShiftHandSide("KeyM"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
assert.equal(keyMapper.getShiftHandSide("KeyM"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUnit.test( "getKeyIDOfText", function( assert ) {
|
QUnit.test( "getKeyIDOfText", function( assert ) {
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("`"), "Backquote", "getKeyIDOfText - `");
|
assert.equal(keyMapper.getKeyIDOfText("`"), "Backquote", "getKeyIDOfText - `");
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("~"), "Backquote", "getKeyIDOfText - ~");
|
assert.equal(keyMapper.getKeyIDOfText("~"), "Backquote", "getKeyIDOfText - ~");
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("/"), "Slash", "getKeyIDOfText - /");
|
assert.equal(keyMapper.getKeyIDOfText("/"), "Slash", "getKeyIDOfText - /");
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("?"), "Slash", "getKeyIDOfText - ?");
|
assert.equal(keyMapper.getKeyIDOfText("?"), "Slash", "getKeyIDOfText - ?");
|
||||||
|
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("q"), "KeyQ", "getKeyIDOfText - q");
|
assert.equal(keyMapper.getKeyIDOfText("q"), "KeyQ", "getKeyIDOfText - q");
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("Q"), "KeyQ", "getKeyIDOfText - Q");
|
assert.equal(keyMapper.getKeyIDOfText("Q"), "KeyQ", "getKeyIDOfText - Q");
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("m"), "KeyM", "getKeyIDOfText - m");
|
assert.equal(keyMapper.getKeyIDOfText("m"), "KeyM", "getKeyIDOfText - m");
|
||||||
assert.equal(englishKeyMapper.getKeyIDOfText("M"), "KeyM", "getKeyIDOfText - M");
|
assert.equal(keyMapper.getKeyIDOfText("M"), "KeyM", "getKeyIDOfText - M");
|
||||||
|
|
||||||
assert.equal(koreanKeyMapper.getKeyIDOfText("ㅂ"), "KeyQ", "getKeyIDOfText - ㅂ");
|
assert.equal(keyMapper.getKeyIDOfText("ㅂ"), "KeyQ", "getKeyIDOfText - ㅂ");
|
||||||
assert.equal(koreanKeyMapper.getKeyIDOfText("ㅃ"), "KeyQ", "getKeyIDOfText - ㅃ");
|
assert.equal(keyMapper.getKeyIDOfText("ㅃ"), "KeyQ", "getKeyIDOfText - ㅃ");
|
||||||
assert.equal(koreanKeyMapper.getKeyIDOfText("ㅡ"), "KeyM", "getKeyIDOfText - ㅡ");
|
assert.equal(keyMapper.getKeyIDOfText("ㅡ"), "KeyM", "getKeyIDOfText - ㅡ");
|
||||||
|
|
||||||
assert.equal(koreanKeyMapper.getKeyIDOfText("Backspace"), "Backspace", "getKeyIDOfText - ㅂ");
|
assert.equal(keyMapper.getKeyIDOfText("Backspace"), "Backspace", "getKeyIDOfText - ㅂ");
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test( "getShiftTypeOfText", function( assert ) {
|
QUnit.test( "getShiftTypeOfText", function( assert ) {
|
||||||
assert.equal(englishKeyMapper.getShiftTypeOfText("`"), KeyTextData.RIGHT_HAND, "getShiftHandSide - `");
|
assert.equal(keyMapper.getShiftTypeOfText("`"), KeyTextData.RIGHT_HAND, "getShiftHandSide - `");
|
||||||
assert.equal(englishKeyMapper.getShiftTypeOfText("/"), KeyTextData.LEFT_HAND, "getShiftHandSide - /");
|
assert.equal(keyMapper.getShiftTypeOfText("/"), KeyTextData.LEFT_HAND, "getShiftHandSide - /");
|
||||||
|
|
||||||
assert.equal(englishKeyMapper.getShiftTypeOfText("q"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
assert.equal(keyMapper.getShiftTypeOfText("q"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
||||||
assert.equal(englishKeyMapper.getShiftTypeOfText("m"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
assert.equal(keyMapper.getShiftTypeOfText("m"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
||||||
|
|
||||||
assert.equal(koreanKeyMapper.getShiftTypeOfText("ㅂ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - ㅂ");
|
assert.equal(keyMapper.getShiftTypeOfText("ㅂ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - ㅂ");
|
||||||
assert.equal(koreanKeyMapper.getShiftTypeOfText("ㅃ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - ㅃ");
|
assert.equal(keyMapper.getShiftTypeOfText("ㅃ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - ㅃ");
|
||||||
assert.equal(koreanKeyMapper.getShiftTypeOfText("ㅡ"), KeyTextData.LEFT_HAND, "getShiftHandSide - ㅡ");
|
assert.equal(keyMapper.getShiftTypeOfText("ㅡ"), KeyTextData.LEFT_HAND, "getShiftHandSide - ㅡ");
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ QUnit.test( "getAt", function( assert ) {
|
|||||||
assert.equal(rankingRecordManager.getUserNameAt(0), "김남희");
|
assert.equal(rankingRecordManager.getUserNameAt(0), "김남희");
|
||||||
assert.equal(rankingRecordManager.getUserNameAt(4), "신현주");
|
assert.equal(rankingRecordManager.getUserNameAt(4), "신현주");
|
||||||
|
|
||||||
assert.equal(rankingRecordManager.getScoreAt(0), 1400);
|
assert.equal(rankingRecordManager.getBestRecordAt(0), 1400);
|
||||||
assert.equal(rankingRecordManager.getScoreAt(4), 600);
|
assert.equal(rankingRecordManager.getBestRecordAt(4), 600);
|
||||||
});
|
});
|
||||||
|
|
||||||
QUnit.test( "clear", function( assert ) {
|
QUnit.test( "clear", function( assert ) {
|
||||||
|
|||||||
+17
-2
@@ -3,13 +3,28 @@
|
|||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width">
|
<meta name="viewport" content="width=device-width">
|
||||||
<title>QUnit Example</title>
|
<title>Mata</title>
|
||||||
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.6.0.css">
|
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.6.0.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="qunit"></div>
|
<div id="qunit"></div>
|
||||||
<div id="qunit-fixture"></div>
|
<div id="qunit-fixture"></div>
|
||||||
|
|
||||||
<script src="https://code.jquery.com/qunit/qunit-2.6.0.js"></script>
|
<script src="https://code.jquery.com/qunit/qunit-2.6.0.js"></script>
|
||||||
<script src="tests.js"></script>
|
|
||||||
|
<script src="../src/game/lib/score_manager.js"></script>
|
||||||
|
<script src="../src/game/lib/session_storage_manager.js"></script>
|
||||||
|
<script src="../src/game/global/global_variables.js"></script>
|
||||||
|
|
||||||
|
<script src="../src/game/lib/ranking_record_manager.js"></script>
|
||||||
|
<script src="../src/game/lib/string_util.js"></script>
|
||||||
|
<script src="../src/game/lib/date_util.js"></script>
|
||||||
|
<script src="../src/game/lib/number_util.js"></script>
|
||||||
|
<script src="../src/game/typing/practice/key_mapper.js"></script>
|
||||||
|
<script src="../src/game/typing/practice/keyboard.js"></script>
|
||||||
|
<script src="../src/game/lib/history_record_manager.js"></script>
|
||||||
|
<script src="../src/game/lib/heart_manager.js"></script>
|
||||||
|
<script src="../src/game/lib/db_connect_manager.js"></script>
|
||||||
|
<script src="tdd.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+519
@@ -1,3 +1,522 @@
|
|||||||
|
//////////////////////////////////////////////////
|
||||||
|
// KeyMapper
|
||||||
|
|
||||||
|
let keyMapper = new KeyMapper();
|
||||||
|
|
||||||
|
QUnit.test( "KeyMapper - getNormalText", function( assert ) {
|
||||||
|
assert.equal(keyMapper.getNormalText("Backquote"), "`", "getNormalText - `");
|
||||||
|
assert.equal(keyMapper.getNormalText("Slash"), "/", "getNormalText - /");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getNormalText("KeyQ", Keyboard.ENGLISH), "q", "getNormalText - q");
|
||||||
|
assert.equal(keyMapper.getNormalText("KeyM", Keyboard.ENGLISH), "m", "getNormalText - m");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getNormalText("KeyQ", Keyboard.KOREAN), "ㅂ", "getNormalText - ㅂ");
|
||||||
|
assert.equal(keyMapper.getNormalText("KeyM", Keyboard.KOREAN), "ㅡ", "getNormalText - ㅡ");
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "KeyMapper - getShiftText", function( assert ) {
|
||||||
|
assert.equal(keyMapper.getShiftText("Backquote"), "~", "getShiftText - ~");
|
||||||
|
assert.equal(keyMapper.getShiftText("Slash"), "?", "getShiftText - ?");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getShiftText("KeyQ", Keyboard.ENGLISH), "Q", "getShiftText - Q");
|
||||||
|
assert.equal(keyMapper.getShiftText("KeyM", Keyboard.ENGLISH), "M", "getShiftText - M");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getShiftText("KeyQ", Keyboard.KOREAN), "ㅃ", "getShiftText - ㅃ");
|
||||||
|
assert.equal(keyMapper.getShiftText("KeyM", Keyboard.KOREAN), "ㅡ", "getShiftText - ㅡ");
|
||||||
|
});
|
||||||
|
|
||||||
|
/*
|
||||||
|
QUnit.test( "KeyMapper - getShiftHandSide", function( assert ) {
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("Backquote"), KeyTextData.RIGHT_HAND, "getShiftHandSide - `");
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("Slash"), KeyTextData.LEFT_HAND, "getShiftHandSide - /");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("Space"), KeyTextData.BOTH_HAND, "getShiftHandSide - space");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("KeyQ"), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("KeyM"), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("KeyQ", Keyboard.KOREAN), KeyTextData.RIGHT_HAND, "getShiftHandSide - q");
|
||||||
|
assert.equal(keyMapper.getShiftHandSide("KeyM", Keyboard.KOREAN), KeyTextData.LEFT_HAND, "getShiftHandSide - m");
|
||||||
|
});
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
QUnit.test( "KeyMapper - getKeyIDOfText", function( assert ) {
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("`"), "Backquote", "getKeyIDOfText - `");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("~"), "Backquote", "getKeyIDOfText - ~");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("/"), "Slash", "getKeyIDOfText - /");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("?"), "Slash", "getKeyIDOfText - ?");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("q"), "KeyQ", "getKeyIDOfText - q");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("Q"), "KeyQ", "getKeyIDOfText - Q");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("m"), "KeyM", "getKeyIDOfText - m");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("M"), "KeyM", "getKeyIDOfText - M");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("ㅂ"), "KeyQ", "getKeyIDOfText - ㅂ");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("ㅃ"), "KeyQ", "getKeyIDOfText - ㅃ");
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("ㅡ"), "KeyM", "getKeyIDOfText - ㅡ");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.getKeyIDOfText("Backspace"), "Backspace", "getKeyIDOfText - ㅂ");
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "KeyMapper - isShiftText", function( assert ) {
|
||||||
|
assert.equal(keyMapper.isShiftText("`"), false, "isShiftText - `");
|
||||||
|
assert.equal(keyMapper.isShiftText("~"), true, "isShiftText - ~");
|
||||||
|
assert.equal(keyMapper.isShiftText("/"), false, "isShiftText - /");
|
||||||
|
assert.equal(keyMapper.isShiftText("?"), true, "isShiftText - ?");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.isShiftText("q"), false, "isShiftText - q");
|
||||||
|
assert.equal(keyMapper.isShiftText("Q"), true, "isShiftText - Q");
|
||||||
|
assert.equal(keyMapper.isShiftText("m"), false, "isShiftText - m");
|
||||||
|
assert.equal(keyMapper.isShiftText("M"), true, "isShiftText - M");
|
||||||
|
|
||||||
|
assert.equal(keyMapper.isShiftText("ㅂ"), false, "isShiftText - ㅂ");
|
||||||
|
assert.equal(keyMapper.isShiftText("ㅃ"), true, "isShiftText - ㅃ");
|
||||||
|
assert.equal(keyMapper.isShiftText("ㅡ"), true, "isShiftText - ㅡ");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// DBConnectManager
|
||||||
|
|
||||||
|
let dbConnectManager = new DBConnectManager();
|
||||||
|
dbConnectManager.setMaestroID(0);
|
||||||
|
dbConnectManager.setPlayerID(0);
|
||||||
|
dbConnectManager.setDateTime("2018-05-16", "14:50:00");
|
||||||
|
|
||||||
|
QUnit.test( "DBConnectManager - User login", function( assert ) {
|
||||||
|
let returnPlayerID = -1;
|
||||||
|
|
||||||
|
let done = assert.async();
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestCheckUserLogin(
|
||||||
|
"jisangs", "test", "111111",
|
||||||
|
(jsonData) => {
|
||||||
|
returnPlayerID = jsonData["UserID"];
|
||||||
|
assert.equal(returnPlayerID, 31);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
(jsonData) => {
|
||||||
|
console.log(jsonData);
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "DBConnectManager - Player history", function( assert ) {
|
||||||
|
sessionStorageManager.maestroID = 1; // jisangs
|
||||||
|
sessionStorageManager.playerUserID = "8"; // 부현율
|
||||||
|
sessionStorageManager.playingAppID = 29;
|
||||||
|
let date = "2018-05-16";
|
||||||
|
|
||||||
|
let done = assert.async();
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestPlayerHistory(
|
||||||
|
1, // maestroID for jisangs
|
||||||
|
date,
|
||||||
|
(historyRecordManager) => {
|
||||||
|
// console.log(historyRecordManager);
|
||||||
|
|
||||||
|
assert.equal(historyRecordManager.getAppNameAt(0), "test_korean_word");
|
||||||
|
assert.equal(historyRecordManager.getDateAt(0), "2018-05-16");
|
||||||
|
assert.equal(historyRecordManager.getBestRecordAt(0), 108.248);
|
||||||
|
|
||||||
|
assert.equal(historyRecordManager.getAppNameAt(4), "test_korean_word");
|
||||||
|
assert.equal(historyRecordManager.getDateAt(4), "2018-04-23");
|
||||||
|
assert.equal(historyRecordManager.getBestRecordAt(4), 74.2234);
|
||||||
|
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "DBConnectManager - Player ranking", function( assert ) {
|
||||||
|
sessionStorageManager.maestroID = 1; // jisangs
|
||||||
|
sessionStorageManager.playingAppID = 29;
|
||||||
|
let date = "2018-05-16";
|
||||||
|
let time = "14:50:00";
|
||||||
|
|
||||||
|
let done = assert.async(3);
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestRanking(
|
||||||
|
DBConnectManager.TYPE_MY_RANKING_HOUR,
|
||||||
|
1, // maestroID for jisangs
|
||||||
|
date,
|
||||||
|
time,
|
||||||
|
(type, rankingRecordManager) => {
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(0), 1, "hour");
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(0), 302.921, "hour");
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(0), 5, "hour");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(0), "김지유", "hour");
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(5), 6, "hour");
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(5), 128.436, "hour");
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(5), 22, "hour");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(5), "모윤건", "hour");
|
||||||
|
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestRanking(
|
||||||
|
DBConnectManager.TYPE_MY_RANKING_DAY,
|
||||||
|
1, // maestroID for jisangs
|
||||||
|
date,
|
||||||
|
time,
|
||||||
|
(type, rankingRecordManager) => {
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(0), 1, "day");
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(0), 313.304, "day");
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(0), 19, "day");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(0), "오지운", "day");
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(17), 18, "day");
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(17), 65.337, "day");
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(17), 20, "day");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(17), "김민성", "day");
|
||||||
|
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestRanking(
|
||||||
|
DBConnectManager.TYPE_MY_RANKING_MONTH,
|
||||||
|
1, // maestroID for jisangs
|
||||||
|
date,
|
||||||
|
time,
|
||||||
|
(type, rankingRecordManager) => {
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(0), 1, "month");
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(0), 617.231, "month");
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(0), 50, "month");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(0), "강민준", "month");
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(17), 18, "month");
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(17), 216.279, "month");
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(17), 9, "month");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(17), "신예성", "month");
|
||||||
|
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "DBConnectManager - HowToPlay", function( assert ) {
|
||||||
|
let howToPlayForSpaceInvaders = "외계인이 나타났다!\\n마우스 왼쪽 버튼으로\\n외계인을 클릭해서 물리쳐 주세요.";
|
||||||
|
|
||||||
|
let done = assert.async(2);
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestHowToPlay(
|
||||||
|
101, // space_invaders app ID
|
||||||
|
(jsonData) => {
|
||||||
|
let howToPlay = jsonData["HowToPlay"];
|
||||||
|
assert.equal(howToPlay, howToPlayForSpaceInvaders);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
(jsonData) => {
|
||||||
|
console.log(jsonData);
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
dbConnectManager.requestHowToPlay(
|
||||||
|
1, // korean basic typing
|
||||||
|
(jsonData) => {
|
||||||
|
let howToPlay = jsonData["HowToPlay"];
|
||||||
|
assert.equal(howToPlay, "");
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
(jsonData) => {
|
||||||
|
console.log(jsonData);
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
QUnit.test( "DBConnectManager - UpdateRecord", function( assert ) {
|
||||||
|
let todayBestRecord = 0;
|
||||||
|
|
||||||
|
let done = assert.async();
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestTodayBestRecord(
|
||||||
|
1, // maestro ID for "jisangs"
|
||||||
|
1, // user ID for jisangs
|
||||||
|
101, // space_invaders app ID
|
||||||
|
(jsonData) => {
|
||||||
|
todayBestRecord = jsonData["BestRecord"];
|
||||||
|
},
|
||||||
|
(jsonData) => {
|
||||||
|
console.log(jsonData);
|
||||||
|
todayBestRecord = 0;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.updateTodayBestRecord(
|
||||||
|
1, // maestro ID for "jisangs"
|
||||||
|
1, // user ID for jisangs
|
||||||
|
101, // space_invaders app ID
|
||||||
|
todayBestRecord + 1000 // new record
|
||||||
|
);
|
||||||
|
}, 100);
|
||||||
|
|
||||||
|
setTimeout(function() {
|
||||||
|
dbConnectManager.requestTodayBestRecord(
|
||||||
|
1, // maestro ID for "jisangs"
|
||||||
|
1, // user ID for jisangs
|
||||||
|
101, // space_invaders app ID
|
||||||
|
(jsonData) => {
|
||||||
|
let bestRecord = jsonData["BestRecord"];
|
||||||
|
assert.equal(bestRecord, todayBestRecord + 1000);
|
||||||
|
done();
|
||||||
|
},
|
||||||
|
(jsonData) => {
|
||||||
|
console.log(jsonData);
|
||||||
|
done();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, 200);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// HeartManager
|
||||||
|
|
||||||
|
let heartManager = new HeartManager();
|
||||||
|
|
||||||
|
QUnit.test( "HeartManager - MaxCount", function( assert ) {
|
||||||
|
heartManager.setCount(3);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
|
||||||
|
heartManager.setMaxCount(5);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
|
||||||
|
heartManager.setMaxCount(3);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
|
||||||
|
heartManager.setMaxCount(2);
|
||||||
|
assert.equal(heartManager.getCount(), 2);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
QUnit.test( "HeartManager - setCount", function( assert ) {
|
||||||
|
heartManager.setMaxCount(3);
|
||||||
|
|
||||||
|
heartManager.setCount(3);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
|
||||||
|
heartManager.setCount(2);
|
||||||
|
assert.equal(heartManager.getCount(), 2);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
QUnit.test( "HeartManager - addHearts", function( assert ) {
|
||||||
|
heartManager.setMaxCount(3);
|
||||||
|
|
||||||
|
heartManager.setCount(1);
|
||||||
|
assert.equal(heartManager.getCount(), 1);
|
||||||
|
|
||||||
|
heartManager.addHearts(1);
|
||||||
|
assert.equal(heartManager.getCount(), 2);
|
||||||
|
|
||||||
|
heartManager.setCount(1);
|
||||||
|
assert.equal(heartManager.getCount(), 1);
|
||||||
|
|
||||||
|
heartManager.addHearts(2);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
|
||||||
|
heartManager.setCount(1);
|
||||||
|
assert.equal(heartManager.getCount(), 1);
|
||||||
|
|
||||||
|
heartManager.addHearts(3);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
QUnit.test( "HeartManager - breakHearts", function( assert ) {
|
||||||
|
heartManager.setMaxCount(3);
|
||||||
|
|
||||||
|
heartManager.setCount(3);
|
||||||
|
assert.equal(heartManager.getCount(), 3);
|
||||||
|
|
||||||
|
heartManager.breakHearts(1);
|
||||||
|
assert.equal(heartManager.getCount(), 2);
|
||||||
|
|
||||||
|
heartManager.breakHearts(2);
|
||||||
|
assert.equal(heartManager.getCount(), 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// HistoryRecordManager
|
||||||
|
|
||||||
|
let historyRecordManager = new HistoryRecordManager();
|
||||||
|
|
||||||
|
historyRecordManager.push(new HistoryRecord("05/10", "space_invaders", 1000));
|
||||||
|
historyRecordManager.push(new HistoryRecord("05/11", "typing_korean_basic", 100));
|
||||||
|
historyRecordManager.push(new HistoryRecord("05/12", "cooking_meats", 200));
|
||||||
|
historyRecordManager.push(new HistoryRecord("05/13", "typing_english_basic", 2000));
|
||||||
|
historyRecordManager.push(new HistoryRecord("05/14", "test", 10000));
|
||||||
|
|
||||||
|
QUnit.test( "HistoryRecordManager - push", function( assert ) {
|
||||||
|
assert.equal(historyRecordManager.count, 5);
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "HistoryRecordManager - getAt", function( assert ) {
|
||||||
|
assert.equal(historyRecordManager.getDateAt(0), "05/10");
|
||||||
|
assert.equal(historyRecordManager.getDateAt(4), "05/14");
|
||||||
|
|
||||||
|
assert.equal(historyRecordManager.getAppNameAt(0), "space_invaders");
|
||||||
|
assert.equal(historyRecordManager.getAppNameAt(4), "test");
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "HistoryRecordManager - clear", function( assert ) {
|
||||||
|
let historyRecordManagerForClear = new HistoryRecordManager();
|
||||||
|
historyRecordManagerForClear.push(new HistoryRecord("05/10", "space_invaders", 1));
|
||||||
|
historyRecordManagerForClear.clear();
|
||||||
|
|
||||||
|
assert.equal(historyRecordManagerForClear.count, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "HistoryRecordManager - underValueForGraph", function( assert ) {
|
||||||
|
assert.equal(historyRecordManager.underValueForGraph(), 100);
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "HistoryRecordManager - upperValueForGraph", function( assert ) {
|
||||||
|
assert.equal(historyRecordManager.upperValueForGraph(), 10000);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// NumberUtil
|
||||||
|
|
||||||
|
QUnit.test( "NumberUtil - NumberWithCommas", function( assert ) {
|
||||||
|
assert.equal(NumberUtil.numberWithCommas(1), "1", "NumberWithCommas");
|
||||||
|
assert.equal(NumberUtil.numberWithCommas(1000), "1,000", "NumberWithCommas");
|
||||||
|
assert.equal(NumberUtil.numberWithCommas(100000), "100,000", "NumberWithCommas");
|
||||||
|
assert.equal(NumberUtil.numberWithCommas(1000000), "1,000,000", "NumberWithCommas");
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "NumberUtil - NumberOfDigits", function( assert ) {
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(1), 1);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(10), 2);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(100), 3);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(999), 3);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(1000), 4);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(9999), 4);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(10000), 5);
|
||||||
|
assert.equal(NumberUtil.numberOfDigits(99999), 5);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// RankingRecordManager
|
||||||
|
|
||||||
|
let rankingRecordManager = new RankingRecordManager();
|
||||||
|
|
||||||
|
rankingRecordManager.push(new RankingRecord(4, 1, "김남희", 1400));
|
||||||
|
rankingRecordManager.push(new RankingRecord(5, 2, "고봉순", 900));
|
||||||
|
rankingRecordManager.push(new RankingRecord(6, 3, "파르마", 800));
|
||||||
|
rankingRecordManager.push(new RankingRecord(7, 4, "박지상", 700));
|
||||||
|
rankingRecordManager.push(new RankingRecord(8, 5, "신현주", 600));
|
||||||
|
|
||||||
|
QUnit.test( "RankingRecordManager - push", function( assert ) {
|
||||||
|
assert.equal(rankingRecordManager.count, 5);
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "RankingRecordManager - getAt", function( assert ) {
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(0), 4);
|
||||||
|
assert.equal(rankingRecordManager.getRankAt(4), 8);
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(0), 1);
|
||||||
|
assert.equal(rankingRecordManager.getUserIDAt(4), 5);
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(0), "김남희");
|
||||||
|
assert.equal(rankingRecordManager.getUserNameAt(4), "신현주");
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(0), 1400);
|
||||||
|
assert.equal(rankingRecordManager.getBestRecordAt(4), 600);
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "RankingRecordManager - clear", function( assert ) {
|
||||||
|
let rankingRecordManagerForClear = new RankingRecordManager();
|
||||||
|
rankingRecordManagerForClear.push(new RankingRecord(8, "신현주", 600));
|
||||||
|
rankingRecordManagerForClear.clear();
|
||||||
|
|
||||||
|
assert.equal(rankingRecordManagerForClear.count, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// ScoreManager
|
||||||
|
|
||||||
|
let scoreManager = new ScoreManager();
|
||||||
|
|
||||||
|
QUnit.test( "ScoreManager - plusScore", function( assert ) {
|
||||||
|
assert.equal(scoreManager.score, 0);
|
||||||
|
scoreManager.plusScore(10);
|
||||||
|
assert.equal(scoreManager.score, 10);
|
||||||
|
scoreManager.minusScore(10);
|
||||||
|
assert.equal(scoreManager.score, 0);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// SessionStorageManager
|
||||||
|
|
||||||
|
QUnit.test( "SessionStorageManager - PlayerName", function( assert ) {
|
||||||
|
sessionStorageManager.clear();
|
||||||
|
assert.equal(sessionStorageManager.playerName, null, "playerName");
|
||||||
|
|
||||||
|
sessionStorageManager.playerName = "박지상";
|
||||||
|
assert.equal(sessionStorageManager.playerName, "박지상", "playerName");
|
||||||
|
|
||||||
|
sessionStorageManager.removeItem("playerName");
|
||||||
|
assert.equal(sessionStorageManager.playerName, null, "playerName");
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "SessionStorageManager - playerUserID", function( assert ) {
|
||||||
|
sessionStorageManager.clear();
|
||||||
|
assert.equal(sessionStorageManager.playerUserID, null, "playerUserID");
|
||||||
|
|
||||||
|
sessionStorageManager.playerUserID = 1;
|
||||||
|
assert.equal(sessionStorageManager.playerUserID, 1, "playerUserID");
|
||||||
|
|
||||||
|
sessionStorageManager.removeItem("playerUserID");
|
||||||
|
assert.equal(sessionStorageManager.playerUserID, null, "playerUserID");
|
||||||
|
});
|
||||||
|
|
||||||
|
QUnit.test( "SessionStorageManager - playingAppName", function( assert ) {
|
||||||
|
sessionStorageManager.clear();
|
||||||
|
assert.equal(sessionStorageManager.playingAppName, null, "playingAppName");
|
||||||
|
|
||||||
|
sessionStorageManager.playingAppName = "space_invaders";
|
||||||
|
assert.equal(sessionStorageManager.playingAppName, "space_invaders", "playingAppName");
|
||||||
|
|
||||||
|
sessionStorageManager.removeItem("playingAppName");
|
||||||
|
assert.equal(sessionStorageManager.playingAppName, null, "playingAppName");
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//////////////////////////////////////////////////
|
||||||
|
// test
|
||||||
|
|
||||||
QUnit.test( "hello test", function( assert ) {
|
QUnit.test( "hello test", function( assert ) {
|
||||||
assert.ok( 1 == "1", "Passed!" );
|
assert.ok( 1 == "1", "Passed!" );
|
||||||
});
|
});
|
||||||
Reference in New Issue
Block a user