text: /*global describe, it, beforeEach*/
  
  
  'use strict';
  
  var assert = require('assert');
  
  var ArgumentParser = require('../lib/argparse').ArgumentParser;
  
  describe('parents', function () {
    var parent_parser;
    var args;
  
    beforeEach(function () {
      parent_parser = new ArgumentParser({ debug: true, addHelp: false });
      parent_parser.addArgument([ '--parent' ]);
    });
  
    it('should parse args from parents parser', function () {
      var parser = new ArgumentParser({
        parents: [ parent_parser ]
      });
      parser.addArgument([ '-f', '--foo' ]);
  
      args = parser.parseArgs('-f 1 --parent 2'.split(' '));
      assert.equal(args.foo, 1);
      assert.equal(args.parent, 2);
  
      args = parser.parseArgs('-f 1'.split(' '));
      assert.equal(args.foo, 1);
      assert.strictEqual(args.parent, null);
    });
  
    it('should throw error if has same args as parent', function () {
      var parser = new ArgumentParser({
        parents: [ parent_parser ]
      });
      parser.addArgument([ '-f', '--foo' ]);
  
      assert.throws(function () {
        parent_parser.addArgument([ '--parent' ]);
      });
    });
  });
  