diff --git a/.tests.py.swp b/.tests.py.swp new file mode 100644 index 0000000..fd1d55c Binary files /dev/null and b/.tests.py.swp differ diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..cdb8789 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,8 @@ +language: python +python: + - 2.6 + - 2.7 + - 3.2 +install: + - pip install nose + - pip install . --use-mirrors diff --git a/AUTHORS.rst b/AUTHORS.rst new file mode 100644 index 0000000..92de956 --- /dev/null +++ b/AUTHORS.rst @@ -0,0 +1,12 @@ +Args is written and maintained by Kenneth Reitz and various contributors. + +Development Lead +-------- + - Kenneth Reitz + +Patches and Suggestions +--- + - Kracekumar + + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..f3c7e8e --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +nose diff --git a/tests.py b/tests.py new file mode 100644 index 0000000..051ed60 --- /dev/null +++ b/tests.py @@ -0,0 +1,55 @@ +#! /usr/bin/env python +# -*- coding: utf-8 -*- + +import args +from nose.tools import ok_ + +def test_args_all(): + arguments = ['install', '--lang', 'python', 'c', 'js'] + arg = args.ArgsList(args = arguments) + ok_(arg.all == arguments) + +def test_flags(): + flags = ['--name', '--email'] + arguments = [flags[0], 'kracekumar', flags[1], 'me@kracekumar'] + arg = args.ArgsList(args = arguments) + ok_(arg.flags.all == flags) + + +def test_files(): + files = ['*.py'] + arg = args.ArgsList(args = files) + #any way current directory will have minimum one file i.e this file + ok_(len(arg.files) > 1) + +def test_not_files(): + flags = ['--name', '--email'] + arguments = [flags[0], 'kracekumar', flags[1], 'me@kracekumar', '*.py'] + arg = args.ArgsList(args = arguments) + arguments.pop() + ok_(arg.not_files.all == arguments) + +def test_grouped(): + details = {'--language': ['python'], '--creator': ['Guido Van Rossum'], \ + '--foundation': ['psf'] + } + arguments = [] + for key in details: + arguments.append(key) + arguments.append(details[key][0]) + + arg = args.ArgsList(args = arguments) + for item in arg.grouped: + if item is not '_': + ok_(arg.grouped[item].all == details[item]) + +def test_start_with(): + dynamic_lang = ['python', 'perl'] + static_lang = ['c', 'c++'] + arguments = ['--lang'] + arguments.extend(dynamic_lang) + arguments.extend(static_lang) + arg = args.ArgsList(args = arguments) + ok_(arg.start_with('p').all == dynamic_lang) + +