44 lines
1.5 KiB
C#
44 lines
1.5 KiB
C#
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|||
|
|
|||
|
using System.Web.Razor.Parser;
|
|||
|
using System.Web.Razor.Parser.SyntaxTree;
|
|||
|
using System.Web.Razor.Resources;
|
|||
|
using System.Web.Razor.Test.Framework;
|
|||
|
using System.Web.Razor.Text;
|
|||
|
using Xunit.Extensions;
|
|||
|
|
|||
|
namespace System.Web.Razor.Test.Parser.CSharp
|
|||
|
{
|
|||
|
public class CSharpReservedWordsTest : CsHtmlCodeParserTestBase
|
|||
|
{
|
|||
|
[Theory]
|
|||
|
[InlineData("namespace")]
|
|||
|
[InlineData("class")]
|
|||
|
public void ReservedWords(string word)
|
|||
|
{
|
|||
|
ParseBlockTest(word,
|
|||
|
new DirectiveBlock(
|
|||
|
Factory.MetaCode(word).Accepts(AcceptedCharacters.None)
|
|||
|
),
|
|||
|
new RazorError(String.Format(RazorResources.ParseError_ReservedWord, word), SourceLocation.Zero));
|
|||
|
}
|
|||
|
|
|||
|
[Theory]
|
|||
|
[InlineData("Namespace")]
|
|||
|
[InlineData("Class")]
|
|||
|
[InlineData("NAMESPACE")]
|
|||
|
[InlineData("CLASS")]
|
|||
|
[InlineData("nameSpace")]
|
|||
|
[InlineData("NameSpace")]
|
|||
|
private void ReservedWordsAreCaseSensitive(string word)
|
|||
|
{
|
|||
|
ParseBlockTest(word,
|
|||
|
new ExpressionBlock(
|
|||
|
Factory.Code(word)
|
|||
|
.AsImplicitExpression(CSharpCodeParser.DefaultKeywords)
|
|||
|
.Accepts(AcceptedCharacters.NonWhiteSpace)
|
|||
|
));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|