Mojito markup test

BSD
JavaScript
跨平台
Yahoo
2015-05-08
大胖森

Mojito markup test 能使用模拟数据来呈现 mojit 视图,得到的结果可以用验证使用 YUI 节点模块若是使用 mojito test 指令,则由它得到的实力能够在 mojito 单元测试中运行。

使用步骤:

  1. 需要 mojito-markup-test.

  2. 增加一个 mojit spec.

  3. 呈现视图和验证标记.

完整示例:
YUI.add('CompositeMojit_view-tests', function(Y) {

    var suite = new YUITest.TestSuite('CompositeMojit'),
        A = YUITest.Assert,
        MarkupTest = Y.mojito.MarkupTest,

        //Timeout for async testing
        TIMEOUT = 1000;

    suite.add(new YUITest.TestCase({

        name: 'view',

        'test index': function () {

            var test = this,

                //describe the mojit to render
                spec = {
                    //mojit type (dir name)
                    type: 'CompositeMojit',

                    //action to test
                    action: 'index',

                    //mojit params
                    params: {
                        url: {
                            p: 'Really!'
                        }
                    },

                    //mojit config (to use with ac.config.get() )
                    config: {
                        foo: 'bar'
                    },

                    //app level config (to use with ac.app)
                    appConfig: {
                        some: 'config param'
                    },

                    // We need to define the child mojits,
                    // modules should be in the requires: [] as well to be loaded (see below)
                    children: {
                        'child_mojit': {
                            type: 'ChildMojit'
                        }
                    }
                };

            MarkupTest.render(spec, function (err, markup, meta, node) {

                //rendering done, resume paused test and verify
                test.resume(function () {
                    var div, em, i, a, text;

                    A.isNull(err);
                    //we have markup
                    A.areNotEqual('', markup, 'Markup');
                    //we have meta
                    A.isNotNull(meta, 'Meta');

                    //we have a node
                    A.isNotUndefined(node, 'Parent node');
                    A.isNotNull(node, 'Parent node');

                    div = node.one('.msg');
                    A.isNotUndefined(div, 'msg <div>');
                    A.isNotNull(div, 'msg <div>');

                    em = div.one('em');
                    A.isNotUndefined(em, '<em>');
                    A.isNotNull(em, '<em>');

                    text = em.getContent();
                    A.areEqual('Mojito is working.', text, 'Rendered message <em>');

                    i = div.one('i');
                    A.isNotUndefined(i, '<i>');
                    A.isNotNull(i, '<i>');

                    text = i.getContent();
                    A.areEqual(spec.params.url.p, text, 'Rendered message <i>');

                    a = div.one('a');
                    A.isNotUndefined(a, '<a>');
                    A.isNotNull(a, '<a>');

                    text = a.getContent();
                    A.areEqual(spec.config.foo, text, 'Rendered message <a>');
                });
            });

            //we need this for async tests, wait till rendering done or timeout
            test.wait(TIMEOUT);
        }

    }));

    YUITest.TestRunner.add(suite);

}, '0.0.1', {requires: [
    'mojito-test',

    //test rendering utility
    'mojito-markup-test'

    //parent mojit
    'CompositeMojit',

    //child mojit
    'ChildMojit'
]});
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Dart服务器端 mojito包

介绍 现代Web应用程序的微框架,从shelf框架开始构建 就像它的名字一样,Mojito主要是糖和其他成分的混合物。 Mojito故意在几个shelf包上非常薄,并专注于构建应用程序的整体体验。 Mojito的...

07/08 17:23
15
0
moell/mojito - 基于Laravel、Vue、ELement 构建的基础后台系统扩展

Mojito Mojito 是一个基于 Laravel, Vue, Element构建的后台管理系统。 截图 获取地址 https://github.com/moell-peng/mojito 欢迎使用和star 特征 可快速衍生多个后台系统 内置角色,权限,...

10/09 12:46
10
0
雅虎开源其JavaScript 框架Mojito

 雅虎近日开源了其JavaScript框架Mojito,该框架是雅虎于去年11月份推出的Cocktails(鸡尾酒)移动开发平台的一部分,允许开发者在连接的设备以及后端服务上部署HTML5应用程序。   根据官方...

2012/08/29 15:28
47
0
Build RESTful APIs with Spring MVC: Swagger

#Visualizes REST APIs with Swagger Swagger is widely used for visualizing APIs, and with Swagger UI it provides online sandbox for frontend developers. ## Visualizes REST APIs [...

2016/07/25 15:17
145
0
yahoo的fetchr干什么用?

yahoo的fetchr,https://github.com/yahoo/fetchr Fetchr augments applications by allowing the same syntax to be used on the server and client to fetch data. 让你用相同的代码在客户...

2014/11/19 19:51
138
0
jQuery 插件开发全解析

jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件...

2012/05/13 17:11
66
0
Query插件的开发

Query插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开...

2012/12/05 16:31
27
0
jQuery插件开发全解析

jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件...

2011/04/11 14:21
143
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部