mirror of
https://github.com/pulsar-edit/pulsar.git
synced 2024-09-21 16:08:24 +03:00
bc03810589
Setting the height of the parent caused #jasmine-content to be tall for the remainder of the specs
79 lines
2.1 KiB
CoffeeScript
79 lines
2.1 KiB
CoffeeScript
ImageView = require 'image-view'
|
|
ImageEditSession = require 'image-edit-session'
|
|
|
|
describe "ImageView", ->
|
|
[view, path] = []
|
|
|
|
beforeEach ->
|
|
path = project.resolve('binary-file.png')
|
|
view = new ImageView()
|
|
view.attachToDom()
|
|
view.height(100)
|
|
|
|
it "displays the image for a path", ->
|
|
view.setModel(new ImageEditSession(path))
|
|
expect(view.image.attr('src')).toBe path
|
|
|
|
it "centers the image in the editor", ->
|
|
imageLoaded = false
|
|
view.image.load =>
|
|
imageLoaded = true
|
|
view.setModel(new ImageEditSession(path))
|
|
|
|
waitsFor ->
|
|
imageLoaded
|
|
|
|
runs ->
|
|
expect(view.image.width()).toBe 10
|
|
expect(view.image.height()).toBe 10
|
|
expect(view.image.css('left')).toBe "#{(view.width() - view.image.outerWidth()) / 2}px"
|
|
expect(view.image.css('top')).toBe "#{(view.height() - view.image.outerHeight()) / 2}px"
|
|
|
|
describe "image-view:zoom-in", ->
|
|
it "increases the image size by 10%", ->
|
|
imageLoaded = false
|
|
view.image.load =>
|
|
imageLoaded = true
|
|
view.setModel(new ImageEditSession(path))
|
|
|
|
waitsFor ->
|
|
imageLoaded
|
|
|
|
runs ->
|
|
view.trigger 'image-view:zoom-in'
|
|
expect(view.image.width()).toBe 11
|
|
expect(view.image.height()).toBe 11
|
|
|
|
describe "image-view:zoom-out", ->
|
|
it "decreases the image size by 10%", ->
|
|
imageLoaded = false
|
|
view.image.load =>
|
|
imageLoaded = true
|
|
view.setModel(new ImageEditSession(path))
|
|
|
|
waitsFor ->
|
|
imageLoaded
|
|
|
|
runs ->
|
|
view.trigger 'image-view:zoom-out'
|
|
expect(view.image.width()).toBe 9
|
|
expect(view.image.height()).toBe 9
|
|
|
|
describe "image-view:reset-zoom", ->
|
|
it "restores the image to the original size", ->
|
|
imageLoaded = false
|
|
view.image.load =>
|
|
imageLoaded = true
|
|
view.setModel(new ImageEditSession(path))
|
|
|
|
waitsFor ->
|
|
imageLoaded
|
|
|
|
runs ->
|
|
view.trigger 'image-view:zoom-in'
|
|
expect(view.image.width()).not.toBe 10
|
|
expect(view.image.height()).not.toBe 10
|
|
view.trigger 'image-view:reset-zoom'
|
|
expect(view.image.width()).toBe 10
|
|
expect(view.image.height()).toBe 10
|