]> gerrit.simantics Code Review - simantics/platform.git/blob - tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/TestClassNaming.java
(refs #7307) Added features field to SCL module header
[simantics/platform.git] / tests / org.simantics.scl.compiler.tests / src / org / simantics / scl / compiler / tests / TestClassNaming.java
1 package org.simantics.scl.compiler.tests;
2
3 import org.junit.Assert;
4 import org.junit.Test;
5 import org.simantics.scl.compiler.elaboration.java.Builtins;
6 import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification;
7 import org.simantics.scl.compiler.module.ImportDeclaration;
8 import org.simantics.scl.compiler.module.repository.ModuleRepository;
9 import org.simantics.scl.compiler.module.repository.UpdateListener;
10 import org.simantics.scl.compiler.runtime.RuntimeEnvironment;
11 import org.simantics.scl.compiler.source.PrecompiledModuleSource;
12 import org.simantics.scl.compiler.source.StringModuleSource;
13 import org.simantics.scl.compiler.source.repository.MapModuleSourceRepository;
14 import org.simantics.scl.compiler.source.repository.ModuleSourceRepository;
15 import org.simantics.scl.compiler.top.ExpressionEvaluator;
16
17 public class TestClassNaming {
18
19     private static class SimpleModuleSource extends StringModuleSource {
20         public SimpleModuleSource(String moduleName, String moduleText) {
21             super(moduleName, moduleText);
22         }
23         
24         @Override
25         protected ImportDeclaration[] getBuiltinImports(UpdateListener listener) {
26             return new ImportDeclaration[] {new ImportDeclaration("Builtin", "")};
27         }
28     }
29     
30     @Test
31     public void testClassNaming() throws Exception {
32         ModuleSourceRepository sourceRepository = new MapModuleSourceRepository(
33                 new PrecompiledModuleSource(Builtins.INSTANCE),
34                 new SimpleModuleSource("http://ProjectGame@A/SCLConstants",
35                         "locale = \"fi-FI\"")
36                 );
37         ModuleRepository moduleRepository = new ModuleRepository(sourceRepository);
38         RuntimeEnvironment runtimeEnvironment = moduleRepository.createRuntimeEnvironment(
39                 EnvironmentSpecification.of(
40                         "http://ProjectGame@A/SCLConstants", ""),
41                 getClass().getClassLoader());
42         Assert.assertEquals("fi-FI", new ExpressionEvaluator(runtimeEnvironment, "locale").eval());
43     }
44     
45 }