sapling/eden/scm/tests/test-ui-config.py
Xavier Deguillard 467f4aef45 tests: mark python3 tests as passing
Summary:
Ran ./run-tests.py --json and used the following script:

  import json
  import subprocess

  with open("report.json", "r") as f:
      tests = json.load(f)
      for name, t in tests.items():
          if t["result"] == "success":
              print("%s successful" % name)
              subprocess.run("sed -i '/#require py2/d' %s" % name, shell=True)
              subprocess.run("sed -i '/require.*py2/d' %s" % name, shell=True)

Reviewed By: singhsrb

Differential Revision: D19664298

fbshipit-source-id: fa67c7c7abd110c9f0df9345daf09f2792aacd44
2020-01-31 10:13:45 -08:00

127 lines
4.4 KiB
Python

from __future__ import absolute_import, print_function
from edenscm.mercurial import dispatch, error, ui as uimod
from hghave import require
testui = uimod.ui.load()
# disable the configuration registration warning
#
# the purpose of this test is to check the old behavior, not to validate the
# behavior from registered item. so we silent warning related to unregisted
# config.
testui.setconfig("devel", "warn-config-unknown", False, "test")
testui.setconfig("devel", "all-warnings", False, "test")
parsed = dispatch._parseconfig(
testui,
[
"values.string=string value",
"values.bool1=true",
"values.bool2=false",
"values.boolinvalid=foo",
"values.int1=42",
"values.int2=-42",
"values.intinvalid=foo",
"lists.list1=foo",
"lists.list2=foo bar baz",
"lists.list3=alice, bob",
"lists.list4=foo bar baz alice, bob",
'lists.list5=abc d"ef"g "hij def"',
'lists.list6="hello world", "how are you?"',
'lists.list7=Do"Not"Separate',
'lists.list8="Do"Separate',
'lists.list9="Do\\"NotSeparate"',
'lists.list10=string "with extraneous" quotation mark"',
"lists.list11=x, y",
'lists.list12="x", "y"',
'lists.list13=""" key = "x", "y" """',
"lists.list14=,,,, ",
'lists.list15=" just with starting quotation',
'lists.list16="longer quotation" with "no ending quotation',
'lists.list17=this is \\" "not a quotation mark"',
"lists.list18=\n \n\nding\ndong",
"date.epoch=0 0",
"date.birth=2005-04-19T00:00:00",
"date.invalid=invalid",
],
)
print(repr(testui.configitems("values")))
print(repr(testui.configitems("lists")))
print("---")
print(repr(testui.config("values", "string")))
print(repr(testui.config("values", "bool1")))
print(repr(testui.config("values", "bool2")))
print(repr(testui.config("values", "unknown")))
print("---")
try:
print(repr(testui.configbool("values", "string")))
except error.ConfigError as inst:
print(inst)
print(repr(testui.configbool("values", "bool1")))
print(repr(testui.configbool("values", "bool2")))
print(repr(testui.configbool("values", "bool2", True)))
print(repr(testui.configbool("values", "unknown")))
print(repr(testui.configbool("values", "unknown", True)))
print("---")
print(repr(testui.configint("values", "int1")))
print(repr(testui.configint("values", "int2")))
print("---")
print(repr(testui.configlist("lists", "list1")))
print(repr(testui.configlist("lists", "list2")))
print(repr(testui.configlist("lists", "list3")))
print(repr(testui.configlist("lists", "list4")))
print(repr(testui.configlist("lists", "list4", ["foo"])))
print(repr(testui.configlist("lists", "list5")))
print(repr(testui.configlist("lists", "list6")))
print(repr(testui.configlist("lists", "list7")))
print(repr(testui.configlist("lists", "list8")))
print(repr(testui.configlist("lists", "list9")))
print(repr(testui.configlist("lists", "list10")))
print(repr(testui.configlist("lists", "list11")))
print(repr(testui.configlist("lists", "list12")))
print(repr(testui.configlist("lists", "list13")))
print(repr(testui.configlist("lists", "list14")))
print(repr(testui.configlist("lists", "list15")))
print(repr(testui.configlist("lists", "list16")))
print(repr(testui.configlist("lists", "list17")))
print(repr(testui.configlist("lists", "list18")))
print(repr(testui.configlist("lists", "unknown")))
print(repr(testui.configlist("lists", "unknown", "")))
print(repr(testui.configlist("lists", "unknown", "foo")))
print(repr(testui.configlist("lists", "unknown", ["foo"])))
print(repr(testui.configlist("lists", "unknown", "foo bar")))
print(repr(testui.configlist("lists", "unknown", "foo, bar")))
print(repr(testui.configlist("lists", "unknown", ["foo bar"])))
print(repr(testui.configlist("lists", "unknown", ["foo", "bar"])))
print("---")
print(repr(testui.configdate("date", "epoch")))
print(repr(testui.configdate("date", "birth")))
print(repr(testui.config("values", "String")))
def function():
pass
# values that aren't strings should work
testui.setconfig("hook", "commit", function)
print(function == testui.config("hook", "commit"))
# invalid values
try:
testui.configbool("values", "boolinvalid")
except error.ConfigError:
print("boolinvalid")
try:
testui.configint("values", "intinvalid")
except error.ConfigError:
print("intinvalid")
try:
testui.configdate("date", "invalid")
except error.ConfigError:
print("dateinvalid")