소스 검색

options order should not matter

fix https://github.com/lesspass/lesspass/issues/146
pull/342/head
Guillaume Vincent 7 년 전
부모
커밋
4a36e64bcd
2개의 변경된 파일52개의 추가작업 그리고 2개의 파일을 삭제
  1. +7
    -2
      cli.js
  2. +45
    -0
      test.js

+ 7
- 2
cli.js 파일 보기

@@ -6,7 +6,7 @@ const LessPass = require('lesspass');
const read = require('read');
const chalk = require('chalk');

const cli = meow(`
const helpMessage = `
Usage
$ lesspass <site> <login> [masterPassword] [options]

@@ -39,7 +39,12 @@ const cli = meow(`
# only digits and length of 8
$ lesspass lesspass.com contact@lesspass.com -d -L8
master password:
75837019`, {alias: {L: 'length', c: 'counter', C: 'clipboard'}});
75837019`;

const cli = meow(helpMessage, {
alias: {L: 'length', c: 'counter', C: 'clipboard'},
boolean: ['l', 'u', 'd', 's', 'C', 'clipboard']
});


function calcPassword(site, login, masterPassword, passwordProfile) {


+ 45
- 0
test.js 파일 보기

@@ -6,6 +6,16 @@ test('default options', async t => {
t.is(stdout, '\\g-A1-.OHEwrXjT#');
});

test('options can be before parameters', async t => {
const {stdout} = await execa('./cli.js', ['-C', 'lesspass.com', 'contact@lesspass.com', 'password']);
t.is(stdout, 'Copied to clipboard');
});

test('long options can be before parameters', async t => {
const {stdout} = await execa('./cli.js', ['--clipboard', 'lesspass.com', 'contact@lesspass.com', 'password']);
t.is(stdout, 'Copied to clipboard');
});

test('length', async t => {
const {stdout} = await execa('./cli.js', ['lesspass.com', 'contact@lesspass.com', 'password', '--length=14']);
t.is(stdout, '=0\\A-.OHEKvwrX');
@@ -89,4 +99,39 @@ test('only symbols', async t => {
test('test space in password', async t => {
const {stdout} = await execa('./cli.js', ['lesspass.com', 'contact@lesspass.com', 'my Master Password']);
t.is(stdout, 'D1PBB34\\#fh!LY={');
});

test('doc 1', async t => {
const {stdout} = await execa('./cli.js', ['lesspass.com', 'contact@lesspass.com', 'password', '--no-symbols']);
t.is(stdout, 'OlfK63bmUhqrGODR');
});

test('doc 1 options before', async t => {
const {stdout} = await execa('./cli.js', ['--no-symbols', 'lesspass.com', 'contact@lesspass.com', 'password']);
t.is(stdout, 'OlfK63bmUhqrGODR');
});

test('doc 2', async t => {
const {stdout} = await execa('./cli.js', ['lesspass.com', 'contact@lesspass.com', 'password', '-lud']);
t.is(stdout, 'OlfK63bmUhqrGODR');
});

test('doc 2 options before', async t => {
const {stdout} = await execa('./cli.js', ['-lud', 'lesspass.com', 'contact@lesspass.com', 'password']);
t.is(stdout, 'OlfK63bmUhqrGODR');
});

test('doc 3', async t => {
const {stdout} = await execa('./cli.js', ['lesspass.com', 'contact@lesspass.com', 'password', '-d', '-L8']);
t.is(stdout, '75837019');
});

test('doc 3 options before', async t => {
const {stdout} = await execa('./cli.js', ['-d', '-L8', 'lesspass.com', 'contact@lesspass.com', 'password']);
t.is(stdout, '75837019');
});

test('doc 3 options before and after', async t => {
const {stdout} = await execa('./cli.js', ['-d', 'lesspass.com', 'contact@lesspass.com', 'password', '-L8']);
t.is(stdout, '75837019');
});

불러오는 중...
취소
저장