Example #1
0
        public void CatchDollarSignInOutputPropertyName()
        {
            string projectContents = @"

                <Project ToolsVersion=`msbuilddefaulttoolsversion` xmlns=`msbuildnamespace`>
                    <Target Name=`t` >
                        <CreateProperty Value=`x`>
                            <Output TaskParameter=`Value` PropertyName=`$(x)`/>
                        </CreateProperty>
                    </Target>
                </Project>
                ";

            Project    p = ObjectModelHelpers.CreateInMemoryProject(projectContents);
            MockLogger l = new MockLogger();

            p.ParentEngine.RegisterLogger(l);

            p.Build(new string[] { "t" }, null);
            string warning = String.Format(MockLogger.GetString("DollarSignInTaskOutputPropertyName"), "$(x)");

            Assertion.Assert(-1 != l.FullLog.IndexOf(warning));
        }