mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-19 05:50:30 +00:00
properly deprecate parseopt2 (#10452)
This commit is contained in:
@@ -3,7 +3,7 @@ discard """
|
||||
|
||||
# bug #5404
|
||||
|
||||
import parseopt2
|
||||
import parseopt
|
||||
|
||||
{.emit: """typedef struct {
|
||||
int key;
|
||||
@@ -12,5 +12,5 @@ import parseopt2
|
||||
type foo* {.importc: "foo", nodecl.} = object
|
||||
key* {.importc: "key".}: cint
|
||||
|
||||
for kind, key, value in parseopt2.getopt():
|
||||
for kind, key, value in parseopt.getopt():
|
||||
discard
|
||||
|
||||
@@ -21,14 +21,7 @@ kind: cmdShortOption key:val -- r:1
|
||||
kind: cmdShortOption key:val -- r:0
|
||||
kind: cmdShortOption key:val -- l:
|
||||
kind: cmdShortOption key:val -- r:4
|
||||
parseopt2
|
||||
first round
|
||||
kind: cmdLongOption key:val -- left:
|
||||
second round
|
||||
kind: cmdLongOption key:val -- left:
|
||||
kind: cmdLongOption key:val -- debug:3
|
||||
kind: cmdShortOption key:val -- l:4
|
||||
kind: cmdShortOption key:val -- r:2'''
|
||||
'''
|
||||
joinable: false
|
||||
"""
|
||||
|
||||
@@ -42,7 +35,6 @@ when defined(testament_tparseopt):
|
||||
main()
|
||||
else:
|
||||
from parseopt import nil
|
||||
from parseopt2 import nil
|
||||
|
||||
block:
|
||||
echo "parseopt"
|
||||
@@ -76,28 +68,11 @@ else:
|
||||
for kind, key, val in parseopt.getopt(p):
|
||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
||||
|
||||
block:
|
||||
echo "parseopt2"
|
||||
for kind, key, val in parseopt2.getopt():
|
||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
||||
|
||||
# pass custom cmdline arguments
|
||||
echo "first round"
|
||||
var argv: seq[string] = @["--left", "--debug:3", "-l=4", "-r:2"]
|
||||
var p = parseopt2.initOptParser(argv)
|
||||
for kind, key, val in parseopt2.getopt(p):
|
||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
||||
break
|
||||
# reset getopt iterator and check arguments are returned correctly.
|
||||
echo "second round"
|
||||
for kind, key, val in parseopt2.getopt(p):
|
||||
echo "kind: ", kind, "\tkey:val -- ", key, ":", val
|
||||
|
||||
import osproc, os, strutils
|
||||
from stdtest/specialpaths import buildDir
|
||||
import "../.." / compiler/unittest_light
|
||||
|
||||
block: # fix #9951 (and make it work for parseopt and parseopt2)
|
||||
block: # fix #9951
|
||||
template runTest(parseoptCustom) =
|
||||
var p = parseoptCustom.initOptParser(@["echo \"quoted\""])
|
||||
let expected = when defined(windows):
|
||||
@@ -117,7 +92,6 @@ else:
|
||||
doAssert "a5'b" == "a5\'b"
|
||||
assertEquals parseoptCustom.cmdLineRest(p2), expected2
|
||||
runTest(parseopt)
|
||||
runTest(parseopt2)
|
||||
|
||||
block: # fix #9842
|
||||
let exe = buildDir / "D20190112T145450".addFileExt(ExeExt)
|
||||
|
||||
@@ -5,7 +5,7 @@ joinable: false
|
||||
# not joinable because it executes itself with parameters
|
||||
import os
|
||||
import osproc
|
||||
import parseopt2
|
||||
import parseopt
|
||||
import sequtils
|
||||
|
||||
let argv = commandLineParams()
|
||||
@@ -17,6 +17,6 @@ else:
|
||||
let f = toSeq(getopt())
|
||||
doAssert f[0].kind == cmdArgument and f[0].key == "foo bar" and f[0].val == ""
|
||||
doAssert f[1].kind == cmdLongOption and f[1].key == "aa" and f[1].val == "bar=a"
|
||||
doAssert f[2].kind == cmdLongOption and f[2].key == "a=c" and f[2].val == "d"
|
||||
doAssert f[2].kind == cmdLongOption and f[2].key == "a" and f[2].val == "c:d"
|
||||
doAssert f[3].kind == cmdLongOption and f[3].key == "ab" and f[3].val == ""
|
||||
doAssert f[4].kind == cmdShortOption and f[4].key == "c" and f[4].val == ""
|
||||
|
||||
Reference in New Issue
Block a user