Package net.sourceforge.marathon.api.module

Examples of net.sourceforge.marathon.api.module.Module


        file.delete();
    }

    @Test public void testModuleListReturnsEmptyArrayWhenNoModulesAreAvailable() throws Exception {
        ModuleList moduleList = new ModuleList(Ruby.newInstance(), "emptymoduledir");
        Module top = moduleList.getTop();
        assertEquals(0, top.getChildren().size());
        assertEquals(0, top.getFunctions().size());
    }
View Full Code Here


        assertEquals(0, top.getFunctions().size());
    }

    @Test public void testReturnsFunctionsFromAFile() throws Exception {
        ModuleList moduleList = new ModuleList(Ruby.newInstance(), "moduledir");
        Module top = moduleList.getTop();
        assertEquals(1, top.getChildren().size());
        assertEquals(0, top.getFunctions().size());
        Module module = top.getChildren().get(0);
        assertEquals(1, module.getFunctions().size());
        assertEquals(0, module.getChildren().size());
        Function f = module.getFunctions().get(0);
        assertEquals("module_function_1", f.getName());
        assertEquals("f", f.getArguments().get(0).getName());
        assertEquals("s", f.getArguments().get(1).getName());
        assertEquals(null, f.getArguments().get(0).getDefault());
        assertEquals("Hello", f.getArguments().get(1).getDefault());
View Full Code Here

        assertEquals("Hello", f.getArguments().get(1).getDefault());
    }

    @Test public void testReturnsFunctionsFromSubdirectories() throws Exception {
        ModuleList moduleList = new ModuleList(Ruby.newInstance(), "moduledir2");
        Module top = moduleList.getTop();
        assertEquals(2, top.getChildren().size());
        Module subdir = top.getChildren().get(0);
        assertEquals("subdir", subdir.getName());
        Module subdir2 = top.getChildren().get(1);
        assertEquals("subdir", subdir2.getName());
    }
View Full Code Here

        assertEquals("subdir", subdir2.getName());
    }

    @Test public void testCheckForWindowNameAndComments() throws Exception {
        ModuleList moduleList = new ModuleList(Ruby.newInstance(), "authentication");
        Module top = moduleList.getTop();
        List<Module> modules = top.getChildren();
        assertEquals(1, modules.size());
        Module login = modules.get(0);
        assertEquals("login", login.getName());
        List<Function> functions = login.getFunctions();
        assertEquals(2, functions.size());
        Function loginFunction = functions.get(0);
        String lineSepearator = System.getProperty("line.separator");
        assertEquals(convert2code(new String[] { "=begin", "This is an example with with_window call and comments", "=end" })
                .trim(), loginFunction.getDocumentation().trim().replaceAll("\n", lineSepearator));
View Full Code Here

        assertNull(loginFunction2.getWindow());
    }

    @Test public void testCheckForListArgs() throws Exception {
        ModuleList moduleList = new ModuleList(Ruby.newInstance(), "selection");
        Module top = moduleList.getTop();
        List<Module> modules = top.getChildren();
        assertEquals(1, modules.size());
        Module arrays = modules.get(0);
        assertEquals("arrays", arrays.getName());
        List<Function> functions = arrays.getFunctions();
        assertEquals(3, functions.size());
        Function selectOneFunction = functions.get(0);
        assertEquals("select_one", selectOneFunction.getName());
        List<Argument> arguments = selectOneFunction.getArguments();
        assertEquals(2, arguments.size());
View Full Code Here

    public ModuleList(Ruby newInstance, String moduleDir) {
        this(newInstance, new String[] { moduleDir });
    }

    private Module importModules() {
        Module top = loadModulesFromFSMulti();
        top.setName("Functions");
        return top;
    }
View Full Code Here

        top.setName("Functions");
        return top;
    }

    private Module loadModulesFromFSMulti() {
        Module module = new Module("Functions", null);
        for (int i = 0; i < moduleDirs.length; i++) {
            File file = new File(moduleDirs[i]);
            File[] files = file.listFiles(new FileFilter() {
                public boolean accept(File pathname) {
                    if (pathname.getName().startsWith("."))
                        return false;
                    return pathname.isDirectory() || pathname.getName().endsWith(".rb");
                }
            });
            for (File child : files) {
                Module m = loadModulesFromFS(child, module);
                if (m != null)
                    module.addChild(m);
            }
        }
        return module;
View Full Code Here

        return module;
    }

    private Module loadModulesFromFS(File file, Module parent) {
        if (file.isDirectory()) {
            Module module = new Module(getModuleName(file), parent);
            File[] files = file.listFiles(new FileFilter() {
                public boolean accept(File pathname) {
                    if (pathname.getName().startsWith("."))
                        return false;
                    return pathname.isDirectory() || pathname.getName().endsWith(".rb");
                }
            });
            for (File child : files) {
                Module m = loadModulesFromFS(child, module);
                if (m != null)
                    module.addChild(m);
            }
            if (module.getChildren().size() > 0)
                return module;
View Full Code Here

    }

    private Module loadFunctionsFromFile(File file, Module parent) {
        try {
            Properties docNodes = collectDocNodes(file);
            Module module = new Module(getModuleName(file), true, parent);
            Parser parser = new Parser();
            Node node = parser.parse(file.getName(), new FileReader(file), new ParserConfiguration());
            List<Node> defnNodes = findNodes(node, new INodeFilter() {

                public void visitStart(Node node) {
View Full Code Here

    }

    private String getRequire(Function function) {
        StringBuilder require = new StringBuilder();

        Module parent = function.getParent();
        while (parent.getParent() != null) {
            require.insert(0, "/").insert(0, parent.getName());
            parent = parent.getParent();
        }
        return require.toString();
    }
View Full Code Here

TOP

Related Classes of net.sourceforge.marathon.api.module.Module

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.