From cf24a8b9605396aebcd52942664403a847dc662e Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Sat, 23 Nov 2019 12:02:05 -0800 Subject: [PATCH] Changed code to allow comma delimiters within namedtuple field definition strings. --- server/src/analyzer/typeEvaluator.ts | 2 +- server/src/tests/samples/namedTuples1.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server/src/analyzer/typeEvaluator.ts b/server/src/analyzer/typeEvaluator.ts index 21565a7f1..0337d7c1c 100644 --- a/server/src/analyzer/typeEvaluator.ts +++ b/server/src/analyzer/typeEvaluator.ts @@ -3815,7 +3815,7 @@ export function createTypeEvaluator(importLookup: ImportLookup): TypeEvaluator { if (!includesTypes && entriesArg.valueExpression && entriesArg.valueExpression.nodeType === ParseNodeType.StringList) { - const entries = entriesArg.valueExpression.strings.map(s => s.value).join('').split(' '); + const entries = entriesArg.valueExpression.strings.map(s => s.value).join('').split(/[,\s]+/); entries.forEach(entryName => { entryName = entryName.trim(); if (entryName) { diff --git a/server/src/tests/samples/namedTuples1.py b/server/src/tests/samples/namedTuples1.py index a97f12f2e..570eb8a05 100644 --- a/server/src/tests/samples/namedTuples1.py +++ b/server/src/tests/samples/namedTuples1.py @@ -20,11 +20,13 @@ NamedTuple1(1) NamedTuple1(1, 2, 3) -NamedTuple2 = namedtuple("NamedTuple2", "field1 field2") +NamedTuple2 = namedtuple("NamedTuple2", "field1, field2") NamedTuple2.__new__.__defaults__ = ([], ) NamedTuple2() NamedTuple2(1) +NamedTuple2(field1=1, field2=3) + # This should generate an error because there # should be two or fewer parameters. NamedTuple2(1, 2, 3)