{"size": 2761, "ext": "js", "max_stars_repo_path": "test/private/utils.test.js", "max_stars_repo_name": "daikiueda/htmlcommenttemplate", "max_stars_repo_stars_event_min_datetime": "2015-03-20T06:38:22.000Z", "max_stars_repo_stars_event_max_datetime": "2019-04-01T09:50:40.000Z", "max_issues_repo_path": "test/private/utils.test.js", "max_issues_repo_name": "daikiueda/htmlcommentemplate", "max_issues_repo_issues_event_min_datetime": "2015-03-22T04:09:13.000Z", "max_issues_repo_issues_event_max_datetime": "2017-03-28T17:26:14.000Z", "max_forks_repo_path": "test/private/utils.test.js", "max_forks_repo_name": "daikiueda/htmlcommentemplate", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": 2, "max_issues_count": 2, "max_forks_count": null, "avg_line_length": 40.6029411765, "max_line_length": 139, "alphanum_fraction": 0.555233611}
"use strict";

var expect = require( "chai" ).expect,
    utils = require( "../../lib/private/utils.js" );

describe( "private / utils", function(){

    describe( "detectTemplateId", function(){

        it( "関連付けされたテンプレートのIDを返却する。", function(){
            expect( utils.detectTemplateId( '<html lang="ja"><!-- InstanceBegin template="/Templates/base.tmpl" -->\n<body>' ) )
                .to.equal( "Templates/base.tmpl" );
        } );
    } );

    describe( "activateTemplateTags", function(){

        var activateTemplateTags = utils.activateTemplateTags;

        describe( "Template用：コメントタグで表現されたテンプレート処理用の記述を、DOMとしてパース可能なタグに置き換えて返却する。", function(){

            it( "TemplateBeginEditable -> <TemplateEditable>", function(){
                expect( activateTemplateTags( "<!-- TemplateBeginEditable name=\"main\" --><!-- TemplateBeginEditable name=\"sub\" -->" ) )
                    .to.equal( "<TemplateEditable name=\"main\"><TemplateEditable name=\"sub\">" );
            } );

            it( "TemplateEndEditable -> </TemplateEditable>", function(){
                expect( activateTemplateTags( "<!-- TemplateEndEditable --><!-- TemplateEndEditable -->" ) )
                    .to.equal( "</TemplateEditable></TemplateEditable>" );
            } );
        } );
    } );

    describe( "activateInstanceTags", function(){

        var activateInstanceTags = utils.activateInstanceTags;

        describe( "Instance用：コメントタグで表現されたテンプレート処理用の記述を、DOMとしてパース可能なタグに置き換えて返却する。", function(){

            it( "InstanceBeginEditable -> <InstanceEditable>", function(){
                expect( activateInstanceTags( "<!-- InstanceBeginEditable name=\"main\" --><!-- InstanceBeginEditable name=\"sub\" -->" ) )
                    .to.equal( "<InstanceEditable name=\"main\"><InstanceEditable name=\"sub\">" );
            } );

            it( "InstanceEndEditable -> </InstanceEditable>", function(){
                expect( activateInstanceTags( "<!-- InstanceEndEditable --><!-- InstanceEndEditable -->" ) )
                    .to.equal( "</InstanceEditable></InstanceEditable>" );
            } );
        } );
    } );

    //describe( "excludeInstanceTags", function(){
    //
    //    var excludeInstanceTags = utils.excludeInstanceTags;
    //
    //    describe( "<!-- Instance〜 -->を除外したコードを返却する。", function(){
    //
    //        it( '<!-- InstanceEndEditable -->', function(){
    //            expect( excludeInstanceTags( '<!-- InstanceEndEditable -->' ) ).to.equal( "" );
    //        } );
    //
    //        it( '<!-- InstanceBeginEditable name="***" -->', function(){
    //            expect( excludeInstanceTags( '<!-- InstanceBeginEditable name="main" -->' ) ).to.equal( "" );
    //        } );
    //    } );
    //} );
} );
