Browse Source

Merge branch 'master' into fixes/1709-changing-listbox-template

Steven Kirk 7 years ago
parent
commit
52a0ee4f4b

+ 15 - 0
src/Avalonia.Visuals/Media/PathMarkupParser.cs

@@ -451,6 +451,21 @@ namespace Avalonia.Media
             }
             for (; i < remaining.Length && char.IsNumber(remaining[i]); i++) valid = true;
 
+            if (i < remaining.Length)
+            {
+                // scientific notation
+                if (remaining[i] == 'E')
+                {
+                    valid = false;
+                    i++;
+                    if (remaining[i] == '-' || remaining[i] == '+')
+                    {
+                        i++;
+                        for (; i < remaining.Length && char.IsNumber(remaining[i]); i++) valid = true;
+                    }                  
+                }               
+            }          
+
             if (!valid)
             {
                 argument = ReadOnlySpan<char>.Empty;

+ 4 - 0
tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs

@@ -142,6 +142,10 @@ namespace Avalonia.Visuals.UnitTests.Media
         }       
 
         [Theory]
+        [InlineData("F1M9.0771,11C9.1161,10.701,9.1801,10.352,9.3031,10L9.0001,10 9.0001,6.166 3.0001,9.767 3.0001,10 "
+                    + "9.99999999997669E-05,10 9.99999999997669E-05,0 3.0001,0 3.0001,0.234 9.0001,3.834 9.0001,0 "
+                    + "12.0001,0 12.0001,8.062C12.1861,8.043 12.3821,8.031 12.5941,8.031 15.3481,8.031 15.7961,9.826 "
+                    + "15.9201,11L16.0001,16 9.0001,16 9.0001,12.562 9.0001,11z")] // issue #1708
         [InlineData("         M0 0")]
         [InlineData("F1 M24,14 A2,2,0,1,1,20,14 A2,2,0,1,1,24,14 z")] // issue #1107
         [InlineData("M0 0L10 10z")]