mirror of
https://github.com/atom/atom.git
synced 2026-01-22 13:28:01 -05:00
Add initial archive viewer spec
This commit is contained in:
BIN
spec/fixtures/nested.tar
vendored
Normal file
BIN
spec/fixtures/nested.tar
vendored
Normal file
Binary file not shown.
90
src/packages/archive-view/spec/archive-view-spec.coffee
Normal file
90
src/packages/archive-view/spec/archive-view-spec.coffee
Normal file
@@ -0,0 +1,90 @@
|
||||
RootView = require 'root-view'
|
||||
|
||||
describe "Archive viewer", ->
|
||||
beforeEach ->
|
||||
window.rootView = new RootView
|
||||
atom.activatePackage('archive-view', sync: true)
|
||||
|
||||
describe ".initialize()", ->
|
||||
it "displays the files and folders in the archive file", ->
|
||||
rootView.open('nested.tar')
|
||||
|
||||
archiveView = rootView.find('.archive-view')
|
||||
expect(rootView.find('.archive-view')).toExist()
|
||||
|
||||
waitsFor -> archiveView.find('.entry').length > 0
|
||||
|
||||
runs ->
|
||||
expect(archiveView.find('.directory').length).toBe 6
|
||||
expect(archiveView.find('.directory:eq(0)').text()).toBe 'd1'
|
||||
expect(archiveView.find('.directory:eq(1)').text()).toBe 'd2'
|
||||
expect(archiveView.find('.directory:eq(2)').text()).toBe 'd3'
|
||||
expect(archiveView.find('.directory:eq(3)').text()).toBe 'd4'
|
||||
expect(archiveView.find('.directory:eq(4)').text()).toBe 'da'
|
||||
expect(archiveView.find('.directory:eq(5)').text()).toBe 'db'
|
||||
|
||||
expect(archiveView.find('.file').length).toBe 3
|
||||
expect(archiveView.find('.file:eq(0)').text()).toBe 'f1.txt'
|
||||
expect(archiveView.find('.file:eq(1)').text()).toBe 'f2.txt'
|
||||
expect(archiveView.find('.file:eq(2)').text()).toBe 'fa.txt'
|
||||
|
||||
it "selects the first file", ->
|
||||
rootView.open('nested.tar')
|
||||
|
||||
archiveView = rootView.find('.archive-view')
|
||||
waitsFor -> archiveView.find('.entry').length > 0
|
||||
runs -> expect(archiveView.find('.selected').text()).toBe 'f1.txt'
|
||||
|
||||
describe "when core:move-up/core:move-down is triggered", ->
|
||||
it "selects the next/previous file", ->
|
||||
rootView.open('nested.tar')
|
||||
|
||||
archiveView = rootView.find('.archive-view')
|
||||
|
||||
waitsFor -> archiveView.find('.entry').length > 0
|
||||
|
||||
runs ->
|
||||
archiveView.find('.selected').trigger 'core:move-up'
|
||||
expect(archiveView.find('.selected').text()).toBe 'f1.txt'
|
||||
archiveView.find('.selected').trigger 'core:move-down'
|
||||
expect(archiveView.find('.selected').text()).toBe 'f2.txt'
|
||||
archiveView.find('.selected').trigger 'core:move-down'
|
||||
expect(archiveView.find('.selected').text()).toBe 'fa.txt'
|
||||
archiveView.find('.selected').trigger 'core:move-down'
|
||||
expect(archiveView.find('.selected').text()).toBe 'fa.txt'
|
||||
archiveView.find('.selected').trigger 'core:move-up'
|
||||
expect(archiveView.find('.selected').text()).toBe 'f2.txt'
|
||||
archiveView.find('.selected').trigger 'core:move-up'
|
||||
expect(archiveView.find('.selected').text()).toBe 'f1.txt'
|
||||
|
||||
describe "when a file is clicked", ->
|
||||
it "copies the contents to a temp file and opens it in a new editor", ->
|
||||
rootView.open('nested.tar')
|
||||
|
||||
archiveView = rootView.find('.archive-view')
|
||||
|
||||
waitsFor -> archiveView.find('.entry').length > 0
|
||||
|
||||
runs ->
|
||||
spyOn(rootView, 'open').andCallThrough()
|
||||
archiveView.find('.file:eq(2)').trigger 'click'
|
||||
waitsFor -> rootView.open.callCount is 1
|
||||
runs ->
|
||||
expect(rootView.getActiveView().getText()).toBe 'hey there\n'
|
||||
expect(rootView.getActivePaneItem().getTitle()).toBe 'fa.txt'
|
||||
|
||||
describe "when core:confirm is triggered", ->
|
||||
it "copies the contents to a temp file and opens it in a new editor", ->
|
||||
rootView.open('nested.tar')
|
||||
|
||||
archiveView = rootView.find('.archive-view')
|
||||
|
||||
waitsFor -> archiveView.find('.entry').length > 0
|
||||
|
||||
runs ->
|
||||
spyOn(rootView, 'open').andCallThrough()
|
||||
archiveView.find('.file:eq(0)').trigger 'core:confirm'
|
||||
waitsFor -> rootView.open.callCount is 1
|
||||
runs ->
|
||||
expect(rootView.getActiveView().getText()).toBe ''
|
||||
expect(rootView.getActivePaneItem().getTitle()).toBe 'f1.txt'
|
||||
Reference in New Issue
Block a user