From 94a8d16664d8a5138b4865cf037887fa472521ba Mon Sep 17 00:00:00 2001 From: probablycorey Date: Thu, 14 Nov 2013 16:05:17 -0800 Subject: [PATCH] Update specs --- spec/atom-spec.coffee | 24 +++++++++++----------- spec/keymap-spec.coffee | 45 +++++++++++------------------------------ 2 files changed, 24 insertions(+), 45 deletions(-) diff --git a/spec/atom-spec.coffee b/spec/atom-spec.coffee index e00bb024a..8ecd9123c 100644 --- a/spec/atom-spec.coffee +++ b/spec/atom-spec.coffee @@ -137,28 +137,28 @@ describe "the `atom` global", -> element2 = $$ -> @div class: 'test-2' element3 = $$ -> @div class: 'test-3' - expect(atom.keymap.bindingsForElement(element1)['ctrl-z']).toBeUndefined() - expect(atom.keymap.bindingsForElement(element2)['ctrl-z']).toBeUndefined() - expect(atom.keymap.bindingsForElement(element3)['ctrl-z']).toBeUndefined() + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element1)).toHaveLength 0 + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element2)).toHaveLength 0 + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element3)).toHaveLength 0 atom.activatePackage("package-with-keymaps") - expect(atom.keymap.bindingsForElement(element1)['ctrl-z']).toBe "test-1" - expect(atom.keymap.bindingsForElement(element2)['ctrl-z']).toBe "test-2" - expect(atom.keymap.bindingsForElement(element3)['ctrl-z']).toBeUndefined() + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element1)[0].command).toBe "test-1" + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element2)[0].command).toBe "test-2" + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element3)).toHaveLength 0 describe "when the metadata contains a 'keymaps' manifest", -> it "loads only the keymaps specified by the manifest, in the specified order", -> element1 = $$ -> @div class: 'test-1' element3 = $$ -> @div class: 'test-3' - expect(atom.keymap.bindingsForElement(element1)['ctrl-z']).toBeUndefined() + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element1)).toHaveLength 0 atom.activatePackage("package-with-keymaps-manifest") - expect(atom.keymap.bindingsForElement(element1)['ctrl-z']).toBe 'keymap-1' - expect(atom.keymap.bindingsForElement(element1)['ctrl-n']).toBe 'keymap-2' - expect(atom.keymap.bindingsForElement(element3)['ctrl-y']).toBeUndefined() + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', element1)[0].command).toBe 'keymap-1' + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-n', element1)[0].command).toBe 'keymap-2' + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-y', element3)).toHaveLength 0 describe "menu loading", -> beforeEach -> @@ -317,8 +317,8 @@ describe "the `atom` global", -> it "removes the package's keymaps", -> atom.activatePackage('package-with-keymaps') atom.deactivatePackage('package-with-keymaps') - expect(atom.keymap.bindingsForElement($$ -> @div class: 'test-1')['ctrl-z']).toBeUndefined() - expect(atom.keymap.bindingsForElement($$ -> @div class: 'test-2')['ctrl-z']).toBeUndefined() + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', $$ -> @div class: 'test-1')).toHaveLength 0 + expect(atom.keymap.mappingsForKeystrokeMatchingElement('ctrl-z', $$ -> @div class: 'test-2')).toHaveLength 0 it "removes the package's stylesheets", -> atom.activatePackage('package-with-stylesheets') diff --git a/spec/keymap-spec.coffee b/spec/keymap-spec.coffee index b942547ff..7d4d5ad06 100644 --- a/spec/keymap-spec.coffee +++ b/spec/keymap-spec.coffee @@ -270,13 +270,13 @@ describe "Keymap", -> '.brown': 'ctrl-h': 'harvest' - expect(keymap.bindingsForElement($$ -> @div class: 'green')).toEqual { 'ctrl-c': 'cultivate' } - expect(keymap.bindingsForElement($$ -> @div class: 'brown')).toEqual { 'ctrl-h': 'harvest' } + expect(keymap.mappingsMatchingElement($$ -> @div class: 'green')).toHaveLength 1 + expect(keymap.mappingsMatchingElement($$ -> @div class: 'brown')).toHaveLength 1 keymap.remove('nature') - expect(keymap.bindingsForElement($$ -> @div class: 'green')).toEqual {} - expect(keymap.bindingsForElement($$ -> @div class: 'brown')).toEqual {} + expect(keymap.mappingsMatchingElement($$ -> @div class: 'green')).toEqual [] + expect(keymap.mappingsMatchingElement($$ -> @div class: 'brown')).toEqual [] expect(keymap.bindingSetsByFirstKeystroke['ctrl-c']).toEqual [] expect(keymap.bindingSetsByFirstKeystroke['ctrl-h']).toEqual [] @@ -303,15 +303,15 @@ describe "Keymap", -> expect(keymap.keystrokeStringForEvent(keydownEvent('left', shiftKey: true))).toBe 'shift-left' expect(keymap.keystrokeStringForEvent(keydownEvent('Left', shiftKey: true))).toBe 'shift-left' - describe ".bindingsForElement(element)", -> + describe ".mappingsMatchingElement(element)", -> it "returns the matching bindings for the element", -> keymap.bindKeys '.command-mode', 'c': 'c' keymap.bindKeys '.grandchild-node', 'g': 'g' - bindings = keymap.bindingsForElement(fragment.find('.grandchild-node')) - expect(Object.keys(bindings).length).toBe 2 - expect(bindings['c']).toEqual "c" - expect(bindings['g']).toEqual "g" + mappings = keymap.mappingsMatchingElement(fragment.find('.grandchild-node')) + expect(mappings).toHaveLength 2 + expect(mappings[0].command).toEqual "g" + expect(mappings[1].command).toEqual "c" describe "when multiple bindings match a keystroke", -> it "only returns bindings that match the most specific selector", -> @@ -319,27 +319,6 @@ describe "Keymap", -> keymap.bindKeys '.command-mode .grandchild-node', 'g': 'command-and-grandchild-node' keymap.bindKeys '.grandchild-node', 'g': 'grandchild-node' - bindings = keymap.bindingsForElement(fragment.find('.grandchild-node')) - expect(Object.keys(bindings).length).toBe 1 - expect(bindings['g']).toEqual "command-and-grandchild-node" - - describe ".determineSource", -> - describe "for a package", -> - it "returns ''", -> - expect(keymap.determineSource(path.join('~', '.atom', 'packages', 'dummy', 'keymaps', 'a.cson'))).toEqual 'dummy' - - describe "for a linked package", -> - it "returns ''", -> - expect(keymap.determineSource(path.join('Users', 'john', 'github', 'dummy', 'keymaps', 'a.cson'))).toEqual 'dummy' - - describe "for a user defined keymap", -> - it "returns 'User'", -> - expect(keymap.determineSource(path.join('~', '.atom', 'keymaps', 'a.cson'))).toEqual 'User' - - describe "for a core keymap", -> - it "returns 'Core'", -> - expect(keymap.determineSource(path.join('Applications', 'Atom.app', '..', 'node_modules', 'dummy', 'keymaps', 'a.cson'))).toEqual 'Core' - - describe "for a linked core keymap", -> - it "returns 'Core'", -> - expect(keymap.determineSource(path.join('Users', 'john', 'github', 'atom', 'keymaps', 'a.cson'))).toEqual 'Core' + mappings = keymap.mappingsMatchingElement(fragment.find('.grandchild-node')) + expect(mappings).toHaveLength 3 + expect(mappings[0].command).toEqual "command-and-grandchild-node"