-
-
Notifications
You must be signed in to change notification settings - Fork 143
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix
package-keymap-view
compatibility check
This PR also makes this compatibility check testable, and even expandable, by being able to provide a new platform if preferred.
- Loading branch information
1 parent
ae3d51f
commit bcb9a2d
Showing
2 changed files
with
44 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
|
||
const PackageKeymapView = require("../lib/package-keymap-view.js"); | ||
let view; | ||
|
||
describe("PackageKeymapView", () => { | ||
|
||
beforeEach(() => { | ||
// Just prevent this stuff from calling through, it doesn't matter for this test | ||
spyOn(atom.packages, "getLoadedPackage").andReturn({ keymaps: [] }); | ||
|
||
view = new PackageKeymapView({ | ||
name: "test-package" | ||
}); | ||
}); | ||
|
||
it("should say a selector with no platform listed is compatible with the current one", () => { | ||
expect(view.selectorIsNotCompatibleWithPlatform("atom-text-editor", "win32")).toBe(false); | ||
}); | ||
|
||
it("should say a selector with a platform other than the current is not compatible", () => { | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-darwin", "linux")).toBe(true); | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-win32", "darwin")).toBe(true); | ||
}); | ||
|
||
it("should say a selector with the current platform listed is compatible", () => { | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-linux", "linux")).toBe(false); | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-win32", "win32")).toBe(false); | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-darwin", "darwin")).toBe(false); | ||
}); | ||
|
||
it("should say a selector with the current platform and others listed is compatible", () => { | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-linux, .platform-win32", "win32")).toBe(false); | ||
expect(view.selectorIsNotCompatibleWithPlatform(".platform-linux, .platform-win32", "linux")).toBe(false); | ||
}); | ||
}); |