JindoTemplate

Benchmark created on


Preparation HTML

<script src="http://m.movie.naver.com/common/js/m/jindo.min.js"></script>

Setup

this._tplFriendChatList = $Template('<ul class="frnd_lst frnd_lst_v3">\
                {for idx:oneRoom in aRoomList}\
                <li>\
                <a href="#" class="check_area">\
                        <div class="check_txt">\
                                <h4 class="avat_tit">{for num:anAvatar in oneRoom.aAvatarList}{if num !=0},{/if}{if anAvatar.bHasAvatar == 1}<em class="fc9">{=anAvatar.sName}</em>{else}{=anAvatar.sName}{/if}{/for}</h4>\
                                <span class="chat_time">최근참여시간: {=oneRoom.sLastChatTime}</span>\
                        </div>\
                        <span class="bullet"></span>\
                        <ul class="img_lst">\
                        {for anAvatar in oneRoom.aAvatarList}\
                        <li><img src={=anAvatar.sThumbs} width="54" height="53" alt=""></li>\
                        {/for}\
                        </ul>\
                </a>\
                </li>\
                {/for}\
                </ul>');
    
    function _getFriendChatListMarkup(aChatRoomList) {
                var MAX_AVATAR_PER_ROOM = 5;
                var tempStr = '<ul class="frnd_lst frnd_lst_v3">';
                
                for (var i = 0, len = aChatRoomList.length; i < len; i++) {
                        tempStr += '<li><a href="#" class="check_area"><div class="check_txt"><h4 class="avat_tit">';
                        
                        var aAvatarList = aChatRoomList[i].aAvatarList,
                                nAvatarCnt = aAvatarList.length,
                                htAvatarInfo = null;
                        
                        for (var j = 0; j < nAvatarCnt; j++) {
                                if (j != 0) {
                                        tempStr += ",";
                                }
                                
                                htAvatarInfo = aAvatarList[j];
                                
                                if (htAvatarInfo.bHasAvatar == true) {
                                        tempStr += '<em class="fc9">' + htAvatarInfo.sName +'</em>';
                                } else {
                                        tempStr += htAvatarInfo.sName;
                                }
                        }
                        
                        tempStr += '</h4><span class="chat_time">최근참여시간: ' + aChatRoomList[i].sLastChatTime + '</span>';
                        tempStr += '</div><span class="bullet"></span><ul class="img_lst">';
                        
                        //아바타 최대 참여 인원은 5명
                        for (var j = 0; j < MAX_AVATAR_PER_ROOM; j++) {
                                tempStr += '<li>';
                                if (j < nAvatarCnt) {
                                        htAvatarInfo = aAvatarList[j];
                                        tempStr += '<img src="'+ htAvatarInfo.sThumbs + '" width="54" height="53" alt="">';
                                } else {
                                        //빈 li
                                }
                                tempStr += '</li>';
                        }
                        tempStr += '</ul></a></li>';
                }
                tempStr += '</ul>';
                
                return tempStr;
        }
    
    var friendRoomListMockData = {
        "bIsFriendChat" : true,
        "aRoomList" : [
                {
                        "sRoomId" : "r0001",
                        "aAvatarList":[
                        {
                                "sName": "BIBI",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "나는 대표다",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "Zeeha",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "김하은",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "진욱",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        ],
                        "sLastChatTime" : "2011/12/01 7:42 PM"
                },
                {
                        "aAvatarList":[
                        {
                                "sName": "BIBI",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "나는 대표다",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "Zeeha",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "김하은",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "진욱",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        ],
                        "sLastChatTime" : "2011/12/01 7:42 PM"
                },
                {
                        "aAvatarList":[
                        {
                                "sName": "BIBI",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "나는 대표다",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "Zeeha",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "김하은",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        {
                                "sName": "진욱",
                                "sThumbs" : "im/@chat_thmb2.png",
                                "bHasAvatar" : true,
                        },
                        ],
                        "sLastChatTime" : "2011/12/01 7:42 PM"
                },
        ]
    };

Test runner

Ready to run.

Testing in
TestOps/sec
JindoTemplate
this._tplFriendChatList.process(friendRoomListMockData.aRoomList);
ready
General
_getFriendChatListMarkup(friendRoomListMockData.aRoomList);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.