A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/bootstrap-vue/bootstrap-vue/commit/2c8bd23 below:

add prop `no-wrap` for disabling wrapping to start/… · bootstrap-vue/bootstrap-vue@2c8bd23 · GitHub

@@ -14,6 +14,7 @@ const appDef = {

14 14

controls: false,

15 15

fade: false,

16 16

noAnimation: false,

17 +

noWrap: false,

17 18

value: 0

18 19

},

19 20

render(h) {

@@ -26,6 +27,7 @@ const appDef = {

26 27

controls: this.controls,

27 28

fade: this.fade,

28 29

noAnimation: this.noAnimation,

30 +

noWrap: this.noWrap,

29 31

value: this.value

30 32

}

31 33

},

@@ -995,4 +997,178 @@ describe('carousel', () => {

995 997 996 998

wrapper.destroy()

997 999

})

1000 + 1001 +

it('Next/Prev slide wraps to end/start when no-wrap is false', async () => {

1002 +

const wrapper = mount(localVue.extend(appDef), {

1003 +

localVue: localVue,

1004 +

attachToDocument: true,

1005 +

propsData: {

1006 +

interval: 0,

1007 +

fade: false,

1008 +

noAnimation: true,

1009 +

noWrap: false,

1010 +

indicators: true,

1011 +

controls: true,

1012 +

// Start at last slide

1013 +

value: 3

1014 +

}

1015 +

})

1016 + 1017 +

expect(wrapper.isVueInstance()).toBe(true)

1018 +

const $carousel = wrapper.find(BCarousel)

1019 +

expect($carousel).toBeDefined()

1020 +

expect($carousel.isVueInstance()).toBe(true)

1021 + 1022 +

await waitNT(wrapper.vm)

1023 +

await waitRAF()

1024 + 1025 +

const $indicators = $carousel.findAll('.carousel-indicators > li')

1026 +

expect($indicators.length).toBe(4)

1027 + 1028 +

expect($carousel.emitted('sliding-start')).not.toBeDefined()

1029 +

expect($carousel.emitted('sliding-end')).not.toBeDefined()

1030 +

expect($carousel.emitted('input')).not.toBeDefined()

1031 + 1032 +

expect($carousel.vm.index).toBe(3)

1033 +

expect($carousel.vm.isSliding).toBe(false)

1034 + 1035 +

// Transitions (or fallback timers) are not used when no-animation set

1036 +

// Call vm.next()

1037 +

$carousel.vm.next()

1038 +

await waitNT(wrapper.vm)

1039 + 1040 +

expect($carousel.emitted('sliding-start')).toBeDefined()

1041 +

expect($carousel.emitted('sliding-end')).toBeDefined()

1042 +

expect($carousel.emitted('sliding-start').length).toBe(1)

1043 +

expect($carousel.emitted('sliding-end').length).toBe(1)

1044 +

// Should have index of 0

1045 +

expect($carousel.emitted('sliding-start')[0][0]).toEqual(0)

1046 +

expect($carousel.emitted('sliding-end')[0][0]).toEqual(0)

1047 +

expect($carousel.emitted('input')).toBeDefined()

1048 +

expect($carousel.emitted('input').length).toBe(1)

1049 +

expect($carousel.emitted('input')[0][0]).toEqual(0)

1050 +

expect($carousel.vm.index).toBe(0)

1051 +

expect($carousel.vm.isSliding).toBe(false)

1052 + 1053 +

// Call vm.prev()

1054 +

$carousel.vm.prev()

1055 +

await waitNT(wrapper.vm)

1056 + 1057 +

expect($carousel.emitted('sliding-start').length).toBe(2)

1058 +

expect($carousel.emitted('sliding-end').length).toBe(2)

1059 +

// Should have index set to last slide

1060 +

expect($carousel.emitted('sliding-start')[1][0]).toEqual(3)

1061 +

expect($carousel.emitted('sliding-end')[1][0]).toEqual(3)

1062 +

expect($carousel.emitted('input').length).toBe(2)

1063 +

expect($carousel.emitted('input')[1][0]).toEqual(3)

1064 +

expect($carousel.vm.index).toBe(3)

1065 +

expect($carousel.vm.isSliding).toBe(false)

1066 + 1067 +

wrapper.destroy()

1068 +

})

1069 + 1070 +

it('Next/Prev slide does not wrap to end/start when no-wrap is true', async () => {

1071 +

const wrapper = mount(localVue.extend(appDef), {

1072 +

localVue: localVue,

1073 +

attachToDocument: true,

1074 +

propsData: {

1075 +

interval: 0,

1076 +

fade: false,

1077 +

// Transitions (or fallback timers) are not used when no-animation set

1078 +

noAnimation: true,

1079 +

noWrap: true,

1080 +

indicators: true,

1081 +

controls: true,

1082 +

// Start at last slide

1083 +

value: 3

1084 +

}

1085 +

})

1086 + 1087 +

expect(wrapper.isVueInstance()).toBe(true)

1088 +

const $carousel = wrapper.find(BCarousel)

1089 +

expect($carousel).toBeDefined()

1090 +

expect($carousel.isVueInstance()).toBe(true)

1091 + 1092 +

await waitNT(wrapper.vm)

1093 +

await waitRAF()

1094 + 1095 +

const $indicators = $carousel.findAll('.carousel-indicators > li')

1096 +

expect($indicators.length).toBe(4)

1097 + 1098 +

expect($carousel.emitted('sliding-start')).not.toBeDefined()

1099 +

expect($carousel.emitted('sliding-end')).not.toBeDefined()

1100 +

expect($carousel.emitted('input')).not.toBeDefined()

1101 + 1102 +

expect($carousel.vm.index).toBe(3)

1103 +

expect($carousel.vm.isSliding).toBe(false)

1104 + 1105 +

// Call vm.next()

1106 +

$carousel.vm.next()

1107 +

await waitNT(wrapper.vm)

1108 + 1109 +

// Should not slide to start

1110 +

expect($carousel.emitted('sliding-start')).not.toBeDefined()

1111 +

expect($carousel.emitted('sliding-end')).not.toBeDefined()

1112 +

// Should have index of 3 (no input event emitted since value set to 3)

1113 +

expect($carousel.emitted('input')).not.toBeDefined()

1114 +

expect($carousel.vm.index).toBe(3)

1115 +

expect($carousel.vm.isSliding).toBe(false)

1116 + 1117 +

// Call vm.prev()

1118 +

$carousel.vm.prev()

1119 +

await waitNT(wrapper.vm)

1120 + 1121 +

expect($carousel.emitted('sliding-start').length).toBe(1)

1122 +

expect($carousel.emitted('sliding-end').length).toBe(1)

1123 +

// Should have index set to 2

1124 +

expect($carousel.emitted('sliding-start')[0][0]).toEqual(2)

1125 +

expect($carousel.emitted('sliding-end')[0][0]).toEqual(2)

1126 +

expect($carousel.emitted('input')).toBeDefined()

1127 +

expect($carousel.emitted('input').length).toBe(1)

1128 +

expect($carousel.emitted('input')[0][0]).toEqual(2)

1129 +

expect($carousel.vm.index).toBe(2)

1130 +

expect($carousel.vm.isSliding).toBe(false)

1131 + 1132 +

// Call vm.prev()

1133 +

$carousel.vm.prev()

1134 +

await waitNT(wrapper.vm)

1135 + 1136 +

expect($carousel.emitted('sliding-start').length).toBe(2)

1137 +

expect($carousel.emitted('sliding-end').length).toBe(2)

1138 +

// Should have index set to 1

1139 +

expect($carousel.emitted('sliding-start')[1][0]).toEqual(1)

1140 +

expect($carousel.emitted('sliding-end')[1][0]).toEqual(1)

1141 +

expect($carousel.emitted('input').length).toBe(2)

1142 +

expect($carousel.emitted('input')[1][0]).toEqual(1)

1143 +

expect($carousel.vm.index).toBe(1)

1144 +

expect($carousel.vm.isSliding).toBe(false)

1145 + 1146 +

// Call vm.prev()

1147 +

$carousel.vm.prev()

1148 +

await waitNT(wrapper.vm)

1149 + 1150 +

expect($carousel.emitted('sliding-start').length).toBe(3)

1151 +

expect($carousel.emitted('sliding-end').length).toBe(3)

1152 +

// Should have index set to 0

1153 +

expect($carousel.emitted('sliding-start')[2][0]).toEqual(0)

1154 +

expect($carousel.emitted('sliding-end')[2][0]).toEqual(0)

1155 +

expect($carousel.emitted('input').length).toBe(3)

1156 +

expect($carousel.emitted('input')[2][0]).toEqual(0)

1157 +

expect($carousel.vm.index).toBe(0)

1158 +

expect($carousel.vm.isSliding).toBe(false)

1159 + 1160 +

// Call vm.prev() (should not wrap)

1161 +

$carousel.vm.prev()

1162 +

await waitNT(wrapper.vm)

1163 + 1164 +

expect($carousel.emitted('sliding-start').length).toBe(3)

1165 +

expect($carousel.emitted('sliding-end').length).toBe(3)

1166 +

// Should have index still set to 0, and emit input to update v-model

1167 +

expect($carousel.emitted('input').length).toBe(4)

1168 +

expect($carousel.emitted('input')[3][0]).toEqual(0)

1169 +

expect($carousel.vm.index).toBe(0)

1170 +

expect($carousel.vm.isSliding).toBe(false)

1171 + 1172 +

wrapper.destroy()

1173 +

})

998 1174

})


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4