| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import Vue from 'vue'
- describe('Directive v-text', () => {
- it('should render text', () => {
- const vm = new Vue({
- template: '<div v-text="a"></div>',
- data: { a: 'hello' }
- }).$mount()
- expect(vm.$el.innerHTML).toBe('hello')
- })
- it('should encode html entities', () => {
- const vm = new Vue({
- template: '<div v-text="a"></div>',
- data: { a: '<foo>' }
- }).$mount()
- expect(vm.$el.innerHTML).toBe('<foo>')
- })
- it('should support all value types', done => {
- const vm = new Vue({
- template: '<div v-text="a"></div>',
- data: { a: false }
- }).$mount()
- waitForUpdate(() => {
- expect(vm.$el.innerHTML).toBe('false')
- vm.a = []
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('[]')
- vm.a = {}
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('{}')
- vm.a = {
- toString() {
- return 'foo'
- }
- }
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('foo')
- vm.a = {
- toJSON() {
- return { foo: 'bar' }
- }
- }
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('{\n "foo": "bar"\n}')
- vm.a = 123
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('123')
- vm.a = 0
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('0')
- vm.a = ' '
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe(' ')
- vm.a = ' '
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe(' ')
- vm.a = null
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('')
- vm.a = undefined
- })
- .then(() => {
- expect(vm.$el.innerHTML).toBe('')
- })
- .then(done)
- })
- })
|