Ejemplo n.º 1
0
        public async Task TestMultiLangImport()
        {
            var resourceExplorer = new ResourceExplorer().LoadProject(GetProjectFolder(), monitorChanges: false);

            // use LG file as entrance
            var lgResourceGroup = LGResourceLoader.GroupByLocale(resourceExplorer);

            var resource  = resourceExplorer.GetResource("a.en-US.lg") as FileResource;
            var generator = new TemplateEngineLanguageGenerator(resource.FullName, lgResourceGroup);
            var result    = await generator.Generate(GetTurnContext(), "${templatea()}", null);

            Assert.AreEqual("from a.en-us.lg", result);

            // import b.en-us.lg
            result = await generator.Generate(GetTurnContext(), "${templateb()}", null);

            Assert.AreEqual("from b.en-us.lg", result);

            // fallback to c.en.lg
            result = await generator.Generate(GetTurnContext(), "${templatec()}", null);

            Assert.AreEqual("from c.en.lg", result);

            // there is no 'greeting' template in b.en-us.lg, no more fallback to b.lg
            var ex = await Assert.ThrowsExceptionAsync <Exception>(async() => await generator.Generate(GetTurnContext(), "${greeting()}", null));

            Assert.IsTrue(ex.Message.Contains("greeting does not have an evaluator"));

            resource  = resourceExplorer.GetResource("a.lg") as FileResource;
            generator = new TemplateEngineLanguageGenerator(resource.FullName, lgResourceGroup);

            result = await generator.Generate(GetTurnContext(), "${templatea()}", null);

            Assert.AreEqual("from a.lg", result);

            result = await generator.Generate(GetTurnContext(), "${templateb()}", null);

            Assert.AreEqual("from b.lg", result);

            // ignore the "en" in c.en.lg, just load c.lg
            result = await generator.Generate(GetTurnContext(), "${templatec()}", null);

            Assert.AreEqual("from c.lg", result);

            result = await generator.Generate(GetTurnContext(), "${greeting()}", null);

            Assert.AreEqual("hi", result);
        }
Ejemplo n.º 2
0
 public async Task TestNotFoundTemplate()
 {
     var context = GetTurnContext(string.Empty);
     var lg      = new TemplateEngineLanguageGenerator();
     await lg.Generate(context, "${tesdfdfsst()}", null);
 }
Ejemplo n.º 3
0
 public async Task TestNotFoundTemplate()
 {
     var context = GetTurnContext(string.Empty);
     var lg      = new TemplateEngineLanguageGenerator(string.Empty, "test", resourceResolver);
     await lg.Generate(context, "[tesdfdfsst]", null);
 }