summary refs log tree commit diff stats
path: root/tests/stdlib
diff options
context:
space:
mode:
authorflywind <xzsflywind@gmail.com>2022-02-04 20:47:03 +0800
committerGitHub <noreply@github.com>2022-02-04 13:47:03 +0100
commit33bfe5b12cf771072d93d7316945f3f5e6c727ff (patch)
treeadf81a92c523fe898f1b5321dac48492af8d9636 /tests/stdlib
parent772ed5eff29671b1e99ca17b63c646b341c88123 (diff)
downloadNim-33bfe5b12cf771072d93d7316945f3f5e6c727ff.tar.gz
fix parseEnum cannot parse enum with const fields (#19466)
fix #19463
Diffstat (limited to 'tests/stdlib')
-rw-r--r--tests/stdlib/tstrutils.nim11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/stdlib/tstrutils.nim b/tests/stdlib/tstrutils.nim
index 8000b6b07..26fc0c7b0 100644
--- a/tests/stdlib/tstrutils.nim
+++ b/tests/stdlib/tstrutils.nim
@@ -583,6 +583,17 @@ template main() =
       let g = parseEnum[Foo]("Bar", A)
       doAssert g == A
 
+    block: # bug #19463
+      const CAMPAIGN_TABLE = "wikientries_campaign"
+      const CHARACTER_TABLE = "wikientries_character"
+
+      type Tables = enum
+        a = CAMPAIGN_TABLE,
+        b = CHARACTER_TABLE,
+
+      let myA = CAMPAIGN_TABLE
+      doAssert $parseEnum[Tables](myA) == "wikientries_campaign"
+
     block: # check enum defined in block
       type
         Bar = enum