Browse Source

Merge branch 'v2' of https://github.com/jdf2e/nutui into v2

Frans 7 years ago
parent
commit
1ce364e905

+ 16 - 8
scripts/mdToVue.js

@@ -5,9 +5,6 @@ let package =require("../package.json") ;
 if (!marked) {
 if (!marked) {
     console.log('you need npm i marked -D!');
     console.log('you need npm i marked -D!');
 }
 }
-
-
-//let commomOption = null;
 //插入 默认的 script 标签
 //插入 默认的 script 标签
 let jsroot = `<script>export default {
 let jsroot = `<script>export default {
     data(){
     data(){
@@ -73,7 +70,10 @@ let jsroot = `<script>export default {
   }
   }
 }
 }
 </script>`;
 </script>`;
-//插入
+/**
+ * 
+ * @param {text} sorce 替换 头部信息 
+ */
 function insert(sorce) {
 function insert(sorce) {
     var insert = sorce.indexOf('</h1>');
     var insert = sorce.indexOf('</h1>');
     
     
@@ -85,6 +85,12 @@ function insert(sorce) {
 
 
 }
 }
 ///创建一个空文件
 ///创建一个空文件
+/**
+ * 
+ * @param {string} output  输出路径
+ * @param {string} sorce  文件源
+ * @param {boole} ishasCode  是否需要二维码 
+ */
 function createdFile(output, sorce,ishasCode) {
 function createdFile(output, sorce,ishasCode) {
     var pathSrc = output;
     var pathSrc = output;
     sorce = sorce.replace(/@latest/g,'@'+package.version)
     sorce = sorce.replace(/@latest/g,'@'+package.version)
@@ -108,6 +114,12 @@ function createdFile(output, sorce,ishasCode) {
        
        
     })
     })
 }
 }
+/**
+ * 
+ * @param {string} filePath  监听路径
+ * @param {*} outPath 输出路径
+ * @param {*} nohead 是否有头文件
+ */
 function fileDisplay(filePath,outPath,nohead) {
 function fileDisplay(filePath,outPath,nohead) {
     var rendererMd = new marked.Renderer();
     var rendererMd = new marked.Renderer();
     marked.setOptions({
     marked.setOptions({
@@ -183,8 +195,4 @@ function MdToHtml(commomOption) {
     fileDisplay(commomOption.entry,commomOption.output,commomOption.nohead);
     fileDisplay(commomOption.entry,commomOption.output,commomOption.nohead);
 }
 }
 
 
-MdToHtml.prototype.apply = function (compiler) {
-    //  console.log(compiler,'lls')
-};
-
 module.exports = MdToHtml;
 module.exports = MdToHtml;

+ 50 - 4
src/packages/calendar/__test__/calendar.spec.js

@@ -6,7 +6,7 @@ import Vue from 'vue';
 describe('Calendar.vue', () => {
 describe('Calendar.vue', () => {
     const wrapper = shallowMount(Calendar, {
     const wrapper = shallowMount(Calendar, {
         propsData: { 
         propsData: { 
-            defaultValue: '2019-02-22'
+            defaultValue: '2020-01-12'
         }
         }
     });
     });
 
 
@@ -17,11 +17,57 @@ describe('Calendar.vue', () => {
         })
         })
     });
     });
 
 
-    it('设置默认时间', () => {
+    it('设置默认日期', () => {
         return Vue.nextTick().then(function () {
         return Vue.nextTick().then(function () {
-            expect(wrapper.findAll('.nut-calendar-month-title').at(0).text()).toBe('2019年02月');
-            expect(wrapper.findAll('.nut-calendar-month-item').at(0).find('.nut-calendar-month-day-active').text()).toBe('22');
+            expect(wrapper.findAll('.nut-calendar-month-title').at(0).text()).toBe('2020年01月');
+            expect(wrapper.findAll('.nut-calendar-month-item').at(0).find('.nut-calendar-month-day-active').text()).toBe('12');
         })
         })
     });
     });
 
 
+    it('选择日期', () => {
+        wrapper.findAll('.nut-calendar-month-item').at(0).findAll('.nut-calendar-month-day').at(10).trigger('click');
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-calendar-month-item').at(0).findAll('.nut-calendar-month-day-active').at(0).text()).toBe('8');
+
+        })
+    });
 });
 });
+describe('Calendar.vue', () => {
+    const wrapper = shallowMount(Calendar, {
+        propsData: { 
+            type: 'range',
+            defaultValue: ['2020-02-22', '2020-02-25'],
+            startDate: '2020-02-01',
+            endDate:'2020-04-11'
+        }
+    });
+
+    it('区间选择', () => {
+        wrapper.setProps({isVisible: true });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-calendar-month-day-active').length).toBe(2);
+        })
+    });
+    it('设置开始结束日期', () => {
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-calendar-month-item').length).toBe(3);
+        })
+    });
+    it('设置默认日期', () => {
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-calendar-month-title').at(0).text()).toBe('2020年02月');
+            expect(wrapper.findAll('.nut-calendar-month-item').at(0).findAll('.nut-calendar-month-day-active').at(0).text()).toBe('22 开始');
+            expect(wrapper.findAll('.nut-calendar-month-item').at(0).findAll('.nut-calendar-month-day-active').at(1).text()).toBe('25 结束');
+        })
+    });
+    
+    it('选择日期', () => {
+        wrapper.findAll('.nut-calendar-month-item').at(1).findAll('.nut-calendar-month-day').at(14).trigger('click');
+        wrapper.findAll('.nut-calendar-month-item').at(1).findAll('.nut-calendar-month-day').at(16).trigger('click');
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-calendar-month-item').at(1).findAll('.nut-calendar-month-day-active').at(0).text()).toBe('8 开始');
+            expect(wrapper.findAll('.nut-calendar-month-item').at(1).findAll('.nut-calendar-month-day-active').at(1).text()).toBe('10 结束');
+        })
+    });
+   
+});

+ 56 - 45
src/packages/datepicker/__test__/datapicker.spec.js

@@ -4,58 +4,69 @@ import Vue from 'vue';
 
 
 
 
 describe('DatePicker.vue', () => {
 describe('DatePicker.vue', () => {
-    const wrapper = mount(DatePicker, {
-        propsData: { startDate: '1991-11-10', endDate:'2019-10-05'}
-    });
-
     it('日期', () => {
     it('日期', () => {
+        const wrapper = mount(DatePicker, {
+            propsData: { 
+                type: 'date' 
+            }
+        });
         wrapper.setProps({type: 'date' });
         wrapper.setProps({type: 'date' });
         return Vue.nextTick().then(function () {
         return Vue.nextTick().then(function () {
             expect(wrapper.findAll('.nut-picker-list').length).toBe(3)
             expect(wrapper.findAll('.nut-picker-list').length).toBe(3)
         })
         })
     });
     });
 
 
-    // it('日期时间', () => {
-    //     wrapper.setProps({type: 'datetime'});
-    //     return Vue.nextTick().then(function () {
-    //         expect(wrapper.findAll('.nut-picker-list').length).toBe(5)
-    //     })
-    // });
-
-    // it('时间', () => {
-    //     wrapper.setProps({type: 'time'});
-    //     return Vue.nextTick().then(function () {
-    //         expect(wrapper.findAll('.nut-picker-list').length).toBe(2)
-    //     })
-    // });
-
-    // it('12小时制', () => {
-    //     wrapper.setProps({type: 'time', isUse12Hours: true});
-    //     return Vue.nextTick().then(function () {
-    //         expect(wrapper.findAll('.nut-picker-list').length).toBe(3)
-    //     })
-    // });
-
-    // it('未调用PickerSlot', () => {
-    //     wrapper.setProps({
-    //         type: 'date'
-    //     });
-    //     return Vue.nextTick().then(function () {
-    //         expect(wrapper.find('.nut-picker-panel').html()).toBe(false)
-    //     })
-    // });
+    it('日期时间', () => {
+        const wrapper = mount(DatePicker, {
+            propsData: { 
+                type: 'datetime' 
+            }
+        });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-picker-list').length).toBe(5)
+        })
+    });
 
 
-    // it('自定义class', () => {
-    //     wrapper.setProps({customClassName: 'nut-picker-test' });
-    //     return Vue.nextTick().then(function () {
-    //         expect(wrapper.find('.nut-picker').contains('.nut-picker-test')).toBe(true);
-    //     })
-    // });
+    it('时间', () => {
+        const wrapper = mount(DatePicker, {
+            propsData: { 
+                type: 'time',
+                minuteStep: 15,
+                startHour: 10,
+                endHour: 16
+            }
+        });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-picker-list').length).toBe(2)
+            expect(wrapper.findAll('.nut-picker-list').at(1).findAll('.nut-picker-item').at(1).text()).toBe('15分')
+            expect(wrapper.findAll('.nut-picker-list').at(0).findAll('.nut-picker-item').at(1).text()).toBe('11时')
+            expect(wrapper.findAll('.nut-picker-list').at(0).findAll('.nut-picker-item').length).toBe(7)
+        })
+    });
 
 
-    // it('标题', () => {
-    //     wrapper.setProps({title: '选择年月'});
-    //     return Vue.nextTick().then(function () {
-    //         expect(wrapper.find('.nut-picker-title').text()).toBe('选择年月');
-    //     })
-    // });
+    it('12小时制', () => {
+        const wrapper = mount(DatePicker, {
+            propsData: { 
+                type: 'time',
+                isUse12Hours: true,
+                isAm: false
+            }
+        });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.findAll('.nut-picker-list').length).toBe(3)
+            expect(wrapper.findAll('.nut-picker-list').at(0).findAll('.nut-picker-item').at(0).text()).toBe('12时')
+            expect(wrapper.findAll('.nut-picker-list-panel').at(2).attributes('style')).toBe('-webkit-transform: translateY(-36px);');
+        })
+    });
+    
+    it('标题', () => {
+        const wrapper = mount(DatePicker, {
+            propsData: { 
+                title: '选择年月'
+            }
+        });
+        return Vue.nextTick().then(function () {
+            expect(wrapper.find('.nut-picker-title').text()).toBe('选择年月');
+        })
+    });
 });
 });