From 302b501f9ed2ae840ce598b30792d0fc1b538572 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Thu, 2 Apr 2020 18:38:55 +1000 Subject: Fix bug in ParseHelper where it assumed the first column was the id column. --- .../ExtensibilityServices/ParseHelper.cs | 18 +----------------- src/test/Example.Extension/ExampleCompilerExtension.cs | 3 ++- src/test/Example.Extension/ExampleSearchTuple.cs | 1 - src/test/Example.Extension/ExampleTupleDefinitions.cs | 1 - .../WixToolsetTest.CoreIntegration/ExtensionFixture.cs | 2 +- .../WixToolsetTest.CoreIntegration/WixlibFixture.cs | 4 ++-- 6 files changed, 6 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs index 2a851a21..ed529dbb 100644 --- a/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs +++ b/src/WixToolset.Core/ExtensibilityServices/ParseHelper.cs @@ -981,23 +981,7 @@ namespace WixToolset.Core.ExtensibilityServices private static IntermediateTuple CreateTuple(IntermediateSection section, SourceLineNumber sourceLineNumbers, IntermediateTupleDefinition tupleDefinition, Identifier identifier) { - var tuple = tupleDefinition.CreateTuple(sourceLineNumbers, identifier); - - if (null != identifier) - { - if (tuple.Definition.FieldDefinitions[0].Type == IntermediateFieldType.Number) - { - tuple.Set(0, Convert.ToInt32(identifier.Id)); - } - else - { - tuple.Set(0, identifier.Id); - } - } - - section.Tuples.Add(tuple); - - return tuple; + return section.AddTuple(tupleDefinition.CreateTuple(sourceLineNumbers, identifier)); } private static bool TryFindExtension(IEnumerable extensions, XNamespace ns, out ICompilerExtension extension) diff --git a/src/test/Example.Extension/ExampleCompilerExtension.cs b/src/test/Example.Extension/ExampleCompilerExtension.cs index 543b4165..52168adc 100644 --- a/src/test/Example.Extension/ExampleCompilerExtension.cs +++ b/src/test/Example.Extension/ExampleCompilerExtension.cs @@ -88,7 +88,8 @@ namespace Example.Extension if (!this.Messaging.EncounteredError) { - var tuple = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Example", id); + var tuple = this.ParseHelper.CreateTuple(section, sourceLineNumbers, "Example"); + tuple.Set(0, id.Id); tuple.Set(1, value); } } diff --git a/src/test/Example.Extension/ExampleSearchTuple.cs b/src/test/Example.Extension/ExampleSearchTuple.cs index df34f0af..353ef158 100644 --- a/src/test/Example.Extension/ExampleSearchTuple.cs +++ b/src/test/Example.Extension/ExampleSearchTuple.cs @@ -6,7 +6,6 @@ namespace Example.Extension public enum ExampleSearchTupleFields { - Example, SearchFor, } diff --git a/src/test/Example.Extension/ExampleTupleDefinitions.cs b/src/test/Example.Extension/ExampleTupleDefinitions.cs index b2c8c484..a9771509 100644 --- a/src/test/Example.Extension/ExampleTupleDefinitions.cs +++ b/src/test/Example.Extension/ExampleTupleDefinitions.cs @@ -22,7 +22,6 @@ namespace Example.Extension nameof(ExampleSearch), new[] { - new IntermediateFieldDefinition(nameof(ExampleTupleFields.Example), IntermediateFieldType.String), new IntermediateFieldDefinition(nameof(ExampleSearchTupleFields.SearchFor), IntermediateFieldType.String), }, typeof(ExampleSearchTuple)); diff --git a/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs b/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs index 4bc5b535..b75e8ad9 100644 --- a/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/ExtensionFixture.cs @@ -63,7 +63,7 @@ namespace WixToolsetTest.CoreIntegration Assert.Equal(@"example.txt", fileTuple[FileTupleFields.Source].PreviousValue.AsPath().Path); var example = section.Tuples.Where(t => t.Definition.Type == TupleDefinitionType.MustBeFromAnExtension).Single(); - Assert.Equal("Foo", example.Id.Id); + Assert.Null(example.Id?.Id); Assert.Equal("Foo", example[0].AsString()); Assert.Equal("Bar", example[1].AsString()); } diff --git a/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs b/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs index 5f8a278e..c7af6439 100644 --- a/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/WixlibFixture.cs @@ -168,7 +168,7 @@ namespace WixToolsetTest.CoreIntegration Assert.Equal(@"example.txt", fileTuple[FileTupleFields.Source].PreviousValue.AsPath().Path); var example = section.Tuples.Where(t => t.Definition.Type == TupleDefinitionType.MustBeFromAnExtension).Single(); - Assert.Equal("Foo", example.Id.Id); + Assert.Null(example.Id?.Id); Assert.Equal("Foo", example[0].AsString()); Assert.Equal("Bar", example[1].AsString()); } @@ -232,7 +232,7 @@ namespace WixToolsetTest.CoreIntegration Assert.Equal(@"other.txt", fileTuples[1][FileTupleFields.Source].PreviousValue.AsPath().Path); var examples = section.Tuples.Where(t => t.Definition.Type == TupleDefinitionType.MustBeFromAnExtension).ToArray(); - Assert.Equal(new[] { "Foo", "Other" }, examples.Select(t => t.Id.Id).ToArray()); + Assert.Equal(new string[] { null, null }, examples.Select(t => t.Id?.Id).ToArray()); Assert.Equal(new[] { "Foo", "Other" }, examples.Select(t => t.AsString(0)).ToArray()); Assert.Equal(new[] { "Bar", "Value" }, examples.Select(t => t[1].AsString()).ToArray()); } -- cgit v1.2.3-55-g6feb