コード例 #1
0
        public void TestReplaceAll()
        {
            LocalisationParser parser = new LocalisationParser("TestReplaceAll.txt");

            parser.ReplaceAll("doesn't work");
            Assert.AreEqual("sweet sweet", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("sweet", parser.Token);
            Assert.AreEqual(0, parser.Offset);
            Assert.AreEqual(1, parser.Line);
            parser.ReplaceAll("sour");
            Assert.AreEqual("sour", parser.Token);
            Assert.AreEqual(0, parser.Offset);
            Assert.AreEqual(1, parser.Line);
            Assert.AreEqual("sour sour", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("sour", parser.Token);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("two", parser.String);
            parser.ReplaceAll("-");
            Assert.AreEqual("- in", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("in", parser.Token);
            parser.ReplaceAll("not");
            Assert.AreEqual("- not", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("not", parser.Token);
            Assert.AreEqual("not the - not @\"two\"", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("the", parser.Token);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("not", parser.Token);
            parser.ReplaceAll("foo");
            Assert.AreEqual("not the - foo @\"two\"", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("two", parser.String);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("long\r\n", parser.String);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("two", parser.Token);
            Assert.AreEqual("\"two-two\"", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("two", parser.Token);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("'k'", parser.Token);
            parser.ReplaceAll("K");
            Assert.AreEqual("K 'j'k'j'K", parser.Context);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("'j'", parser.Token);
            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("k", parser.Token);
            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("'j'", parser.Token);
            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("K", parser.Token);

            Assert.IsTrue(parser.NextToken());
            Assert.AreEqual("foo", parser.Token);
            Assert.AreEqual("/* sweet */ foo", parser.Context);

            Assert.IsFalse(parser.NextToken());
        }