mirror of
https://github.com/facebook/sapling.git
synced 2024-10-06 14:58:03 +03:00
6266e2cad6
Summary: We have seen issues parsing '0' as date somehow passes on OSX, and parsing 'Apr 2018' fails on Windows with GitBash. Let's workaround the tests while I'm going to find better fixes. Reviewed By: xavierd Differential Revision: D19353054 fbshipit-source-id: c0302071964191b97eea6572ffd985f831db6791
126 lines
4.4 KiB
Python
126 lines
4.4 KiB
Python
from __future__ import absolute_import, print_function
|
|
|
|
from edenscm.mercurial import dispatch, error, ui as uimod
|
|
|
|
|
|
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")
|