diff --git a/fonts/roboto.css b/fonts/roboto.css index fda90cd2..11d3f41d 100644 --- a/fonts/roboto.css +++ b/fonts/roboto.css @@ -7,7 +7,7 @@ local("Roboto-Thin"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.woff2") format("woff2"), url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.woff") format("woff"), - url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin/Roboto-Thin.ttf") format("truetype"); + url("node_modules/roboto-fontface/fonts/roboto/Roboto-Thin.ttf") format("truetype"); } @font-face { @@ -17,9 +17,9 @@ src: local("Roboto Condensed Light"), local("RobotoCondensed-Light"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Light.woff2") format("woff2"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Light.woff") format("woff"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Light.ttf") format("truetype"); + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.woff2") format("woff2"), + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.woff") format("woff"), + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Light.ttf") format("truetype"); } @font-face { @@ -29,9 +29,9 @@ src: local("Roboto Condensed"), local("RobotoCondensed-Regular"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Regular.woff2") format("woff2"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Regular.woff") format("woff"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Regular.ttf") format("truetype"); + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff2") format("woff2"), + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.woff") format("woff"), + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Regular.ttf") format("truetype"); } @font-face { @@ -41,9 +41,9 @@ src: local("Roboto Condensed Bold"), local("RobotoCondensed-Bold"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Bold.woff2") format("woff2"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Bold.woff") format("woff"), - url("node_modules/roboto-fontface/fonts/roboto-condensed/RobotoCondensed-Bold.ttf") format("truetype"); + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.woff2") format("woff2"), + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.woff") format("woff"), + url("node_modules/roboto-fontface/fonts/roboto-condensed/Roboto-Condensed-Bold.ttf") format("truetype"); } @font-face { diff --git a/package.json b/package.json index 1fb21a9d..0b81fc8a 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,9 @@ "http-auth": "^3.1.3", "jshint": "^2.9.4", "mocha": "^3.4.2", - "stylelint": "^8.0.0", + "mocha-each": "^1.1.0", "spectron": "3.6.x", + "stylelint": "^8.0.0", "stylelint-config-standard": "latest", "time-grunt": "latest" }, diff --git a/tests/e2e/fonts.js b/tests/e2e/fonts.js new file mode 100644 index 00000000..0303414b --- /dev/null +++ b/tests/e2e/fonts.js @@ -0,0 +1,52 @@ +const helpers = require("./global-setup"); +const path = require("path"); +const request = require("request"); + +const expect = require("chai").expect; + +const describe = global.describe; +const it = global.it; +const beforeEach = global.beforeEach; +const afterEach = global.afterEach; +const forEach = require("mocha-each"); + +describe("All font files from roboto.css should be downloadable", function() { + helpers.setupTimeout(this); + + var fontFiles = []; + // Statements below filters out all 'url' lines in the CSS file + var fileContent = require("fs").readFileSync(__dirname + "/../../fonts/roboto.css", "utf8"); + var regex = /\burl\(['"]([^'"]+)['"]\)/g; + var match = regex.exec(fileContent); + while (match != null) { + // Push 1st match group onto fontFiles stack + fontFiles.push(match[1]); + // Find the next one + match = regex.exec(fileContent); + } + + before(function() { + // Set config sample for use in test + process.env.MM_CONFIG_FILE = "tests/configs/without_modules.js"; + + return helpers + .startApplication({ + args: ["js/electron.js"] + }) + .then(function(startedApp) { + app = startedApp; + }); + }); + + after(function() { + return helpers.stopApplication(app); + }); + + forEach(fontFiles).it("should return 200 HTTP code for file '%s'", (fontFile, done) => { + var fontUrl = "http://localhost:8080/fonts/" + fontFile; + request.get(fontUrl, function(err, res, body) { + expect(res.statusCode).to.equal(200); + done(); + }); + }); +});