treewide: forward compatibility changes
[project/firewall4.git] / tests / lib / mocklib / fs.uc
index 97521cc461bbd4efe331634d28357f32e23b7834..6e2655274017be2570bcee93ca2944cddc15394b 100644 (file)
-{%
-       let mocklib = global.mocklib,
-           fs = mocklib.require("fs");
-
-       return {
-               readlink: function(path) {
-                       mocklib.trace_call("fs", "readlink", { path });
-
-                       return path + "-link";
-               },
-
-               stat: function(path) {
-                       let file = sprintf("fs/stat~%s.json", replace(path, /[^A-Za-z0-9_-]+/g, '_')),
-                           mock = mocklib.read_json_file(file);
-
-                       if (!mock || mock != mock) {
-                               mocklib.I("No stat result fixture defined for fs.stat() call on %s.", path);
-                               mocklib.I("Provide a mock result through the following JSON file:\n%s\n", file);
-
-                               if (match(path, /\/$/))
-                                       mock = { type: "directory" };
-                               else
-                                       mock = { type: "file" };
-                       }
-
-                       mocklib.trace_call("fs", "stat", { path });
-
-                       return mock;
-               },
-
-               unlink: function(path) {
-                       printf("fs.unlink() path <%s>\n", path);
-
-                       return true;
-               },
+let mocklib = global.mocklib,
+    fs = mocklib.require("fs");
+
+return {
+       readlink: function(path) {
+               mocklib.trace_call("fs", "readlink", { path });
+
+               return path + "-link";
+       },
+
+       stat: function(path) {
+               let file = sprintf("fs/stat~%s.json", replace(path, /[^A-Za-z0-9_-]+/g, '_')),
+                   mock = mocklib.read_json_file(file);
+
+               if (!mock || mock != mock) {
+                       mocklib.I("No stat result fixture defined for fs.stat() call on %s.", path);
+                       mocklib.I("Provide a mock result through the following JSON file:\n%s\n", file);
+
+                       if (match(path, /\/$/))
+                               mock = { type: "directory" };
+                       else
+                               mock = { type: "file" };
+               }
+
+               mocklib.trace_call("fs", "stat", { path });
+
+               return mock;
+       },
+
+       unlink: function(path) {
+               printf("fs.unlink() path <%s>\n", path);
+
+               return true;
+       },
+
+       popen: (cmdline, mode) => {
+               let read = (!mode || index(mode, "r") != -1),
+                   path = sprintf("fs/popen~%s.txt", replace(cmdline, /[^A-Za-z0-9_-]+/g, '_')),
+                   mock = mocklib.read_data_file(path);
+
+               if (read && !mock) {
+                       mocklib.I("No stdout fixture defined for fs.popen() command %s.", cmdline);
+                       mocklib.I("Provide a mock output through the following text file:\n%s\n", path);
+
+                       return null;
+               }
+
+               mocklib.trace_call("fs", "popen", { cmdline, mode });
+
+               return {
+                       read: function(amount) {
+                               let rv;
+
+                               switch (amount) {
+                               case "all":
+                                       rv = mock;
+                                       mock = "";
+                                       break;
+
+                               case "line":
+                                       let i = index(mock, "\n");
+                                       i = (i > -1) ? i + 1 : mock.length;
+                                       rv = substr(mock, 0, i);
+                                       mock = substr(mock, i);
+                                       break;
+
+                               default:
+                                       let n = +amount;
+                                       n = (n > 0) ? n : 0;
+                                       rv = substr(mock, 0, n);
+                                       mock = substr(mock, n);
+                                       break;
+                               }
 
-               popen: (cmdline, mode) => {
-                       let read = (!mode || index(mode, "r") != -1),
-                           path = sprintf("fs/popen~%s.txt", replace(cmdline, /[^A-Za-z0-9_-]+/g, '_')),
-                           mock = mocklib.read_data_file(path);
+                               return rv;
+                       },
 
-                       if (read && !mock) {
-                               mocklib.I("No stdout fixture defined for fs.popen() command %s.", cmdline);
-                               mocklib.I("Provide a mock output through the following text file:\n%s\n", path);
+                       write: function() {},
+                       close: function() {},
 
+                       error: function() {
                                return null;
                        }
-
-                       mocklib.trace_call("fs", "popen", { cmdline, mode });
-
-                       return {
-                               read: function(amount) {
-                                       let rv;
-
-                                       switch (amount) {
-                                       case "all":
-                                               rv = mock;
-                                               mock = "";
-                                               break;
-
-                                       case "line":
-                                               let i = index(mock, "\n");
-                                               i = (i > -1) ? i + 1 : mock.length;
-                                               rv = substr(mock, 0, i);
-                                               mock = substr(mock, i);
-                                               break;
-
-                                       default:
-                                               let n = +amount;
-                                               n = (n > 0) ? n : 0;
-                                               rv = substr(mock, 0, n);
-                                               mock = substr(mock, n);
-                                               break;
-                                       }
-
-                                       return rv;
-                               },
-
-                               write: function() {},
-                               close: function() {},
-
-                               error: function() {
-                                       return null;
+               };
+       },
+
+       open: (fpath, mode) => {
+               let read = (!mode || index(mode, "r") != -1 || index(mode, "+") != -1),
+                   path = sprintf("fs/open~%s.txt", replace(fpath, /[^A-Za-z0-9_-]+/g, '_')),
+                   mock = read ? mocklib.read_data_file(path) : null;
+
+               if (read && !mock) {
+                       mocklib.I("No stdout fixture defined for fs.open() path %s.", fpath);
+                       mocklib.I("Provide a mock output through the following text file:\n%s\n", path);
+
+                       return null;
+               }
+
+               mocklib.trace_call("fs", "open", { path: fpath, mode });
+
+               return {
+                       read: function(amount) {
+                               let rv;
+
+                               switch (amount) {
+                               case "all":
+                                       rv = mock;
+                                       mock = "";
+                                       break;
+
+                               case "line":
+                                       let i = index(mock, "\n");
+                                       i = (i > -1) ? i + 1 : mock.length;
+                                       rv = substr(mock, 0, i);
+                                       mock = substr(mock, i);
+                                       break;
+
+                               default:
+                                       let n = +amount;
+                                       n = (n > 0) ? n : 0;
+                                       rv = substr(mock, 0, n);
+                                       mock = substr(mock, n);
+                                       break;
                                }
-                       };
-               },
 
-               open: (fpath, mode) => {
-                       let read = (!mode || index(mode, "r") != -1 || index(mode, "+") != -1),
-                           path = sprintf("fs/open~%s.txt", replace(fpath, /[^A-Za-z0-9_-]+/g, '_')),
-                           mock = read ? mocklib.read_data_file(path) : null;
+                               return rv;
+                       },
 
-                       if (read && !mock) {
-                               mocklib.I("No stdout fixture defined for fs.open() path %s.", fpath);
-                               mocklib.I("Provide a mock output through the following text file:\n%s\n", path);
+                       write: function() {},
+                       close: function() {},
 
+                       error: function() {
                                return null;
                        }
+               };
+       },
 
-                       mocklib.trace_call("fs", "open", { path: fpath, mode });
-
-                       return {
-                               read: function(amount) {
-                                       let rv;
-
-                                       switch (amount) {
-                                       case "all":
-                                               rv = mock;
-                                               mock = "";
-                                               break;
-
-                                       case "line":
-                                               let i = index(mock, "\n");
-                                               i = (i > -1) ? i + 1 : mock.length;
-                                               rv = substr(mock, 0, i);
-                                               mock = substr(mock, i);
-                                               break;
-
-                                       default:
-                                               let n = +amount;
-                                               n = (n > 0) ? n : 0;
-                                               rv = substr(mock, 0, n);
-                                               mock = substr(mock, n);
-                                               break;
-                                       }
-
-                                       return rv;
-                               },
-
-                               write: function() {},
-                               close: function() {},
-
-                               error: function() {
-                                       return null;
-                               }
-                       };
-               },
+       opendir: (path) => {
+               let file = sprintf("fs/opendir~%s.json", replace(path, /[^A-Za-z0-9_-]+/g, '_')),
+                   mock = mocklib.read_json_file(file),
+                   index = 0;
 
-               opendir: (path) => {
-                       let file = sprintf("fs/opendir~%s.json", replace(path, /[^A-Za-z0-9_-]+/g, '_')),
-                           mock = mocklib.read_json_file(file),
-                           index = 0;
+               if (!mock || mock != mock) {
+                       mocklib.I("No stat result fixture defined for fs.opendir() call on %s.", path);
+                       mocklib.I("Provide a mock result through the following JSON file:\n%s\n", file);
 
-                       if (!mock || mock != mock) {
-                               mocklib.I("No stat result fixture defined for fs.opendir() call on %s.", path);
-                               mocklib.I("Provide a mock result through the following JSON file:\n%s\n", file);
+                       mock = [];
+               }
 
-                               mock = [];
-                       }
+               mocklib.trace_call("fs", "opendir", { path });
 
-                       mocklib.trace_call("fs", "opendir", { path });
+               return {
+                       read: function() {
+                               return mock[index++];
+                       },
 
-                       return {
-                               read: function() {
-                                       return mock[index++];
-                               },
+                       tell: function() {
+                               return index;
+                       },
 
-                               tell: function() {
-                                       return index;
-                               },
+                       seek: function(i) {
+                               index = i;
+                       },
 
-                               seek: function(i) {
-                                       index = i;
-                               },
+                       close: function() {},
 
-                               close: function() {},
-
-                               error: function() {
-                                       return null;
-                               }
-                       };
-               },
+                       error: function() {
+                               return null;
+                       }
+               };
+       },
 
-               error: () => "Unspecified error"
-       };
+       error: () => "Unspecified error"
+};