예제 #1
0
        public void shouldScanUtf8FeatureInFileProperly()
        {
            var listener = new Mock <Listener>();
            var lexer    = new I18nLexer(listener.Object);

            String feature = FixJava.readResource("NGherkin.Tests.utf8.feature", Assembly.GetExecutingAssembly());

            lexer.scan(feature);

            listener.Verify(x => x.feature("Feature", "ÆØÅ", "", 1));
            listener.Verify(x => x.step("When ", "I pøsh <x> onto the stack", 5));
        }
예제 #2
0
        public void Scan(TextReader stream)
        {
            var feature = stream.ReadToEnd();
            var lexer   = new I18nLexer(new GherkinListener(listener));

            try
            {
                lexer.scan(feature);
            }
            catch (LexerError e)
            {
                throw new ParseException(e.Message, e);
            }
        }
예제 #3
0
 public static void Main(string[] args)
 {
     try
     {
         java.io.Writer output = new TextWriterAdapter(Console.Out);
         Parser         parser = new Parser(new PrettyFormatter(output, false));
         Lexer          lexer  = new I18nLexer(parser);
         string         source = File.OpenText(args[0]).ReadToEnd();
         lexer.scan(source, args[0], 0);
     } catch (Exception e) {
         Console.Error.WriteLine(e.Message);
         System.Environment.Exit(1);
     }
 }
예제 #4
0
        public void shouldScanUtf8FeatureInSourceProperly()
        {
            var   listener = new Mock <Listener>();
            Lexer lexer    = new I18nLexer(listener.Object);

            String feature = "Feature: ÆØÅ\n" +
                             "\n" +
                             "  Scenario Outline:\n" +
                             "    Given I have an empty stack\n" +
                             "    When I pøsh <x> onto the stack";

            lexer.scan(feature);

            listener.Verify(x => x.feature("Feature", "ÆØÅ", "", 1));
            listener.Verify(x => x.step("When ", "I pøsh <x> onto the stack", 5));
        }
예제 #5
0
        public void shouldScanMultiLineFeature()
        {
            var   listener = new Mock <Listener>();
            Lexer lexer    = new I18nLexer(listener.Object);

            String feature = "" +
                             " Feature: Hello\n" +
                             "     Big    \n" +
                             "       World  \n" +
                             "  Scenario Outline:\n" +
                             "    Given I have an empty stack\n" +
                             "    When I pøsh <x> onto the stack";

            lexer.scan(feature);

            listener.Verify(x => x.feature("Feature", "Hello", "  Big    \r\n    World", 1));
            listener.Verify(x => x.step("Given ", "I have an empty stack", 5));
            listener.Verify(x => x.step("When ", "I pøsh <x> onto the stack", 6));
        }