Add unit tests for config.json and statistics.js
[WebKit.git] / Websites / perf.webkit.org / tools / js / config.js
1 "use strict";
2
3 var fs = require('fs');
4 var path = require('path');
5
6 var Config = new (class Config {
7     constructor()
8     {
9         this._rootDirectory =  path.resolve(__dirname, '../../'); 
10         this._configPath = path.resolve(this._rootDirectory, 'config.json');
11         this._content = null;
12     }
13
14     configFilePath() { return this._configPath; }
15
16     value(key)
17     {
18         if (!this._content)
19             this._content = JSON.parse(fs.readFileSync(this._configPath));
20
21         let content = this._content;
22         for (var key of key.split('.')) {
23             if (!(key in content))
24                 return null;
25             content = content[key];
26         }
27
28         return content;
29     }
30
31     path(key)
32     {
33         return path.resolve(this._rootDirectory, this.value(key));
34     }
35 });
36
37 if (typeof module != 'undefined')
38     module.exports = Config;