def test_add_flag(): parser = KnownOptionParser() parser.add_flag("-x", "--foo") assert vars(parser) == { "shortopts": { "x": OptionDetails("foo", True), }, "longopts": { "foo": OptionDetails("foo", True), }, }
import pytest from rst2json.knownopts import KnownOptionParser, OptionDetails, UsageError plain_parser = KnownOptionParser() plain_parser.add_option("-f", "--format") plain_parser.add_flag("-V", "--version") fancy_parser = KnownOptionParser() fancy_parser.add_option("-f", "--format", "style") fancy_parser.add_flag("-V", "--version", "about") def test_init(): parser = KnownOptionParser() assert vars(parser) == {"shortopts": {}, "longopts": {}} def test_add_option(): parser = KnownOptionParser() parser.add_option("-x", "--foo") assert vars(parser) == { "shortopts": { "x": OptionDetails("foo", False), }, "longopts": { "foo": OptionDetails("foo", False), }, } def test_add_option_named():