[Stylesheets] Add spec, docs
Add tests and JSDoc to the style sheet loader introduced to allow bundles to introduce their own CSS files through the platform's regular extension mechanism; WTD-591.
This commit is contained in:
57
platform/commonUI/general/test/StyleSheetLoaderSpec.js
Normal file
57
platform/commonUI/general/test/StyleSheetLoaderSpec.js
Normal file
@@ -0,0 +1,57 @@
|
||||
/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
|
||||
|
||||
define(
|
||||
["../src/StyleSheetLoader"],
|
||||
function (StyleSheetLoader) {
|
||||
"use strict";
|
||||
|
||||
describe("The style sheet loader", function () {
|
||||
var testStyleSheets,
|
||||
mockDocument,
|
||||
mockPlainDocument,
|
||||
mockHead,
|
||||
mockElement,
|
||||
loader;
|
||||
|
||||
beforeEach(function () {
|
||||
var testBundle = {
|
||||
path: "a/b",
|
||||
resources: "c"
|
||||
};
|
||||
|
||||
testStyleSheets = [
|
||||
{ stylesheetUrl: "d.css", bundle: testBundle },
|
||||
{ stylesheetUrl: "e.css", bundle: testBundle },
|
||||
{ stylesheetUrl: "f.css", bundle: testBundle }
|
||||
];
|
||||
|
||||
mockPlainDocument =
|
||||
jasmine.createSpyObj("document", ["createElement"]);
|
||||
mockDocument = [ mockPlainDocument ];
|
||||
mockDocument.find = jasmine.createSpy("$document.find");
|
||||
mockHead = jasmine.createSpyObj("head", ["append"]);
|
||||
mockElement = jasmine.createSpyObj("link", ["setAttribute"]);
|
||||
|
||||
mockDocument.find.andReturn(mockHead);
|
||||
mockPlainDocument.createElement.andReturn(mockElement);
|
||||
|
||||
loader = new StyleSheetLoader(testStyleSheets, mockDocument);
|
||||
});
|
||||
|
||||
it("appends one link per stylesheet extension", function () {
|
||||
expect(mockHead.append.calls.length)
|
||||
.toEqual(testStyleSheets.length);
|
||||
});
|
||||
|
||||
it("appends links to the head", function () {
|
||||
expect(mockDocument.find).toHaveBeenCalledWith('head');
|
||||
});
|
||||
|
||||
it("adjusts link locations", function () {
|
||||
expect(mockElement.setAttribute)
|
||||
.toHaveBeenCalledWith('href', "a/b/c/d.css");
|
||||
});
|
||||
});
|
||||
}
|
||||
);
|
||||
|
||||
@@ -9,5 +9,6 @@
|
||||
"controllers/ViewSwitcherController",
|
||||
"directives/MCTContainer",
|
||||
"directives/MCTDrag",
|
||||
"directives/MCTResize"
|
||||
"directives/MCTResize",
|
||||
"StyleSheetLoader"
|
||||
]
|
||||
Reference in New Issue
Block a user