feat!: rework `collect-unknown-options` into `unknown-options-as-args… · yargs/yargs-parser@ef771ca
@@ -2690,12 +2690,12 @@ describe('yargs-parser', function () {
26902690})
26912691})
269226922693-describe('collect-unknown-options = true', function () {
2693+describe('unknown-options-as-args = true', function () {
26942694it('should ignore unknown options in long format separated by =', function () {
26952695const argv = parser('--known-arg=1 --unknown-arg=2', {
26962696number: ['known-arg'],
26972697configuration: {
2698-'collect-unknown-options': true
2698+'unknown-options-as-args': true
26992699}
27002700})
27012701argv.should.deep.equal({
@@ -2708,7 +2708,7 @@ describe('yargs-parser', function () {
27082708const argv = parser('--no-known-arg --no-unknown-arg', {
27092709boolean: ['known-arg'],
27102710configuration: {
2711-'collect-unknown-options': true
2711+'unknown-options-as-args': true
27122712}
27132713})
27142714argv.should.deep.equal({
@@ -2721,7 +2721,7 @@ describe('yargs-parser', function () {
27212721const argv = parser('--known-arg a --unknown-arg b', {
27222722string: ['known-arg'],
27232723configuration: {
2724-'collect-unknown-options': true
2724+'unknown-options-as-args': true
27252725}
27262726})
27272727argv.should.deep.equal({
@@ -2734,7 +2734,7 @@ describe('yargs-parser', function () {
27342734const argv = parser('-k.arg=a -u.arg=b', {
27352735string: ['k.arg'],
27362736configuration: {
2737-'collect-unknown-options': true
2737+'unknown-options-as-args': true
27382738}
27392739})
27402740argv.should.deep.equal({
@@ -2748,7 +2748,7 @@ describe('yargs-parser', function () {
27482748const argv = parser('-k.arg 1 -u.arg 2', {
27492749number: ['k.arg'],
27502750configuration: {
2751-'collect-unknown-options': true
2751+'unknown-options-as-args': true
27522752}
27532753})
27542754argv.should.deep.equal({
@@ -2762,7 +2762,7 @@ describe('yargs-parser', function () {
27622762const argv = parser('-k=a -u=b', {
27632763string: ['k'],
27642764configuration: {
2765-'collect-unknown-options': true
2765+'unknown-options-as-args': true
27662766}
27672767})
27682768argv.should.deep.equal({
@@ -2774,7 +2774,7 @@ describe('yargs-parser', function () {
27742774const argv = parser('-k- -u-', {
27752775string: ['k'],
27762776configuration: {
2777-'collect-unknown-options': true
2777+'unknown-options-as-args': true
27782778}
27792779})
27802780argv.should.deep.equal({
@@ -2786,19 +2786,59 @@ describe('yargs-parser', function () {
27862786const argv = parser('-k 1 -u 2', {
27872787number: ['k'],
27882788configuration: {
2789-'collect-unknown-options': true
2789+'unknown-options-as-args': true
27902790}
27912791})
27922792argv.should.deep.equal({
27932793_: ['-u', '2'],
27942794'k': 1
27952795})
27962796})
2797+it('should allow an unknown arg to be used as the value of another flag in short form', function () {
2798+const argv = parser('-k -u', {
2799+string: ['k'],
2800+narg: { 'k': 1 },
2801+configuration: {
2802+'unknown-options-as-args': true
2803+}
2804+})
2805+argv.should.deep.equal({
2806+_: [],
2807+'k': '-u'
2808+})
2809+})
2810+it('should allow an unknown arg to be used as the value of another flag in long form', function () {
2811+const argv = parser('--known-arg --unknown-arg', {
2812+string: ['known-arg'],
2813+narg: { 'known-arg': 1 },
2814+configuration: {
2815+'unknown-options-as-args': true
2816+}
2817+})
2818+argv.should.deep.equal({
2819+_: [],
2820+'knownArg': '--unknown-arg',
2821+'known-arg': '--unknown-arg'
2822+})
2823+})
2824+it('should allow an unknown arg to be used as the value of another flag in array form', function () {
2825+const argv = parser('--known-arg --unknown-arg1 --unknown-arg2', {
2826+array: ['known-arg'],
2827+configuration: {
2828+'unknown-options-as-args': true
2829+}
2830+})
2831+argv.should.deep.equal({
2832+_: [],
2833+'knownArg': ['--unknown-arg1', '--unknown-arg2'],
2834+'known-arg': ['--unknown-arg1', '--unknown-arg2']
2835+})
2836+})
27972837it('should ignore unknown options in short format followed by a number', function () {
27982838const argv = parser('-k1 -u2', {
27992839number: ['k'],
28002840configuration: {
2801-'collect-unknown-options': true
2841+'unknown-options-as-args': true
28022842}
28032843})
28042844argv.should.deep.equal({
@@ -2810,7 +2850,7 @@ describe('yargs-parser', function () {
28102850const argv = parser('-k/1/ -u/2/', {
28112851string: ['k'],
28122852configuration: {
2813-'collect-unknown-options': true
2853+'unknown-options-as-args': true
28142854}
28152855})
28162856argv.should.deep.equal({
@@ -2822,7 +2862,7 @@ describe('yargs-parser', function () {
28222862const argv = parser('-kuv', {
28232863boolean: ['k', 'v'],
28242864configuration: {
2825-'collect-unknown-options': true
2865+'unknown-options-as-args': true
28262866}
28272867})
28282868argv.should.deep.equal({
@@ -2833,7 +2873,7 @@ describe('yargs-parser', function () {
28332873const argv = parser('-kv', {
28342874boolean: ['k', 'v'],
28352875configuration: {
2836-'collect-unknown-options': true
2876+'unknown-options-as-args': true
28372877}
28382878})
28392879argv.should.deep.equal({
@@ -2846,7 +2886,7 @@ describe('yargs-parser', function () {
28462886const argv = parser('-k -33', {
28472887boolean: ['k'],
28482888configuration: {
2849-'collect-unknown-options': true
2889+'unknown-options-as-args': true
28502890}
28512891})
28522892argv.should.deep.equal({