diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000..d3e222c --- /dev/null +++ b/.npmignore @@ -0,0 +1,2 @@ +test +node_modules diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..a000641 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 joe-re + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..29109ae --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# SpectronFakeMenu + +Provide manipulation of menus in your spectron's specs. + +## Installation + +``` +npm install --save-dev spectron-fake-menu +``` + +## Usage + +``` +const Application = require('spectron').Application; +const fakeMenu = require('spectron-fake-menu'); +const app = new Application({ path: electron, args: [ path.join(__dirname, '.') ] }); + +fakeMenu.apply(app); // apply fake menu +fakeMenu.clickMenu('Config'); // 'Config' Menu click +fakeMenu.clickMenu('File', 'CloseTab'); // File->CloseTab Menu click +``` + +## API + +### fakeMenu.apply(application: Application) + +initialize spectronFakeMenu + +### fakeMenu.clickMenu(...labels: string) + +Find memu by labels and click. +If the target is nested, it can be specified with variable length arguments. + +ex) File -> CloseTab: `fakeMenu.clickMenu('File', 'CloseTab');` + +## TODO +- [ ] provides check box API +- [ ] provides radio button API + +## License + +MIT diff --git a/package.json b/package.json index cd18638..875fbba 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,16 @@ "description": "", "main": "index.js", "scripts": { }, - "keywords": [], + + "repository": { + "type": "git", + "url": "git+https://github.com/joe-re/spectron-fake-menu.git" + }, + "keywords": [ + "spectron", + "menu", + "mock" + ], "author": "", "license": "MIT", "dependencies": { diff --git a/test/package.json b/test/package.json index 3b97d48..45364cb 100644 --- a/test/package.json +++ b/test/package.json @@ -1,7 +1,7 @@ { "name": "spectron-fake-menu", "version": "0.0.1", - "description": "", + "description": "Provide manipulation of menus in your spectron's specs.", "main": "main.js", "scripts": { "test": "mocha test.js"