pulsar/spec/app/cursor-spec.coffee

45 lines
1.2 KiB
CoffeeScript
Raw Normal View History

Buffer = require 'buffer'
Editor = require 'editor'
$ = require 'jquery'
_ = require 'underscore'
fs = require 'fs'
describe "Cursor", ->
2012-01-28 05:33:02 +04:00
[buffer, editor, cursor] = []
beforeEach ->
buffer = new Buffer(require.resolve('fixtures/sample.js'))
editor = new Editor
editor.enableKeymap()
editor.setBuffer(buffer)
cursor = editor.getCursors()[0]
2012-01-28 05:33:02 +04:00
describe "adding and removing of the idle class", ->
it "removes the idle class while moving, then adds it back when it stops", ->
advanceClock(200)
2012-01-28 05:33:02 +04:00
expect(cursor).toHaveClass 'idle'
cursor.setScreenPosition([1, 2])
2012-01-28 05:33:02 +04:00
expect(cursor).not.toHaveClass 'idle'
window.advanceClock(200)
expect(cursor).toHaveClass 'idle'
cursor.setScreenPosition([1, 3])
2012-01-28 05:33:02 +04:00
advanceClock(100)
cursor.setScreenPosition([1, 4])
2012-01-28 05:33:02 +04:00
advanceClock(100)
expect(cursor).not.toHaveClass 'idle'
advanceClock(100)
expect(cursor).toHaveClass 'idle'
2012-02-07 00:01:52 +04:00
describe ".isOnEOL()", ->
it "only returns true when cursor is on the end of a line", ->
cursor.setScreenPosition([1,29])
2012-02-07 00:01:52 +04:00
expect(cursor.isOnEOL()).toBeFalsy()
cursor.setScreenPosition([1,30])
expect(cursor.isOnEOL()).toBeTruthy()