mirror of
				https://github.com/bigskysoftware/htmx.git
				synced 2025-11-04 07:24:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
describe('Core htmx extension tests', function() {
 | 
						|
  beforeEach(function() {
 | 
						|
    this.server = makeServer()
 | 
						|
    clearWorkArea()
 | 
						|
  })
 | 
						|
  afterEach(function() {
 | 
						|
    this.server.restore()
 | 
						|
    clearWorkArea()
 | 
						|
  })
 | 
						|
 | 
						|
  it('should support event cancellation by returning false', function() {
 | 
						|
    htmx.defineExtension('ext-prevent-request', {
 | 
						|
      onEvent: function(name, evt) {
 | 
						|
        if (name === 'htmx:beforeRequest') {
 | 
						|
          return false
 | 
						|
        }
 | 
						|
      }
 | 
						|
    })
 | 
						|
 | 
						|
    this.server.respondWith('GET', '/test', 'clicked!')
 | 
						|
    var div = make('<div hx-get="/test" hx-ext="ext-prevent-request">Click Me!</div>')
 | 
						|
    div.click()
 | 
						|
    this.server.respond()
 | 
						|
    div.innerHTML.should.equal('Click Me!')
 | 
						|
  })
 | 
						|
 | 
						|
  it('should support event cancellation with preventDefault', function() {
 | 
						|
    htmx.defineExtension('ext-prevent-request', {
 | 
						|
      onEvent: function(name, evt) {
 | 
						|
        if (name === 'htmx:beforeRequest') {
 | 
						|
          evt.preventDefault()
 | 
						|
        }
 | 
						|
      }
 | 
						|
    })
 | 
						|
 | 
						|
    this.server.respondWith('GET', '/test', 'clicked!')
 | 
						|
    var div = make('<div hx-get="/test" hx-ext="ext-prevent-request">Click Me!</div>')
 | 
						|
    div.click()
 | 
						|
    this.server.respond()
 | 
						|
    div.innerHTML.should.equal('Click Me!')
 | 
						|
  })
 | 
						|
})
 |