Replaced jasmine testing framework by mocha, expect.js and sinon
as discussed in #319
This commit is contained in:
4
build.py
4
build.py
@@ -469,7 +469,7 @@ def proj4js_zip(t):
|
||||
if sys.platform == 'win32':
|
||||
@target('test', '%(PHANTOMJS)s', INTERNAL_SRC, PROJ4JS, 'test/requireall.js', phony=True)
|
||||
def test(t):
|
||||
t.run(PHANTOMJS, 'test/phantom-jasmine/run_jasmine_test.coffee', 'test/ol.html')
|
||||
t.run(PHANTOMJS, 'test/mocha-phantomjs.coffee', 'test/ol.html')
|
||||
|
||||
# FIXME the PHANTOMJS should be a pake variable, not a constant
|
||||
@target(PHANTOMJS, PHANTOMJS_WINDOWS_ZIP, clean=False)
|
||||
@@ -484,7 +484,7 @@ if sys.platform == 'win32':
|
||||
else:
|
||||
@target('test', INTERNAL_SRC, PROJ4JS, 'test/requireall.js', phony=True)
|
||||
def test(t):
|
||||
t.run('%(PHANTOMJS)s', 'test/phantom-jasmine/run_jasmine_test.coffee', 'test/ol.html')
|
||||
t.run('%(PHANTOMJS)s', 'test/mocha-phantomjs.coffee', 'test/ol.html')
|
||||
|
||||
|
||||
@target('fixme', phony=True)
|
||||
|
||||
1253
test/expect-0.2.0/expect.js
Normal file
1253
test/expect-0.2.0/expect.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,616 +0,0 @@
|
||||
jasmine.HtmlReporterHelpers = {};
|
||||
|
||||
jasmine.HtmlReporterHelpers.createDom = function(type, attrs, childrenVarArgs) {
|
||||
var el = document.createElement(type);
|
||||
|
||||
for (var i = 2; i < arguments.length; i++) {
|
||||
var child = arguments[i];
|
||||
|
||||
if (typeof child === 'string') {
|
||||
el.appendChild(document.createTextNode(child));
|
||||
} else {
|
||||
if (child) {
|
||||
el.appendChild(child);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var attr in attrs) {
|
||||
if (attr == "className") {
|
||||
el[attr] = attrs[attr];
|
||||
} else {
|
||||
el.setAttribute(attr, attrs[attr]);
|
||||
}
|
||||
}
|
||||
|
||||
return el;
|
||||
};
|
||||
|
||||
jasmine.HtmlReporterHelpers.getSpecStatus = function(child) {
|
||||
var results = child.results();
|
||||
var status = results.passed() ? 'passed' : 'failed';
|
||||
if (results.skipped) {
|
||||
status = 'skipped';
|
||||
}
|
||||
|
||||
return status;
|
||||
};
|
||||
|
||||
jasmine.HtmlReporterHelpers.appendToSummary = function(child, childElement) {
|
||||
var parentDiv = this.dom.summary;
|
||||
var parentSuite = (typeof child.parentSuite == 'undefined') ? 'suite' : 'parentSuite';
|
||||
var parent = child[parentSuite];
|
||||
|
||||
if (parent) {
|
||||
if (typeof this.views.suites[parent.id] == 'undefined') {
|
||||
this.views.suites[parent.id] = new jasmine.HtmlReporter.SuiteView(parent, this.dom, this.views);
|
||||
}
|
||||
parentDiv = this.views.suites[parent.id].element;
|
||||
}
|
||||
|
||||
parentDiv.appendChild(childElement);
|
||||
};
|
||||
|
||||
|
||||
jasmine.HtmlReporterHelpers.addHelpers = function(ctor) {
|
||||
for(var fn in jasmine.HtmlReporterHelpers) {
|
||||
ctor.prototype[fn] = jasmine.HtmlReporterHelpers[fn];
|
||||
}
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter = function(_doc) {
|
||||
var self = this;
|
||||
var doc = _doc || window.document;
|
||||
|
||||
var reporterView;
|
||||
|
||||
var dom = {};
|
||||
|
||||
// Jasmine Reporter Public Interface
|
||||
self.logRunningSpecs = false;
|
||||
|
||||
self.reportRunnerStarting = function(runner) {
|
||||
var specs = runner.specs() || [];
|
||||
|
||||
if (specs.length == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
createReporterDom(runner.env.versionString());
|
||||
doc.body.appendChild(dom.reporter);
|
||||
|
||||
reporterView = new jasmine.HtmlReporter.ReporterView(dom);
|
||||
reporterView.addSpecs(specs, self.specFilter);
|
||||
};
|
||||
|
||||
self.reportRunnerResults = function(runner) {
|
||||
reporterView && reporterView.complete();
|
||||
};
|
||||
|
||||
self.reportSuiteResults = function(suite) {
|
||||
reporterView.suiteComplete(suite);
|
||||
};
|
||||
|
||||
self.reportSpecStarting = function(spec) {
|
||||
if (self.logRunningSpecs) {
|
||||
self.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
|
||||
}
|
||||
};
|
||||
|
||||
self.reportSpecResults = function(spec) {
|
||||
reporterView.specComplete(spec);
|
||||
};
|
||||
|
||||
self.log = function() {
|
||||
var console = jasmine.getGlobal().console;
|
||||
if (console && console.log) {
|
||||
if (console.log.apply) {
|
||||
console.log.apply(console, arguments);
|
||||
} else {
|
||||
console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
self.specFilter = function(spec) {
|
||||
if (!focusedSpecName()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return spec.getFullName().indexOf(focusedSpecName()) === 0;
|
||||
};
|
||||
|
||||
return self;
|
||||
|
||||
function focusedSpecName() {
|
||||
var specName;
|
||||
|
||||
(function memoizeFocusedSpec() {
|
||||
if (specName) {
|
||||
return;
|
||||
}
|
||||
|
||||
var paramMap = [];
|
||||
var params = doc.location.search.substring(1).split('&');
|
||||
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
var p = params[i].split('=');
|
||||
paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
|
||||
}
|
||||
|
||||
specName = paramMap.spec;
|
||||
})();
|
||||
|
||||
return specName;
|
||||
}
|
||||
|
||||
function createReporterDom(version) {
|
||||
dom.reporter = self.createDom('div', { id: 'HTMLReporter', className: 'jasmine_reporter' },
|
||||
dom.banner = self.createDom('div', { className: 'banner' },
|
||||
self.createDom('span', { className: 'title' }, "Jasmine "),
|
||||
self.createDom('span', { className: 'version' }, version)),
|
||||
|
||||
dom.symbolSummary = self.createDom('ul', {className: 'symbolSummary'}),
|
||||
dom.alert = self.createDom('div', {className: 'alert'}),
|
||||
dom.results = self.createDom('div', {className: 'results'},
|
||||
dom.summary = self.createDom('div', { className: 'summary' }),
|
||||
dom.details = self.createDom('div', { id: 'details' }))
|
||||
);
|
||||
}
|
||||
};
|
||||
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter);jasmine.HtmlReporter.ReporterView = function(dom) {
|
||||
this.startedAt = new Date();
|
||||
this.runningSpecCount = 0;
|
||||
this.completeSpecCount = 0;
|
||||
this.passedCount = 0;
|
||||
this.failedCount = 0;
|
||||
this.skippedCount = 0;
|
||||
|
||||
this.createResultsMenu = function() {
|
||||
this.resultsMenu = this.createDom('span', {className: 'resultsMenu bar'},
|
||||
this.summaryMenuItem = this.createDom('a', {className: 'summaryMenuItem', href: "#"}, '0 specs'),
|
||||
' | ',
|
||||
this.detailsMenuItem = this.createDom('a', {className: 'detailsMenuItem', href: "#"}, '0 failing'));
|
||||
|
||||
this.summaryMenuItem.onclick = function() {
|
||||
dom.reporter.className = dom.reporter.className.replace(/ showDetails/g, '');
|
||||
};
|
||||
|
||||
this.detailsMenuItem.onclick = function() {
|
||||
showDetails();
|
||||
};
|
||||
};
|
||||
|
||||
this.addSpecs = function(specs, specFilter) {
|
||||
this.totalSpecCount = specs.length;
|
||||
|
||||
this.views = {
|
||||
specs: {},
|
||||
suites: {}
|
||||
};
|
||||
|
||||
for (var i = 0; i < specs.length; i++) {
|
||||
var spec = specs[i];
|
||||
this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom, this.views);
|
||||
if (specFilter(spec)) {
|
||||
this.runningSpecCount++;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.specComplete = function(spec) {
|
||||
this.completeSpecCount++;
|
||||
|
||||
if (isUndefined(this.views.specs[spec.id])) {
|
||||
this.views.specs[spec.id] = new jasmine.HtmlReporter.SpecView(spec, dom);
|
||||
}
|
||||
|
||||
var specView = this.views.specs[spec.id];
|
||||
|
||||
switch (specView.status()) {
|
||||
case 'passed':
|
||||
this.passedCount++;
|
||||
break;
|
||||
|
||||
case 'failed':
|
||||
this.failedCount++;
|
||||
break;
|
||||
|
||||
case 'skipped':
|
||||
this.skippedCount++;
|
||||
break;
|
||||
}
|
||||
|
||||
specView.refresh();
|
||||
this.refresh();
|
||||
};
|
||||
|
||||
this.suiteComplete = function(suite) {
|
||||
var suiteView = this.views.suites[suite.id];
|
||||
if (isUndefined(suiteView)) {
|
||||
return;
|
||||
}
|
||||
suiteView.refresh();
|
||||
};
|
||||
|
||||
this.refresh = function() {
|
||||
|
||||
if (isUndefined(this.resultsMenu)) {
|
||||
this.createResultsMenu();
|
||||
}
|
||||
|
||||
// currently running UI
|
||||
if (isUndefined(this.runningAlert)) {
|
||||
this.runningAlert = this.createDom('a', {href: "?", className: "runningAlert bar"});
|
||||
dom.alert.appendChild(this.runningAlert);
|
||||
}
|
||||
this.runningAlert.innerHTML = "Running " + this.completeSpecCount + " of " + specPluralizedFor(this.totalSpecCount);
|
||||
|
||||
// skipped specs UI
|
||||
if (isUndefined(this.skippedAlert)) {
|
||||
this.skippedAlert = this.createDom('a', {href: "?", className: "skippedAlert bar"});
|
||||
}
|
||||
|
||||
this.skippedAlert.innerHTML = "Skipping " + this.skippedCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
|
||||
|
||||
if (this.skippedCount === 1 && isDefined(dom.alert)) {
|
||||
dom.alert.appendChild(this.skippedAlert);
|
||||
}
|
||||
|
||||
// passing specs UI
|
||||
if (isUndefined(this.passedAlert)) {
|
||||
this.passedAlert = this.createDom('span', {href: "?", className: "passingAlert bar"});
|
||||
}
|
||||
this.passedAlert.innerHTML = "Passing " + specPluralizedFor(this.passedCount);
|
||||
|
||||
// failing specs UI
|
||||
if (isUndefined(this.failedAlert)) {
|
||||
this.failedAlert = this.createDom('span', {href: "?", className: "failingAlert bar"});
|
||||
}
|
||||
this.failedAlert.innerHTML = "Failing " + specPluralizedFor(this.failedCount);
|
||||
|
||||
if (this.failedCount === 1 && isDefined(dom.alert)) {
|
||||
dom.alert.appendChild(this.failedAlert);
|
||||
dom.alert.appendChild(this.resultsMenu);
|
||||
}
|
||||
|
||||
// summary info
|
||||
this.summaryMenuItem.innerHTML = "" + specPluralizedFor(this.runningSpecCount);
|
||||
this.detailsMenuItem.innerHTML = "" + this.failedCount + " failing";
|
||||
};
|
||||
|
||||
this.complete = function() {
|
||||
dom.alert.removeChild(this.runningAlert);
|
||||
|
||||
this.skippedAlert.innerHTML = "Ran " + this.runningSpecCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
|
||||
|
||||
if (this.failedCount === 0) {
|
||||
dom.alert.appendChild(this.createDom('span', {className: 'passingAlert bar'}, "Passing " + specPluralizedFor(this.passedCount)));
|
||||
} else {
|
||||
showDetails();
|
||||
}
|
||||
|
||||
dom.banner.appendChild(this.createDom('span', {className: 'duration'}, "finished in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s"));
|
||||
};
|
||||
|
||||
return this;
|
||||
|
||||
function showDetails() {
|
||||
if (dom.reporter.className.search(/showDetails/) === -1) {
|
||||
dom.reporter.className += " showDetails";
|
||||
}
|
||||
}
|
||||
|
||||
function isUndefined(obj) {
|
||||
return typeof obj === 'undefined';
|
||||
}
|
||||
|
||||
function isDefined(obj) {
|
||||
return !isUndefined(obj);
|
||||
}
|
||||
|
||||
function specPluralizedFor(count) {
|
||||
var str = count + " spec";
|
||||
if (count > 1) {
|
||||
str += "s"
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.ReporterView);
|
||||
|
||||
|
||||
jasmine.HtmlReporter.SpecView = function(spec, dom, views) {
|
||||
this.spec = spec;
|
||||
this.dom = dom;
|
||||
this.views = views;
|
||||
|
||||
this.symbol = this.createDom('li', { className: 'pending' });
|
||||
this.dom.symbolSummary.appendChild(this.symbol);
|
||||
|
||||
this.summary = this.createDom('div', { className: 'specSummary' },
|
||||
this.createDom('a', {
|
||||
className: 'description',
|
||||
href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
|
||||
title: this.spec.getFullName()
|
||||
}, this.spec.description)
|
||||
);
|
||||
|
||||
this.detail = this.createDom('div', { className: 'specDetail' },
|
||||
this.createDom('a', {
|
||||
className: 'description',
|
||||
href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
|
||||
title: this.spec.getFullName()
|
||||
}, this.spec.getFullName())
|
||||
);
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter.SpecView.prototype.status = function() {
|
||||
return this.getSpecStatus(this.spec);
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter.SpecView.prototype.refresh = function() {
|
||||
this.symbol.className = this.status();
|
||||
|
||||
switch (this.status()) {
|
||||
case 'skipped':
|
||||
break;
|
||||
|
||||
case 'passed':
|
||||
this.appendSummaryToSuiteDiv();
|
||||
break;
|
||||
|
||||
case 'failed':
|
||||
this.appendSummaryToSuiteDiv();
|
||||
this.appendFailureDetail();
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter.SpecView.prototype.appendSummaryToSuiteDiv = function() {
|
||||
this.summary.className += ' ' + this.status();
|
||||
this.appendToSummary(this.spec, this.summary);
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter.SpecView.prototype.appendFailureDetail = function() {
|
||||
this.detail.className += ' ' + this.status();
|
||||
|
||||
var resultItems = this.spec.results().getItems();
|
||||
var messagesDiv = this.createDom('div', { className: 'messages' });
|
||||
|
||||
for (var i = 0; i < resultItems.length; i++) {
|
||||
var result = resultItems[i];
|
||||
|
||||
if (result.type == 'log') {
|
||||
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
|
||||
} else if (result.type == 'expect' && result.passed && !result.passed()) {
|
||||
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
|
||||
|
||||
if (result.trace.stack) {
|
||||
messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (messagesDiv.childNodes.length > 0) {
|
||||
this.detail.appendChild(messagesDiv);
|
||||
this.dom.details.appendChild(this.detail);
|
||||
}
|
||||
};
|
||||
|
||||
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SpecView);jasmine.HtmlReporter.SuiteView = function(suite, dom, views) {
|
||||
this.suite = suite;
|
||||
this.dom = dom;
|
||||
this.views = views;
|
||||
|
||||
this.element = this.createDom('div', { className: 'suite' },
|
||||
this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(this.suite.getFullName()) }, this.suite.description)
|
||||
);
|
||||
|
||||
this.appendToSummary(this.suite, this.element);
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter.SuiteView.prototype.status = function() {
|
||||
return this.getSpecStatus(this.suite);
|
||||
};
|
||||
|
||||
jasmine.HtmlReporter.SuiteView.prototype.refresh = function() {
|
||||
this.element.className += " " + this.status();
|
||||
};
|
||||
|
||||
jasmine.HtmlReporterHelpers.addHelpers(jasmine.HtmlReporter.SuiteView);
|
||||
|
||||
/* @deprecated Use jasmine.HtmlReporter instead
|
||||
*/
|
||||
jasmine.TrivialReporter = function(doc) {
|
||||
this.document = doc || document;
|
||||
this.suiteDivs = {};
|
||||
this.logRunningSpecs = false;
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.createDom = function(type, attrs, childrenVarArgs) {
|
||||
var el = document.createElement(type);
|
||||
|
||||
for (var i = 2; i < arguments.length; i++) {
|
||||
var child = arguments[i];
|
||||
|
||||
if (typeof child === 'string') {
|
||||
el.appendChild(document.createTextNode(child));
|
||||
} else {
|
||||
if (child) { el.appendChild(child); }
|
||||
}
|
||||
}
|
||||
|
||||
for (var attr in attrs) {
|
||||
if (attr == "className") {
|
||||
el[attr] = attrs[attr];
|
||||
} else {
|
||||
el.setAttribute(attr, attrs[attr]);
|
||||
}
|
||||
}
|
||||
|
||||
return el;
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) {
|
||||
var showPassed, showSkipped;
|
||||
|
||||
this.outerDiv = this.createDom('div', { id: 'TrivialReporter', className: 'jasmine_reporter' },
|
||||
this.createDom('div', { className: 'banner' },
|
||||
this.createDom('div', { className: 'logo' },
|
||||
this.createDom('span', { className: 'title' }, "Jasmine"),
|
||||
this.createDom('span', { className: 'version' }, runner.env.versionString())),
|
||||
this.createDom('div', { className: 'options' },
|
||||
"Show ",
|
||||
showPassed = this.createDom('input', { id: "__jasmine_TrivialReporter_showPassed__", type: 'checkbox' }),
|
||||
this.createDom('label', { "for": "__jasmine_TrivialReporter_showPassed__" }, " passed "),
|
||||
showSkipped = this.createDom('input', { id: "__jasmine_TrivialReporter_showSkipped__", type: 'checkbox' }),
|
||||
this.createDom('label', { "for": "__jasmine_TrivialReporter_showSkipped__" }, " skipped")
|
||||
)
|
||||
),
|
||||
|
||||
this.runnerDiv = this.createDom('div', { className: 'runner running' },
|
||||
this.createDom('a', { className: 'run_spec', href: '?' }, "run all"),
|
||||
this.runnerMessageSpan = this.createDom('span', {}, "Running..."),
|
||||
this.finishedAtSpan = this.createDom('span', { className: 'finished-at' }, ""))
|
||||
);
|
||||
|
||||
this.document.body.appendChild(this.outerDiv);
|
||||
|
||||
var suites = runner.suites();
|
||||
for (var i = 0; i < suites.length; i++) {
|
||||
var suite = suites[i];
|
||||
var suiteDiv = this.createDom('div', { className: 'suite' },
|
||||
this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, "run"),
|
||||
this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(suite.getFullName()) }, suite.description));
|
||||
this.suiteDivs[suite.id] = suiteDiv;
|
||||
var parentDiv = this.outerDiv;
|
||||
if (suite.parentSuite) {
|
||||
parentDiv = this.suiteDivs[suite.parentSuite.id];
|
||||
}
|
||||
parentDiv.appendChild(suiteDiv);
|
||||
}
|
||||
|
||||
this.startedAt = new Date();
|
||||
|
||||
var self = this;
|
||||
showPassed.onclick = function(evt) {
|
||||
if (showPassed.checked) {
|
||||
self.outerDiv.className += ' show-passed';
|
||||
} else {
|
||||
self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');
|
||||
}
|
||||
};
|
||||
|
||||
showSkipped.onclick = function(evt) {
|
||||
if (showSkipped.checked) {
|
||||
self.outerDiv.className += ' show-skipped';
|
||||
} else {
|
||||
self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.reportRunnerResults = function(runner) {
|
||||
var results = runner.results();
|
||||
var className = (results.failedCount > 0) ? "runner failed" : "runner passed";
|
||||
this.runnerDiv.setAttribute("class", className);
|
||||
//do it twice for IE
|
||||
this.runnerDiv.setAttribute("className", className);
|
||||
var specs = runner.specs();
|
||||
var specCount = 0;
|
||||
for (var i = 0; i < specs.length; i++) {
|
||||
if (this.specFilter(specs[i])) {
|
||||
specCount++;
|
||||
}
|
||||
}
|
||||
var message = "" + specCount + " spec" + (specCount == 1 ? "" : "s" ) + ", " + results.failedCount + " failure" + ((results.failedCount == 1) ? "" : "s");
|
||||
message += " in " + ((new Date().getTime() - this.startedAt.getTime()) / 1000) + "s";
|
||||
this.runnerMessageSpan.replaceChild(this.createDom('a', { className: 'description', href: '?'}, message), this.runnerMessageSpan.firstChild);
|
||||
|
||||
this.finishedAtSpan.appendChild(document.createTextNode("Finished at " + new Date().toString()));
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.reportSuiteResults = function(suite) {
|
||||
var results = suite.results();
|
||||
var status = results.passed() ? 'passed' : 'failed';
|
||||
if (results.totalCount === 0) { // todo: change this to check results.skipped
|
||||
status = 'skipped';
|
||||
}
|
||||
this.suiteDivs[suite.id].className += " " + status;
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.reportSpecStarting = function(spec) {
|
||||
if (this.logRunningSpecs) {
|
||||
this.log('>> Jasmine Running ' + spec.suite.description + ' ' + spec.description + '...');
|
||||
}
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) {
|
||||
var results = spec.results();
|
||||
var status = results.passed() ? 'passed' : 'failed';
|
||||
if (results.skipped) {
|
||||
status = 'skipped';
|
||||
}
|
||||
var specDiv = this.createDom('div', { className: 'spec ' + status },
|
||||
this.createDom('a', { className: 'run_spec', href: '?spec=' + encodeURIComponent(spec.getFullName()) }, "run"),
|
||||
this.createDom('a', {
|
||||
className: 'description',
|
||||
href: '?spec=' + encodeURIComponent(spec.getFullName()),
|
||||
title: spec.getFullName()
|
||||
}, spec.description));
|
||||
|
||||
|
||||
var resultItems = results.getItems();
|
||||
var messagesDiv = this.createDom('div', { className: 'messages' });
|
||||
for (var i = 0; i < resultItems.length; i++) {
|
||||
var result = resultItems[i];
|
||||
|
||||
if (result.type == 'log') {
|
||||
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage log'}, result.toString()));
|
||||
} else if (result.type == 'expect' && result.passed && !result.passed()) {
|
||||
messagesDiv.appendChild(this.createDom('div', {className: 'resultMessage fail'}, result.message));
|
||||
|
||||
if (result.trace.stack) {
|
||||
messagesDiv.appendChild(this.createDom('div', {className: 'stackTrace'}, result.trace.stack));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (messagesDiv.childNodes.length > 0) {
|
||||
specDiv.appendChild(messagesDiv);
|
||||
}
|
||||
|
||||
this.suiteDivs[spec.suite.id].appendChild(specDiv);
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.log = function() {
|
||||
var console = jasmine.getGlobal().console;
|
||||
if (console && console.log) {
|
||||
if (console.log.apply) {
|
||||
console.log.apply(console, arguments);
|
||||
} else {
|
||||
console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.getLocation = function() {
|
||||
return this.document.location;
|
||||
};
|
||||
|
||||
jasmine.TrivialReporter.prototype.specFilter = function(spec) {
|
||||
var paramMap = {};
|
||||
var params = this.getLocation().search.substring(1).split('&');
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
var p = params[i].split('=');
|
||||
paramMap[decodeURIComponent(p[0])] = decodeURIComponent(p[1]);
|
||||
}
|
||||
|
||||
if (!paramMap.spec) {
|
||||
return true;
|
||||
}
|
||||
return spec.getFullName().indexOf(paramMap.spec) === 0;
|
||||
};
|
||||
@@ -1,81 +0,0 @@
|
||||
body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; }
|
||||
|
||||
#HTMLReporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; }
|
||||
#HTMLReporter a { text-decoration: none; }
|
||||
#HTMLReporter a:hover { text-decoration: underline; }
|
||||
#HTMLReporter p, #HTMLReporter h1, #HTMLReporter h2, #HTMLReporter h3, #HTMLReporter h4, #HTMLReporter h5, #HTMLReporter h6 { margin: 0; line-height: 14px; }
|
||||
#HTMLReporter .banner, #HTMLReporter .symbolSummary, #HTMLReporter .summary, #HTMLReporter .resultMessage, #HTMLReporter .specDetail .description, #HTMLReporter .alert .bar, #HTMLReporter .stackTrace { padding-left: 9px; padding-right: 9px; }
|
||||
#HTMLReporter #jasmine_content { position: fixed; right: 100%; }
|
||||
#HTMLReporter .version { color: #aaaaaa; }
|
||||
#HTMLReporter .banner { margin-top: 14px; }
|
||||
#HTMLReporter .duration { color: #aaaaaa; float: right; }
|
||||
#HTMLReporter .symbolSummary { overflow: hidden; *zoom: 1; margin: 14px 0; }
|
||||
#HTMLReporter .symbolSummary li { display: block; float: left; height: 7px; width: 14px; margin-bottom: 7px; font-size: 16px; }
|
||||
#HTMLReporter .symbolSummary li.passed { font-size: 14px; }
|
||||
#HTMLReporter .symbolSummary li.passed:before { color: #5e7d00; content: "\02022"; }
|
||||
#HTMLReporter .symbolSummary li.failed { line-height: 9px; }
|
||||
#HTMLReporter .symbolSummary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; }
|
||||
#HTMLReporter .symbolSummary li.skipped { font-size: 14px; }
|
||||
#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; }
|
||||
#HTMLReporter .symbolSummary li.pending { line-height: 11px; }
|
||||
#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; }
|
||||
#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }
|
||||
#HTMLReporter .runningAlert { background-color: #666666; }
|
||||
#HTMLReporter .skippedAlert { background-color: #aaaaaa; }
|
||||
#HTMLReporter .skippedAlert:first-child { background-color: #333333; }
|
||||
#HTMLReporter .skippedAlert:hover { text-decoration: none; color: white; text-decoration: underline; }
|
||||
#HTMLReporter .passingAlert { background-color: #a6b779; }
|
||||
#HTMLReporter .passingAlert:first-child { background-color: #5e7d00; }
|
||||
#HTMLReporter .failingAlert { background-color: #cf867e; }
|
||||
#HTMLReporter .failingAlert:first-child { background-color: #b03911; }
|
||||
#HTMLReporter .results { margin-top: 14px; }
|
||||
#HTMLReporter #details { display: none; }
|
||||
#HTMLReporter .resultsMenu, #HTMLReporter .resultsMenu a { background-color: #fff; color: #333333; }
|
||||
#HTMLReporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; }
|
||||
#HTMLReporter.showDetails .summaryMenuItem:hover { text-decoration: underline; }
|
||||
#HTMLReporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; }
|
||||
#HTMLReporter.showDetails .summary { display: none; }
|
||||
#HTMLReporter.showDetails #details { display: block; }
|
||||
#HTMLReporter .summaryMenuItem { font-weight: bold; text-decoration: underline; }
|
||||
#HTMLReporter .summary { margin-top: 14px; }
|
||||
#HTMLReporter .summary .suite .suite, #HTMLReporter .summary .specSummary { margin-left: 14px; }
|
||||
#HTMLReporter .summary .specSummary.passed a { color: #5e7d00; }
|
||||
#HTMLReporter .summary .specSummary.failed a { color: #b03911; }
|
||||
#HTMLReporter .description + .suite { margin-top: 0; }
|
||||
#HTMLReporter .suite { margin-top: 14px; }
|
||||
#HTMLReporter .suite a { color: #333333; }
|
||||
#HTMLReporter #details .specDetail { margin-bottom: 28px; }
|
||||
#HTMLReporter #details .specDetail .description { display: block; color: white; background-color: #b03911; }
|
||||
#HTMLReporter .resultMessage { padding-top: 14px; color: #333333; }
|
||||
#HTMLReporter .resultMessage span.result { display: block; }
|
||||
#HTMLReporter .stackTrace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; }
|
||||
|
||||
#TrivialReporter { padding: 8px 13px; position: absolute; top: 0; bottom: 0; left: 0; right: 0; overflow-y: scroll; background-color: white; font-family: "Helvetica Neue Light", "Lucida Grande", "Calibri", "Arial", sans-serif; /*.resultMessage {*/ /*white-space: pre;*/ /*}*/ }
|
||||
#TrivialReporter a:visited, #TrivialReporter a { color: #303; }
|
||||
#TrivialReporter a:hover, #TrivialReporter a:active { color: blue; }
|
||||
#TrivialReporter .run_spec { float: right; padding-right: 5px; font-size: .8em; text-decoration: none; }
|
||||
#TrivialReporter .banner { color: #303; background-color: #fef; padding: 5px; }
|
||||
#TrivialReporter .logo { float: left; font-size: 1.1em; padding-left: 5px; }
|
||||
#TrivialReporter .logo .version { font-size: .6em; padding-left: 1em; }
|
||||
#TrivialReporter .runner.running { background-color: yellow; }
|
||||
#TrivialReporter .options { text-align: right; font-size: .8em; }
|
||||
#TrivialReporter .suite { border: 1px outset gray; margin: 5px 0; padding-left: 1em; }
|
||||
#TrivialReporter .suite .suite { margin: 5px; }
|
||||
#TrivialReporter .suite.passed { background-color: #dfd; }
|
||||
#TrivialReporter .suite.failed { background-color: #fdd; }
|
||||
#TrivialReporter .spec { margin: 5px; padding-left: 1em; clear: both; }
|
||||
#TrivialReporter .spec.failed, #TrivialReporter .spec.passed, #TrivialReporter .spec.skipped { padding-bottom: 5px; border: 1px solid gray; }
|
||||
#TrivialReporter .spec.failed { background-color: #fbb; border-color: red; }
|
||||
#TrivialReporter .spec.passed { background-color: #bfb; border-color: green; }
|
||||
#TrivialReporter .spec.skipped { background-color: #bbb; }
|
||||
#TrivialReporter .messages { border-left: 1px dashed gray; padding-left: 1em; padding-right: 1em; }
|
||||
#TrivialReporter .passed { background-color: #cfc; display: none; }
|
||||
#TrivialReporter .failed { background-color: #fbb; }
|
||||
#TrivialReporter .skipped { color: #777; background-color: #eee; display: none; }
|
||||
#TrivialReporter .resultMessage span.result { display: block; line-height: 2em; color: black; }
|
||||
#TrivialReporter .resultMessage .mismatch { color: black; }
|
||||
#TrivialReporter .stackTrace { white-space: pre; font-size: .8em; margin-left: 10px; max-height: 5em; overflow: auto; border: 1px inset red; padding: 1em; background: #eef; }
|
||||
#TrivialReporter .finished-at { padding-left: 1em; font-size: .6em; }
|
||||
#TrivialReporter.show-passed .passed, #TrivialReporter.show-skipped .skipped { display: block; }
|
||||
#TrivialReporter #jasmine_content { position: fixed; right: 100%; }
|
||||
#TrivialReporter .runner { border: 1px solid gray; display: block; margin: 5px 0; padding: 2px 0 2px 10px; }
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +0,0 @@
|
||||
beforeEach(function() {
|
||||
var parent = this.getMatchersClass_();
|
||||
this.addMatchers({
|
||||
toBeA: function(type) {
|
||||
return this.actual instanceof type;
|
||||
},
|
||||
toRoughlyEqual: function(other, tol) {
|
||||
return Math.abs(this.actual - other) <= tol;
|
||||
}
|
||||
});
|
||||
});
|
||||
5
test/jquery-1.9.1/jquery.min.js
vendored
Normal file
5
test/jquery-1.9.1/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@@ -1,8 +1,10 @@
|
||||
Copyright (c) 2008-2011 Pivotal Labs
|
||||
(The MIT License)
|
||||
|
||||
Copyright (c) 2011-2013 TJ Holowaychuk <tj@vision-media.ca>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
'Software'), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
@@ -11,10 +13,10 @@ the following conditions:
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
231
test/mocha-1.8.1/mocha.css
Normal file
231
test/mocha-1.8.1/mocha.css
Normal file
@@ -0,0 +1,231 @@
|
||||
@charset "utf-8";
|
||||
|
||||
body {
|
||||
font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
padding: 60px 50px;
|
||||
}
|
||||
|
||||
#mocha ul, #mocha li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#mocha ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
#mocha h1, #mocha h2 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#mocha h1 {
|
||||
margin-top: 15px;
|
||||
font-size: 1em;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
#mocha h1 a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#mocha h1 a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#mocha .suite .suite h1 {
|
||||
margin-top: 0;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha h2 {
|
||||
font-size: 12px;
|
||||
font-weight: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
#mocha .suite {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#mocha .test {
|
||||
margin-left: 15px;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#mocha .test.pending:hover h2::after {
|
||||
content: '(pending)';
|
||||
font-family: arial;
|
||||
}
|
||||
|
||||
#mocha .test.pass.medium .duration {
|
||||
background: #C09853;
|
||||
}
|
||||
|
||||
#mocha .test.pass.slow .duration {
|
||||
background: #B94A48;
|
||||
}
|
||||
|
||||
#mocha .test.pass::before {
|
||||
content: '✓';
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
color: #00d6b2;
|
||||
}
|
||||
|
||||
#mocha .test.pass .duration {
|
||||
font-size: 9px;
|
||||
margin-left: 5px;
|
||||
padding: 2px 5px;
|
||||
color: white;
|
||||
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
|
||||
-moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
|
||||
box-shadow: inset 0 1px 1px rgba(0,0,0,.2);
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-ms-border-radius: 5px;
|
||||
-o-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
#mocha .test.pass.fast .duration {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha .test.pending {
|
||||
color: #0b97c4;
|
||||
}
|
||||
|
||||
#mocha .test.pending::before {
|
||||
content: '◦';
|
||||
color: #0b97c4;
|
||||
}
|
||||
|
||||
#mocha .test.fail {
|
||||
color: #c00;
|
||||
}
|
||||
|
||||
#mocha .test.fail pre {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#mocha .test.fail::before {
|
||||
content: '✖';
|
||||
font-size: 12px;
|
||||
display: block;
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
color: #c00;
|
||||
}
|
||||
|
||||
#mocha .test pre.error {
|
||||
color: #c00;
|
||||
max-height: 300px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#mocha .test pre {
|
||||
display: block;
|
||||
float: left;
|
||||
clear: left;
|
||||
font: 12px/1.5 monaco, monospace;
|
||||
margin: 5px;
|
||||
padding: 15px;
|
||||
border: 1px solid #eee;
|
||||
border-bottom-color: #ddd;
|
||||
-webkit-border-radius: 3px;
|
||||
-webkit-box-shadow: 0 1px 3px #eee;
|
||||
-moz-border-radius: 3px;
|
||||
-moz-box-shadow: 0 1px 3px #eee;
|
||||
}
|
||||
|
||||
#mocha .test h2 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#mocha .test a.replay {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 0;
|
||||
text-decoration: none;
|
||||
vertical-align: middle;
|
||||
display: block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
line-height: 15px;
|
||||
text-align: center;
|
||||
background: #eee;
|
||||
font-size: 15px;
|
||||
-moz-border-radius: 15px;
|
||||
border-radius: 15px;
|
||||
-webkit-transition: opacity 200ms;
|
||||
-moz-transition: opacity 200ms;
|
||||
transition: opacity 200ms;
|
||||
opacity: 0.3;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
#mocha .test:hover a.replay {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#mocha-report.pass .test.fail {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha-report.fail .test.pass {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#mocha-error {
|
||||
color: #c00;
|
||||
font-size: 1.5 em;
|
||||
font-weight: 100;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
#mocha-stats {
|
||||
position: fixed;
|
||||
top: 15px;
|
||||
right: 10px;
|
||||
font-size: 12px;
|
||||
margin: 0;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
#mocha-stats .progress {
|
||||
float: right;
|
||||
padding-top: 0;
|
||||
}
|
||||
|
||||
#mocha-stats em {
|
||||
color: black;
|
||||
}
|
||||
|
||||
#mocha-stats a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
#mocha-stats a:hover {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
#mocha-stats li {
|
||||
display: inline-block;
|
||||
margin: 0 5px;
|
||||
list-style: none;
|
||||
padding-top: 11px;
|
||||
}
|
||||
|
||||
code .comment { color: #ddd }
|
||||
code .init { color: #2F6FAD }
|
||||
code .string { color: #5890AD }
|
||||
code .keyword { color: #8A6343 }
|
||||
code .number { color: #2F6FAD }
|
||||
5340
test/mocha-1.8.1/mocha.js
Normal file
5340
test/mocha-1.8.1/mocha.js
Normal file
File diff suppressed because it is too large
Load Diff
261
test/mocha-phantomjs.coffee
Normal file
261
test/mocha-phantomjs.coffee
Normal file
@@ -0,0 +1,261 @@
|
||||
system = require 'system'
|
||||
webpage = require 'webpage'
|
||||
|
||||
USAGE = """
|
||||
Usage: phantomjs mocha-phantomjs.coffee URL REPORTER [CONFIG]
|
||||
"""
|
||||
|
||||
class Reporter
|
||||
|
||||
constructor: (@reporter, @config) ->
|
||||
@url = system.args[1]
|
||||
@columns = parseInt(system.env.COLUMNS or 75) * .75 | 0
|
||||
@mochaStarted = false
|
||||
@mochaStartWait = @config.timeout || 6000
|
||||
@startTime = Date.now()
|
||||
@fail(USAGE) unless @url
|
||||
|
||||
run: ->
|
||||
@initPage()
|
||||
@loadPage()
|
||||
|
||||
# Subclass Hooks
|
||||
|
||||
customizeRunner: (options) ->
|
||||
undefined
|
||||
|
||||
customizeProcessStdout: (options) ->
|
||||
undefined
|
||||
|
||||
customizeConsole: (options) ->
|
||||
undefined
|
||||
|
||||
customizeOptions: ->
|
||||
columns: @columns
|
||||
|
||||
# Private
|
||||
|
||||
fail: (msg, errno) ->
|
||||
console.log msg if msg
|
||||
phantom.exit errno || 1
|
||||
|
||||
finish: ->
|
||||
phantom.exit @page.evaluate -> mochaPhantomJS.failures
|
||||
|
||||
initPage: ->
|
||||
@page = webpage.create
|
||||
settings: @config.settings
|
||||
@page.customHeaders = @config.headers if @config.headers
|
||||
for name, value of @config.cookies
|
||||
@page.addCookie
|
||||
name: name
|
||||
value: value
|
||||
@page.viewportSize = @config.viewportSize if @config.viewportSize
|
||||
@page.onConsoleMessage = (msg) -> console.log msg
|
||||
@page.onInitialized = =>
|
||||
@page.evaluate ->
|
||||
window.mochaPhantomJS =
|
||||
failures: 0
|
||||
ended: false
|
||||
started: false
|
||||
run: ->
|
||||
mochaPhantomJS.started = true
|
||||
window.callPhantom 'mochaPhantomJS.run'
|
||||
|
||||
loadPage: ->
|
||||
@page.open @url
|
||||
@page.onLoadFinished = (status) =>
|
||||
@page.onLoadFinished = ->
|
||||
@onLoadFailed() if status isnt 'success'
|
||||
@waitForInitMocha()
|
||||
@page.onCallback = (data) =>
|
||||
if data is 'mochaPhantomJS.run'
|
||||
@waitForRunMocha() if @injectJS()
|
||||
|
||||
onLoadFailed: ->
|
||||
@fail "Failed to load the page. Check the url: #{@url}"
|
||||
|
||||
injectJS: ->
|
||||
if @page.evaluate(-> window.mocha?)
|
||||
@page.injectJs 'mocha-phantomjs/core_extensions.js'
|
||||
@page.evaluate @customizeProcessStdout, @customizeOptions()
|
||||
@page.evaluate @customizeConsole, @customizeOptions()
|
||||
true
|
||||
else
|
||||
@fail "Failed to find mocha on the page."
|
||||
false
|
||||
|
||||
runMocha: ->
|
||||
if @config.useColors is false then @page.evaluate -> Mocha.reporters.Base.useColors = false
|
||||
@page.evaluate @runner, @reporter
|
||||
@mochaStarted = @page.evaluate -> mochaPhantomJS.runner or false
|
||||
if @mochaStarted
|
||||
@mochaRunAt = new Date().getTime()
|
||||
@page.evaluate @customizeRunner, @customizeOptions()
|
||||
@waitForMocha()
|
||||
else
|
||||
@fail "Failed to start mocha."
|
||||
|
||||
waitForMocha: =>
|
||||
ended = @page.evaluate -> mochaPhantomJS.ended
|
||||
if ended then @finish() else setTimeout @waitForMocha, 100
|
||||
|
||||
waitForInitMocha: =>
|
||||
setTimeout @waitForInitMocha, 100 unless @checkStarted()
|
||||
|
||||
waitForRunMocha: =>
|
||||
if @checkStarted() then @runMocha() else setTimeout @waitForRunMocha, 100
|
||||
|
||||
checkStarted: =>
|
||||
started = @page.evaluate -> mochaPhantomJS.started
|
||||
if !started && @mochaStartWait && @startTime + @mochaStartWait < Date.now()
|
||||
@fail "Failed to start mocha: Init timeout", 255
|
||||
started
|
||||
|
||||
runner: (reporter) ->
|
||||
try
|
||||
mocha.setup reporter: reporter
|
||||
mochaPhantomJS.runner = mocha.run()
|
||||
if mochaPhantomJS.runner
|
||||
cleanup = ->
|
||||
mochaPhantomJS.failures = mochaPhantomJS.runner.failures
|
||||
mochaPhantomJS.ended = true
|
||||
if mochaPhantomJS.runner?.stats?.end
|
||||
cleanup()
|
||||
else
|
||||
mochaPhantomJS.runner.on 'end', cleanup
|
||||
catch error
|
||||
false
|
||||
|
||||
class Spec extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'spec', config
|
||||
|
||||
customizeProcessStdout: (options) ->
|
||||
process.stdout.write = (string) ->
|
||||
return if string is process.cursor.deleteLine or string is process.cursor.beginningOfLine
|
||||
console.log string
|
||||
|
||||
customizeConsole: (options) ->
|
||||
process.cursor.CRMatcher = /\s+◦\s\S/
|
||||
process.cursor.CRCleaner = process.cursor.up + process.cursor.deleteLine
|
||||
origLog = console.log
|
||||
console.log = ->
|
||||
string = console.format.apply(console, arguments)
|
||||
if string.match(process.cursor.CRMatcher)
|
||||
process.cursor.CRCleanup = true
|
||||
else if process.cursor.CRCleanup
|
||||
string = process.cursor.CRCleaner + string
|
||||
process.cursor.CRCleanup = false
|
||||
origLog.call console, string
|
||||
|
||||
class Dot extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'dot', config
|
||||
|
||||
customizeProcessStdout: (options) ->
|
||||
process.cursor.margin = 2
|
||||
process.cursor.CRMatcher = /\u001b\[\d\dm\․\u001b\[0m/
|
||||
process.stdout.columns = options.columns
|
||||
process.stdout.allowedFirstNewLine = false
|
||||
process.stdout.write = (string) ->
|
||||
if string is '\n '
|
||||
unless process.stdout.allowedFirstNewLine
|
||||
process.stdout.allowedFirstNewLine = true
|
||||
else
|
||||
return
|
||||
else if string.match(process.cursor.CRMatcher)
|
||||
if process.cursor.count is process.stdout.columns
|
||||
process.cursor.count = 0
|
||||
forward = process.cursor.margin
|
||||
string = process.cursor.forwardN(forward) + string
|
||||
else
|
||||
forward = process.cursor.margin + process.cursor.count
|
||||
string = process.cursor.up + process.cursor.forwardN(forward) + string
|
||||
++process.cursor.count
|
||||
console.log string
|
||||
|
||||
class Tap extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'tap', config
|
||||
|
||||
class List extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'list', config
|
||||
|
||||
customizeProcessStdout: (options) ->
|
||||
process.stdout.write = (string) ->
|
||||
return if string is process.cursor.deleteLine or string is process.cursor.beginningOfLine
|
||||
console.log string
|
||||
|
||||
customizeProcessStdout: (options) ->
|
||||
process.cursor.CRMatcher = /\u001b\[90m.*:\s\u001b\[0m/
|
||||
process.cursor.CRCleaner = (string) -> process.cursor.up + process.cursor.deleteLine + string + process.cursor.up + process.cursor.up
|
||||
origLog = console.log
|
||||
console.log = ->
|
||||
string = console.format.apply(console, arguments)
|
||||
if string.match /\u001b\[32m\s\s-\u001b\[0m/
|
||||
string = string
|
||||
process.cursor.CRCleanup = false
|
||||
if string.match(process.cursor.CRMatcher)
|
||||
process.cursor.CRCleanup = true
|
||||
else if process.cursor.CRCleanup
|
||||
string = process.cursor.CRCleaner(string)
|
||||
process.cursor.CRCleanup = false
|
||||
origLog.call console, string
|
||||
|
||||
class Min extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'min', config
|
||||
|
||||
class Doc extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'doc', config
|
||||
|
||||
class Teamcity extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'teamcity', config
|
||||
|
||||
class Xunit extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'xunit', config
|
||||
|
||||
class Json extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'json', config
|
||||
|
||||
class JsonCov extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'json-cov', config
|
||||
|
||||
class HtmlCov extends Reporter
|
||||
|
||||
constructor: (config) ->
|
||||
super 'html-cov', config
|
||||
|
||||
|
||||
reporterString = system.args[2] || 'spec'
|
||||
reporterString = ("#{s.charAt(0).toUpperCase()}#{s.slice(1)}" for s in reporterString.split('-')).join('')
|
||||
reporterKlass = try
|
||||
eval(reporterString)
|
||||
catch error
|
||||
undefined
|
||||
|
||||
config = JSON.parse(system.args[3] || '{}')
|
||||
|
||||
if reporterKlass
|
||||
reporter = new reporterKlass config
|
||||
reporter.run()
|
||||
else
|
||||
console.log "Reporter class not implemented: #{reporterString}"
|
||||
phantom.exit 1
|
||||
86
test/mocha-phantomjs/core_extensions.js
Normal file
86
test/mocha-phantomjs/core_extensions.js
Normal file
@@ -0,0 +1,86 @@
|
||||
(function(){
|
||||
|
||||
// A shim for non ES5 supporting browsers, like PhantomJS. Lovingly inspired by:
|
||||
// http://www.angrycoding.com/2011/09/to-bind-or-not-to-bind-that-is-in.html
|
||||
if (!('bind' in Function.prototype)) {
|
||||
Function.prototype.bind = function() {
|
||||
var funcObj = this;
|
||||
var extraArgs = Array.prototype.slice.call(arguments);
|
||||
var thisObj = extraArgs.shift();
|
||||
return function() {
|
||||
return funcObj.apply(thisObj, extraArgs.concat(Array.prototype.slice.call(arguments)));
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
// Mocha needs process.stdout.write in order to change the cursor position. However,
|
||||
// PhantomJS console.log always puts a new line character when logging and no STDOUT or
|
||||
// stream access is available, outside writing to /dev/stdout, etc. To work around
|
||||
// this, runner classes typically override `process.stdout.write` as needed to simulate
|
||||
// write to standard out using cursor commands.
|
||||
process.cursor = {
|
||||
count: 0,
|
||||
margin: 0,
|
||||
buffer: '',
|
||||
CRCleanup: false,
|
||||
CRMatcher: undefined,
|
||||
CRCleaner: undefined,
|
||||
hide: '\u001b[?25l',
|
||||
show: '\u001b[?25h',
|
||||
deleteLine: '\u001b[2K',
|
||||
beginningOfLine: '\u001b[0G',
|
||||
up: '\u001b[A',
|
||||
down: '\u001b[B',
|
||||
forward: '\u001b[C',
|
||||
forwardN: function(n){ return '\u001b[' + n + 'C'; },
|
||||
backward: '\u001b[D',
|
||||
nextLine: '\u001b[E',
|
||||
previousLine: '\u001b[F'
|
||||
}
|
||||
process.stdout.columns = 0;
|
||||
process.stdout.write = function(string) { console.log(string); }
|
||||
|
||||
// Mocha needs the formating feature of console.log so copy node's format function and
|
||||
// monkey-patch it into place. This code is copied from node's, links copyright applies.
|
||||
// https://github.com/joyent/node/blob/master/lib/util.js
|
||||
console.format = function(f) {
|
||||
if (typeof f !== 'string') {
|
||||
var objects = [];
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
objects.push(JSON.stringify(arguments[i]));
|
||||
}
|
||||
return objects.join(' ');
|
||||
}
|
||||
var i = 1;
|
||||
var args = arguments;
|
||||
var len = args.length;
|
||||
var str = String(f).replace(/%[sdj%]/g, function(x) {
|
||||
if (x === '%%') return '%';
|
||||
if (i >= len) return x;
|
||||
switch (x) {
|
||||
case '%s': return String(args[i++]);
|
||||
case '%d': return Number(args[i++]);
|
||||
case '%j': return JSON.stringify(args[i++]);
|
||||
default:
|
||||
return x;
|
||||
}
|
||||
});
|
||||
for (var x = args[i]; i < len; x = args[++i]) {
|
||||
if (x === null || typeof x !== 'object') {
|
||||
str += ' ' + x;
|
||||
} else {
|
||||
str += ' ' + JSON.stringify(x);
|
||||
}
|
||||
}
|
||||
return str;
|
||||
};
|
||||
var origError = console.error;
|
||||
console.error = function(){ origError.call(console, console.format.apply(console, arguments)); };
|
||||
var origLog = console.log;
|
||||
console.log = function(){ origLog.call(console, console.format.apply(console, arguments)); };
|
||||
|
||||
})();
|
||||
|
||||
|
||||
|
||||
|
||||
93
test/ol.html
93
test/ol.html
@@ -1,10 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- FIXME console reporter output does not include name of top-level describe -->
|
||||
<!-- FIXME console reporter requires window.console_reporter. This is to be
|
||||
reported to phantom-jasmine -->
|
||||
|
||||
|
||||
<!--
|
||||
|
||||
Note: we assume that Plovr is available at <hostname>:9810, where
|
||||
@@ -19,12 +14,24 @@
|
||||
<head>
|
||||
<title>OL Spec Runner</title>
|
||||
|
||||
<link rel="shortcut icon" type="image/png" href="jasmine-1.2.0/jasmine_favicon.png">
|
||||
<link rel="stylesheet" type="text/css" href="jasmine-1.2.0/jasmine.css">
|
||||
<script type="text/javascript" src="jasmine-1.2.0/jasmine.js"></script>
|
||||
<script type="text/javascript" src="jasmine-1.2.0/jasmine-html.js"></script>
|
||||
<script type="text/javascript" src="phantom-jasmine/console-runner.js"></script>
|
||||
<script type="text/javascript" src="jasmine-extensions.js"></script>
|
||||
<meta charset="utf-8">
|
||||
<link rel="stylesheet" type="text/css" href="mocha-1.8.1/mocha.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="mocha"></div>
|
||||
|
||||
<script type="text/javascript" src="jquery-1.9.1/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="expect-0.2.0/expect.js"></script>
|
||||
<script type="text/javascript" src="sinon-1.6.0/sinon.js"></script>
|
||||
<script type="text/javascript" src="mocha-1.8.1/mocha.js"></script>
|
||||
<script type="text/javascript" src="test-extensions.js"></script>
|
||||
<script>
|
||||
mocha.setup({
|
||||
ui: 'bdd',
|
||||
ignoreLeaks: true
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript" src="../build/proj4js/lib/proj4js-combined.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
@@ -41,75 +48,21 @@
|
||||
+ 'src="http://' + plovrHost + '/compile?id=test&mode=RAW">'
|
||||
+ '</scr' + 'ipt>';
|
||||
|
||||
// this function will fix the links of the result to also include
|
||||
// the once defined URL Parametrs passed to the testsuite.
|
||||
function fixLinks() {
|
||||
if (doc.getElementsByTagName) {
|
||||
var candidates = doc.getElementsByTagName('a'),
|
||||
link,
|
||||
hrefExpression = /\?spec/,
|
||||
i = 0, len = candidates.length;
|
||||
for(; i < len; i++){
|
||||
link = candidates[i];
|
||||
if (hrefExpression.test(link.href)) {
|
||||
link.href += '&plov_host=' + encodeURIComponent(plovrHost);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// write out the script-tag to load the compiled result
|
||||
doc.write(script);
|
||||
|
||||
// overwrite jasmines finishCallback to fix the links
|
||||
jasmine.Runner.prototype.finishCallback = function() {
|
||||
jasmine.getEnv().reporter.reportRunnerResults(this);
|
||||
fixLinks();
|
||||
};
|
||||
})(document, location);
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
(function() {
|
||||
var jasmineEnv = jasmine.getEnv();
|
||||
jasmineEnv.updateInterval = 1000;
|
||||
|
||||
// HTML reporter
|
||||
|
||||
var htmlReporter = new jasmine.HtmlReporter();
|
||||
jasmineEnv.addReporter(htmlReporter);
|
||||
jasmineEnv.specFilter = function(spec) {
|
||||
return htmlReporter.specFilter(spec);
|
||||
};
|
||||
|
||||
// Console reporter (for headless testing)
|
||||
|
||||
var consoleReporter = new jasmine.ConsoleReporter();
|
||||
jasmineEnv.addReporter(consoleReporter);
|
||||
// The run_jasmine_test.coffee script (from phantom-jasmine)
|
||||
// assumes that the console reporter instance is available
|
||||
// in the global namespace object as "console_reporter".
|
||||
// Stupid.
|
||||
window.console_reporter = consoleReporter;
|
||||
|
||||
var currentWindowOnload = window.onload;
|
||||
|
||||
window.onload = function() {
|
||||
if (currentWindowOnload) {
|
||||
currentWindowOnload();
|
||||
}
|
||||
jasmineEnv.execute();
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
if (window.mochaPhantomJS) {
|
||||
mochaPhantomJS.run();
|
||||
} else {
|
||||
mocha.run();
|
||||
}
|
||||
</script>
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="map"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
/**
|
||||
Jasmine Reporter that outputs test results to the browser console.
|
||||
Useful for running in a headless environment such as PhantomJs, ZombieJs etc.
|
||||
|
||||
Usage:
|
||||
// From your html file that loads jasmine:
|
||||
jasmine.getEnv().addReporter(new jasmine.ConsoleReporter());
|
||||
jasmine.getEnv().execute();
|
||||
*/
|
||||
|
||||
(function(jasmine, console) {
|
||||
if (!jasmine) {
|
||||
throw "jasmine library isn't loaded!";
|
||||
}
|
||||
|
||||
var ANSI = {};
|
||||
ANSI.color_map = {
|
||||
"green" : 32,
|
||||
"red" : 31
|
||||
};
|
||||
|
||||
ANSI.colorize_text = function(text, color) {
|
||||
var color_code = this.color_map[color];
|
||||
return "\033[" + color_code + "m" + text + "\033[0m";
|
||||
};
|
||||
|
||||
var ConsoleReporter = function() {
|
||||
if (!console || !console.log) { throw "console isn't present!"; }
|
||||
this.status = this.statuses.stopped;
|
||||
};
|
||||
|
||||
var proto = ConsoleReporter.prototype;
|
||||
proto.statuses = {
|
||||
stopped : "stopped",
|
||||
running : "running",
|
||||
fail : "fail",
|
||||
success : "success"
|
||||
};
|
||||
|
||||
proto.reportRunnerStarting = function(runner) {
|
||||
this.status = this.statuses.running;
|
||||
this.start_time = (new Date()).getTime();
|
||||
this.executed_specs = 0;
|
||||
this.passed_specs = 0;
|
||||
this.log("Starting...");
|
||||
};
|
||||
|
||||
proto.reportRunnerResults = function(runner) {
|
||||
var failed = this.executed_specs - this.passed_specs;
|
||||
var spec_str = this.executed_specs + (this.executed_specs === 1 ? " spec, " : " specs, ");
|
||||
var fail_str = failed + (failed === 1 ? " failure in " : " failures in ");
|
||||
var color = (failed > 0)? "red" : "green";
|
||||
var dur = (new Date()).getTime() - this.start_time;
|
||||
|
||||
this.log("");
|
||||
this.log("Finished");
|
||||
this.log("-----------------");
|
||||
this.log(spec_str + fail_str + (dur/1000) + "s.", color);
|
||||
|
||||
this.status = (failed > 0)? this.statuses.fail : this.statuses.success;
|
||||
|
||||
/* Print something that signals that testing is over so that headless browsers
|
||||
like PhantomJs know when to terminate. */
|
||||
this.log("");
|
||||
this.log("ConsoleReporter finished");
|
||||
};
|
||||
|
||||
|
||||
proto.reportSpecStarting = function(spec) {
|
||||
this.executed_specs++;
|
||||
};
|
||||
|
||||
proto.reportSpecResults = function(spec) {
|
||||
if (spec.results().passed()) {
|
||||
this.passed_specs++;
|
||||
return;
|
||||
}
|
||||
|
||||
var resultText = spec.suite.description + " : " + spec.description;
|
||||
this.log(resultText, "red");
|
||||
|
||||
var items = spec.results().getItems();
|
||||
for (var i = 0; i < items.length; i++) {
|
||||
var trace = items[i].trace.stack || items[i].trace;
|
||||
this.log(trace, "red");
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Will hold the title of the current 'group'.
|
||||
*/
|
||||
proto.lastTitle = "";
|
||||
|
||||
/**
|
||||
* Pads given string up to a target length with a given character on either
|
||||
* the left or right side.
|
||||
*/
|
||||
proto.pad = function(string, len, char, side){
|
||||
var str = string + "",
|
||||
whichSide = side || 'left',
|
||||
buff = "",
|
||||
padChar = char || " ",
|
||||
padded = "",
|
||||
iterEnd = len - str.length;
|
||||
|
||||
while(buff.length < iterEnd) {
|
||||
buff += padChar;
|
||||
}
|
||||
if (side === 'left') {
|
||||
padded = buff + str;
|
||||
} else {
|
||||
padded = str + buff;
|
||||
}
|
||||
// we still need a substring when we are called with e.g. " . " as char.
|
||||
return padded.substring(0, len);
|
||||
};
|
||||
|
||||
/**
|
||||
* Pads given string up to a target length with a given character on the right
|
||||
* side.
|
||||
*/
|
||||
proto.padRight = function(str, len, char){
|
||||
return this.pad(str, len, char, 'right');
|
||||
};
|
||||
|
||||
/**
|
||||
* Pads given string up to a target length with a given character on the right
|
||||
* side.
|
||||
*/
|
||||
proto.padLeft = function(str, len, char){
|
||||
return this.pad(str, len, char, 'left');
|
||||
};
|
||||
|
||||
proto.reportSuiteResults = function(suite) {
|
||||
if (!suite.parentSuite) { return; }
|
||||
// determine title from full name (wo/ own description)
|
||||
var title = suite.getFullName().replace(new RegExp(suite.description + "$"), "");
|
||||
if (this.lastTitle !== title) {
|
||||
// when title differs, we have a new 'group'
|
||||
this.log("\n" + title);
|
||||
}
|
||||
// always set current title
|
||||
this.lastTitle = title;
|
||||
|
||||
var results = suite.results();
|
||||
var failed = results.totalCount - results.passedCount;
|
||||
var color = (failed > 0) ? "red" : "green";
|
||||
var logStr = " " + this.padRight(suite.description + " ", 60, '.') +
|
||||
this.padLeft(results.passedCount, 4) + "/" +
|
||||
this.padRight(results.totalCount, 4) + " ok";
|
||||
this.log(logStr, color);
|
||||
};
|
||||
|
||||
proto.log = function(str, color) {
|
||||
var text = (color)? ANSI.colorize_text(str, color) : str;
|
||||
console.log(text);
|
||||
};
|
||||
|
||||
jasmine.ConsoleReporter = ConsoleReporter;
|
||||
})(jasmine, console);
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
#!/usr/local/bin/phantomjs
|
||||
|
||||
# Runs a Jasmine Suite from an html page
|
||||
# @page is a PhantomJs page object
|
||||
# @exit_func is the function to call in order to exit the script
|
||||
|
||||
class PhantomJasmineRunner
|
||||
constructor: (@page, @exit_func = phantom.exit) ->
|
||||
@tries = 0
|
||||
@max_tries = 10
|
||||
|
||||
get_status: -> @page.evaluate(-> console_reporter.status)
|
||||
|
||||
terminate: ->
|
||||
switch @get_status()
|
||||
when "success" then @exit_func 0
|
||||
when "fail" then @exit_func 1
|
||||
else @exit_func 2
|
||||
|
||||
# Script Begin
|
||||
if phantom.args.length == 0
|
||||
console.log "Need a url as the argument"
|
||||
phantom.exit 1
|
||||
|
||||
page = new WebPage()
|
||||
|
||||
runner = new PhantomJasmineRunner(page)
|
||||
|
||||
# Don't supress console output
|
||||
page.onConsoleMessage = (msg) ->
|
||||
console.log msg
|
||||
|
||||
# Terminate when the reporter singals that testing is over.
|
||||
# We cannot use a callback function for this (because page.evaluate is sandboxed),
|
||||
# so we have to *observe* the website.
|
||||
if msg == "ConsoleReporter finished"
|
||||
runner.terminate()
|
||||
|
||||
address = phantom.args[0]
|
||||
|
||||
page.open address, (status) ->
|
||||
if status != "success"
|
||||
console.log "can't load the address!"
|
||||
phantom.exit 1
|
||||
|
||||
# Now we wait until onConsoleMessage reads the termination signal from the log.
|
||||
4223
test/sinon-1.6.0/sinon.js
Normal file
4223
test/sinon-1.6.0/sinon.js
Normal file
File diff suppressed because it is too large
Load Diff
@@ -6,21 +6,21 @@ describe('ol.array', function() {
|
||||
it('returns expected value', function() {
|
||||
var arr = [1000, 500, 100];
|
||||
|
||||
expect(ol.array.binaryFindNearest(arr, 10000)).toEqual(0);
|
||||
expect(ol.array.binaryFindNearest(arr, 1000)).toEqual(0);
|
||||
expect(ol.array.binaryFindNearest(arr, 900)).toEqual(0);
|
||||
expect(ol.array.binaryFindNearest(arr, 10000)).to.eql(0);
|
||||
expect(ol.array.binaryFindNearest(arr, 1000)).to.eql(0);
|
||||
expect(ol.array.binaryFindNearest(arr, 900)).to.eql(0);
|
||||
|
||||
expect(ol.array.binaryFindNearest(arr, 750)).toEqual(1);
|
||||
expect(ol.array.binaryFindNearest(arr, 750)).to.eql(1);
|
||||
|
||||
expect(ol.array.binaryFindNearest(arr, 550)).toEqual(1);
|
||||
expect(ol.array.binaryFindNearest(arr, 500)).toEqual(1);
|
||||
expect(ol.array.binaryFindNearest(arr, 450)).toEqual(1);
|
||||
expect(ol.array.binaryFindNearest(arr, 550)).to.eql(1);
|
||||
expect(ol.array.binaryFindNearest(arr, 500)).to.eql(1);
|
||||
expect(ol.array.binaryFindNearest(arr, 450)).to.eql(1);
|
||||
|
||||
expect(ol.array.binaryFindNearest(arr, 300)).toEqual(2);
|
||||
expect(ol.array.binaryFindNearest(arr, 300)).to.eql(2);
|
||||
|
||||
expect(ol.array.binaryFindNearest(arr, 200)).toEqual(2);
|
||||
expect(ol.array.binaryFindNearest(arr, 100)).toEqual(2);
|
||||
expect(ol.array.binaryFindNearest(arr, 50)).toEqual(2);
|
||||
expect(ol.array.binaryFindNearest(arr, 200)).to.eql(2);
|
||||
expect(ol.array.binaryFindNearest(arr, 100)).to.eql(2);
|
||||
expect(ol.array.binaryFindNearest(arr, 50)).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -28,21 +28,21 @@ describe('ol.array', function() {
|
||||
it('returns expected value', function() {
|
||||
var arr = [1000, 500, 100];
|
||||
|
||||
expect(ol.array.linearFindNearest(arr, 10000)).toEqual(0);
|
||||
expect(ol.array.linearFindNearest(arr, 1000)).toEqual(0);
|
||||
expect(ol.array.linearFindNearest(arr, 900)).toEqual(0);
|
||||
expect(ol.array.linearFindNearest(arr, 10000)).to.eql(0);
|
||||
expect(ol.array.linearFindNearest(arr, 1000)).to.eql(0);
|
||||
expect(ol.array.linearFindNearest(arr, 900)).to.eql(0);
|
||||
|
||||
expect(ol.array.linearFindNearest(arr, 750)).toEqual(1);
|
||||
expect(ol.array.linearFindNearest(arr, 750)).to.eql(1);
|
||||
|
||||
expect(ol.array.linearFindNearest(arr, 550)).toEqual(1);
|
||||
expect(ol.array.linearFindNearest(arr, 500)).toEqual(1);
|
||||
expect(ol.array.linearFindNearest(arr, 450)).toEqual(1);
|
||||
expect(ol.array.linearFindNearest(arr, 550)).to.eql(1);
|
||||
expect(ol.array.linearFindNearest(arr, 500)).to.eql(1);
|
||||
expect(ol.array.linearFindNearest(arr, 450)).to.eql(1);
|
||||
|
||||
expect(ol.array.linearFindNearest(arr, 300)).toEqual(2);
|
||||
expect(ol.array.linearFindNearest(arr, 300)).to.eql(2);
|
||||
|
||||
expect(ol.array.linearFindNearest(arr, 200)).toEqual(2);
|
||||
expect(ol.array.linearFindNearest(arr, 100)).toEqual(2);
|
||||
expect(ol.array.linearFindNearest(arr, 50)).toEqual(2);
|
||||
expect(ol.array.linearFindNearest(arr, 200)).to.eql(2);
|
||||
expect(ol.array.linearFindNearest(arr, 100)).to.eql(2);
|
||||
expect(ol.array.linearFindNearest(arr, 50)).to.eql(2);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -9,9 +9,9 @@ describe('ol.collection', function() {
|
||||
|
||||
describe('create an empty collection', function() {
|
||||
it('creates an empty collection', function() {
|
||||
expect(collection.getLength()).toEqual(0);
|
||||
expect(goog.array.equals(collection.getArray(), [])).toBeTruthy();
|
||||
expect(collection.getAt(0)).toBeUndefined();
|
||||
expect(collection.getLength()).to.eql(0);
|
||||
expect(goog.array.equals(collection.getArray(), [])).to.be.ok();
|
||||
expect(collection.getAt(0)).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -19,18 +19,18 @@ describe('ol.collection', function() {
|
||||
it('creates the expected collection', function() {
|
||||
var array = [0, 1, 2];
|
||||
var collection = new ol.Collection(array);
|
||||
expect(collection.getAt(0)).toEqual(0);
|
||||
expect(collection.getAt(1)).toEqual(1);
|
||||
expect(collection.getAt(2)).toEqual(2);
|
||||
expect(collection.getAt(0)).to.eql(0);
|
||||
expect(collection.getAt(1)).to.eql(1);
|
||||
expect(collection.getAt(2)).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('push to a collection', function() {
|
||||
it('adds elements to the collection', function() {
|
||||
collection.push(1);
|
||||
expect(collection.getLength()).toEqual(1);
|
||||
expect(goog.array.equals(collection.getArray(), [1])).toBeTruthy();
|
||||
expect(collection.getAt(0)).toEqual(1);
|
||||
expect(collection.getLength()).to.eql(1);
|
||||
expect(goog.array.equals(collection.getArray(), [1])).to.be.ok();
|
||||
expect(collection.getAt(0)).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -38,9 +38,9 @@ describe('ol.collection', function() {
|
||||
it('removes elements from the collection', function() {
|
||||
collection.push(1);
|
||||
collection.pop();
|
||||
expect(collection.getLength()).toEqual(0);
|
||||
expect(goog.array.equals(collection.getArray(), [])).toBeTruthy();
|
||||
expect(collection.getAt(0)).toBeUndefined();
|
||||
expect(collection.getLength()).to.eql(0);
|
||||
expect(goog.array.equals(collection.getArray(), [])).to.be.ok();
|
||||
expect(collection.getAt(0)).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -48,18 +48,18 @@ describe('ol.collection', function() {
|
||||
it('inserts elements at the correct location', function() {
|
||||
collection = new ol.Collection([0, 2]);
|
||||
collection.insertAt(1, 1);
|
||||
expect(collection.getAt(0)).toEqual(0);
|
||||
expect(collection.getAt(1)).toEqual(1);
|
||||
expect(collection.getAt(2)).toEqual(2);
|
||||
expect(collection.getAt(0)).to.eql(0);
|
||||
expect(collection.getAt(1)).to.eql(1);
|
||||
expect(collection.getAt(2)).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('setAt', function() {
|
||||
it('sets at the correct location', function() {
|
||||
collection.setAt(1, 1);
|
||||
expect(collection.getLength()).toEqual(2);
|
||||
expect(collection.getAt(0)).toBeUndefined();
|
||||
expect(collection.getAt(1)).toEqual(1);
|
||||
expect(collection.getLength()).to.eql(2);
|
||||
expect(collection.getAt(0)).to.be(undefined);
|
||||
expect(collection.getAt(1)).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -67,20 +67,20 @@ describe('ol.collection', function() {
|
||||
it('removes elements at the correction', function() {
|
||||
var collection = new ol.Collection([0, 1, 2]);
|
||||
collection.removeAt(1);
|
||||
expect(collection.getAt(0)).toEqual(0);
|
||||
expect(collection.getAt(1)).toEqual(2);
|
||||
expect(collection.getAt(0)).to.eql(0);
|
||||
expect(collection.getAt(1)).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
describe('forEach', function() {
|
||||
var cb;
|
||||
beforeEach(function() {
|
||||
cb = jasmine.createSpy();
|
||||
cb = sinon.spy();
|
||||
});
|
||||
describe('on an empty collection', function() {
|
||||
it('does not call the callback', function() {
|
||||
collection.forEach(cb);
|
||||
expect(cb).not.toHaveBeenCalled();
|
||||
expect(cb.called).to.not.be.ok();
|
||||
});
|
||||
});
|
||||
describe('on a non-empty collection', function() {
|
||||
@@ -88,7 +88,7 @@ describe('ol.collection', function() {
|
||||
collection.push(1);
|
||||
collection.push(2);
|
||||
collection.forEach(cb);
|
||||
expect(cb.calls.length).toEqual(2);
|
||||
expect(cb.callCount).to.eql(2);
|
||||
});
|
||||
});
|
||||
describe('scope', function() {
|
||||
@@ -99,7 +99,7 @@ describe('ol.collection', function() {
|
||||
collection.forEach(function(elem) {
|
||||
that = this;
|
||||
}, uniqueObj);
|
||||
expect(that).toBe(uniqueObj);
|
||||
expect(that).to.be(uniqueObj);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -107,29 +107,29 @@ describe('ol.collection', function() {
|
||||
describe('remove', function() {
|
||||
it('removes the first matching element', function() {
|
||||
var collection = new ol.Collection([0, 1, 2]);
|
||||
expect(collection.remove(1)).toEqual(1);
|
||||
expect(collection.getArray()).toEqual([0, 2]);
|
||||
expect(collection.getLength()).toEqual(2);
|
||||
expect(collection.remove(1)).to.eql(1);
|
||||
expect(collection.getArray()).to.eql([0, 2]);
|
||||
expect(collection.getLength()).to.eql(2);
|
||||
});
|
||||
it('fires a remove event', function() {
|
||||
var collection = new ol.Collection([0, 1, 2]);
|
||||
var cb = jasmine.createSpy();
|
||||
var cb = sinon.spy();
|
||||
goog.events.listen(collection, ol.CollectionEventType.REMOVE, cb);
|
||||
expect(collection.remove(1)).toEqual(1);
|
||||
expect(cb).toHaveBeenCalled();
|
||||
expect(cb.mostRecentCall.args[0].elem).toEqual(1);
|
||||
expect(collection.remove(1)).to.eql(1);
|
||||
expect(cb.called).to.be.ok();
|
||||
expect(cb.lastCall.args[0].elem).to.eql(1);
|
||||
});
|
||||
it('does not remove more than one matching element', function() {
|
||||
var collection = new ol.Collection([0, 1, 1, 2]);
|
||||
expect(collection.remove(1)).toEqual(1);
|
||||
expect(collection.getArray()).toEqual([0, 1, 2]);
|
||||
expect(collection.getLength()).toEqual(3);
|
||||
expect(collection.remove(1)).to.eql(1);
|
||||
expect(collection.getArray()).to.eql([0, 1, 2]);
|
||||
expect(collection.getLength()).to.eql(3);
|
||||
});
|
||||
it('returns undefined if the element is not found', function() {
|
||||
var collection = new ol.Collection([0, 1, 2]);
|
||||
expect(collection.remove(3)).toBeUndefined();
|
||||
expect(collection.getArray()).toEqual([0, 1, 2]);
|
||||
expect(collection.getLength()).toEqual(3);
|
||||
expect(collection.remove(3)).to.be(undefined);
|
||||
expect(collection.getArray()).to.eql([0, 1, 2]);
|
||||
expect(collection.getLength()).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -145,8 +145,8 @@ describe('ol.collection', function() {
|
||||
removed = e.elem;
|
||||
});
|
||||
collection.setAt(1, 1);
|
||||
expect(added).toEqual(1);
|
||||
expect(removed).toEqual('b');
|
||||
expect(added).to.eql(1);
|
||||
expect(removed).to.eql('b');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -159,7 +159,7 @@ describe('ol.collection', function() {
|
||||
removed = e.elem;
|
||||
});
|
||||
collection.pop();
|
||||
expect(removed).toEqual('a');
|
||||
expect(removed).to.eql('a');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -172,7 +172,7 @@ describe('ol.collection', function() {
|
||||
added = e.elem;
|
||||
});
|
||||
collection.insertAt(1, 1);
|
||||
expect(added).toEqual(1);
|
||||
expect(added).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -184,14 +184,14 @@ describe('ol.collection', function() {
|
||||
added.push(e.elem);
|
||||
});
|
||||
collection.setAt(2, 0);
|
||||
expect(collection.getLength()).toEqual(3);
|
||||
expect(collection.getAt(0)).toBeUndefined();
|
||||
expect(collection.getAt(1)).toBeUndefined();
|
||||
expect(collection.getAt(2)).toEqual(0);
|
||||
expect(added.length).toEqual(3);
|
||||
expect(added[0]).toEqual(undefined);
|
||||
expect(added[1]).toEqual(undefined);
|
||||
expect(added[2]).toEqual(0);
|
||||
expect(collection.getLength()).to.eql(3);
|
||||
expect(collection.getAt(0)).to.be(undefined);
|
||||
expect(collection.getAt(1)).to.be(undefined);
|
||||
expect(collection.getAt(2)).to.eql(0);
|
||||
expect(added.length).to.eql(3);
|
||||
expect(added[0]).to.eql(undefined);
|
||||
expect(added[1]).to.eql(undefined);
|
||||
expect(added[2]).to.eql(0);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -199,28 +199,28 @@ describe('ol.collection', function() {
|
||||
var collection, cb;
|
||||
beforeEach(function() {
|
||||
collection = new ol.Collection([0, 1, 2]);
|
||||
cb = jasmine.createSpy();
|
||||
cb = sinon.spy();
|
||||
goog.events.listen(collection, 'length_changed', cb);
|
||||
});
|
||||
|
||||
describe('insertAt', function() {
|
||||
it('triggers length_changed event', function() {
|
||||
collection.insertAt(2, 3);
|
||||
expect(cb).toHaveBeenCalled();
|
||||
expect(cb.called).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
describe('removeAt', function() {
|
||||
it('triggers length_changed event', function() {
|
||||
collection.removeAt(0);
|
||||
expect(cb).toHaveBeenCalled();
|
||||
expect(cb.called).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
describe('setAt', function() {
|
||||
it('does not trigger length_changed event', function() {
|
||||
collection.setAt(1, 1);
|
||||
expect(cb).not.toHaveBeenCalled();
|
||||
expect(cb.called).to.not.be.ok();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -233,7 +233,7 @@ describe('ol.collection', function() {
|
||||
elem = e.elem;
|
||||
});
|
||||
collection.push(1);
|
||||
expect(elem).toEqual(1);
|
||||
expect(elem).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -241,16 +241,16 @@ describe('ol.collection', function() {
|
||||
var collection, cb1, cb2;
|
||||
beforeEach(function() {
|
||||
collection = new ol.Collection([1]);
|
||||
cb1 = jasmine.createSpy();
|
||||
cb2 = jasmine.createSpy();
|
||||
cb1 = sinon.spy();
|
||||
cb2 = sinon.spy();
|
||||
});
|
||||
describe('setAt', function() {
|
||||
it('triggers remove', function() {
|
||||
goog.events.listen(collection, ol.CollectionEventType.ADD, cb1);
|
||||
goog.events.listen(collection, ol.CollectionEventType.REMOVE, cb2);
|
||||
collection.setAt(0, 2);
|
||||
expect(cb1.mostRecentCall.args[0].elem).toEqual(2);
|
||||
expect(cb2.mostRecentCall.args[0].elem).toEqual(1);
|
||||
expect(cb2.lastCall.args[0].elem).to.eql(1);
|
||||
expect(cb1.lastCall.args[0].elem).to.eql(2);
|
||||
});
|
||||
});
|
||||
describe('pop', function() {
|
||||
@@ -258,7 +258,7 @@ describe('ol.collection', function() {
|
||||
var elem;
|
||||
goog.events.listen(collection, ol.CollectionEventType.REMOVE, cb1);
|
||||
collection.pop();
|
||||
expect(cb1.mostRecentCall.args[0].elem).toEqual(1);
|
||||
expect(cb1.lastCall.args[0].elem).to.eql(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -266,10 +266,10 @@ describe('ol.collection', function() {
|
||||
describe('extending a collection', function() {
|
||||
it('adds elements to end of the collection', function() {
|
||||
collection.extend([1, 2]);
|
||||
expect(collection.getLength()).toEqual(2);
|
||||
expect(goog.array.equals(collection.getArray(), [1, 2])).toBeTruthy();
|
||||
expect(collection.getAt(0)).toEqual(1);
|
||||
expect(collection.getAt(1)).toEqual(2);
|
||||
expect(collection.getLength()).to.eql(2);
|
||||
expect(goog.array.equals(collection.getArray(), [1, 2])).to.be.ok();
|
||||
expect(collection.getAt(0)).to.eql(1);
|
||||
expect(collection.getAt(1)).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -9,15 +9,15 @@ describe('ol.Color', function() {
|
||||
|
||||
// legit r
|
||||
c = new ol.Color(10.5, 11, 12, 0.5);
|
||||
expect(c.r).toBe(10.5);
|
||||
expect(c.r).to.be(10.5);
|
||||
|
||||
// under r
|
||||
c = new ol.Color(-10, 11, 12, 0.5);
|
||||
expect(c.r).toBe(0);
|
||||
expect(c.r).to.be(0);
|
||||
|
||||
// over r
|
||||
c = new ol.Color(300, 11, 12, 0.5);
|
||||
expect(c.r).toBe(255);
|
||||
expect(c.r).to.be(255);
|
||||
});
|
||||
|
||||
it('limits g to 0-255', function() {
|
||||
@@ -25,15 +25,15 @@ describe('ol.Color', function() {
|
||||
|
||||
// legit g
|
||||
c = new ol.Color(10, 11.5, 12, 0.5);
|
||||
expect(c.g).toBe(11.5);
|
||||
expect(c.g).to.be(11.5);
|
||||
|
||||
// under g
|
||||
c = new ol.Color(10, -11, 12, 0.5);
|
||||
expect(c.g).toBe(0);
|
||||
expect(c.g).to.be(0);
|
||||
|
||||
// over g
|
||||
c = new ol.Color(10, 275, 12, 0.5);
|
||||
expect(c.g).toBe(255);
|
||||
expect(c.g).to.be(255);
|
||||
});
|
||||
|
||||
it('limits b to 0-255', function() {
|
||||
@@ -41,15 +41,15 @@ describe('ol.Color', function() {
|
||||
|
||||
// legit b
|
||||
c = new ol.Color(10, 11, 12.5, 0.5);
|
||||
expect(c.b).toBe(12.5);
|
||||
expect(c.b).to.be(12.5);
|
||||
|
||||
// under b
|
||||
c = new ol.Color(10, 11, -12, 0.5);
|
||||
expect(c.b).toBe(0);
|
||||
expect(c.b).to.be(0);
|
||||
|
||||
// over b
|
||||
c = new ol.Color(10, 11, 500, 0.5);
|
||||
expect(c.b).toBe(255);
|
||||
expect(c.b).to.be(255);
|
||||
});
|
||||
|
||||
it('limits 1 to 0-1', function() {
|
||||
@@ -57,15 +57,15 @@ describe('ol.Color', function() {
|
||||
|
||||
// legit a
|
||||
c = new ol.Color(10, 11, 12, 0.5);
|
||||
expect(c.a).toBe(0.5);
|
||||
expect(c.a).to.be(0.5);
|
||||
|
||||
// under a
|
||||
c = new ol.Color(10, 11, 12, -0.5);
|
||||
expect(c.a).toBe(0);
|
||||
expect(c.a).to.be(0);
|
||||
|
||||
// over a
|
||||
c = new ol.Color(10, 11, 12, 2.5);
|
||||
expect(c.a).toBe(1);
|
||||
expect(c.a).to.be(1);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -19,7 +19,7 @@ describe('ol.control.Control', function() {
|
||||
describe('dispose', function() {
|
||||
it('removes the control element from its parent', function() {
|
||||
control.dispose();
|
||||
expect(goog.dom.getParentElement(control.element)).toBeNull();
|
||||
expect(goog.dom.getParentElement(control.element)).to.be(null);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -329,9 +329,9 @@ describe('ol.Ellipsoid', function() {
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
e = expected[i];
|
||||
v = ol.ellipsoid.WGS84.vincenty(e.c1, e.c2, 1e-12, 100);
|
||||
expect(v.distance).toRoughlyEqual(e.vincentyDistance, 1e-8);
|
||||
expect(v.finalBearing).toRoughlyEqual(e.vincentyFinalBearing, 1e-9);
|
||||
expect(v.initialBearing).toRoughlyEqual(
|
||||
expect(v.distance).to.roughlyEqual(e.vincentyDistance, 1e-8);
|
||||
expect(v.finalBearing).to.roughlyEqual(e.vincentyFinalBearing, 1e-9);
|
||||
expect(v.initialBearing).to.roughlyEqual(
|
||||
e.vincentyInitialBearing, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -347,7 +347,7 @@ describe('ol.Ellipsoid', function() {
|
||||
e = expected[i];
|
||||
vincentyDistance =
|
||||
ol.ellipsoid.WGS84.vincentyDistance(e.c1, e.c2, 1e-12, 100);
|
||||
expect(vincentyDistance).toRoughlyEqual(e.vincentyDistance, 1e-8);
|
||||
expect(vincentyDistance).to.roughlyEqual(e.vincentyDistance, 1e-8);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -362,7 +362,7 @@ describe('ol.Ellipsoid', function() {
|
||||
e = expected[i];
|
||||
vincentyFinalBearing =
|
||||
ol.ellipsoid.WGS84.vincentyFinalBearing(e.c1, e.c2, 1e-12, 100);
|
||||
expect(vincentyFinalBearing).toRoughlyEqual(
|
||||
expect(vincentyFinalBearing).to.roughlyEqual(
|
||||
e.vincentyFinalBearing, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -378,7 +378,7 @@ describe('ol.Ellipsoid', function() {
|
||||
e = expected[i];
|
||||
vincentyInitialBearing = ol.ellipsoid.WGS84.vincentyInitialBearing(
|
||||
e.c1, e.c2, 1e-12, 100);
|
||||
expect(vincentyInitialBearing).toRoughlyEqual(
|
||||
expect(vincentyInitialBearing).to.roughlyEqual(
|
||||
e.vincentyInitialBearing, 1e-9);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -8,23 +8,23 @@ describe('ol.Extent', function() {
|
||||
it('returns true', function() {
|
||||
var extent = new ol.Extent(1, 2, 3, 4);
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(1, 2))).toBeTruthy();
|
||||
new ol.Coordinate(1, 2))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(1, 3))).toBeTruthy();
|
||||
new ol.Coordinate(1, 3))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(1, 4))).toBeTruthy();
|
||||
new ol.Coordinate(1, 4))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(2, 2))).toBeTruthy();
|
||||
new ol.Coordinate(2, 2))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(2, 3))).toBeTruthy();
|
||||
new ol.Coordinate(2, 3))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(2, 4))).toBeTruthy();
|
||||
new ol.Coordinate(2, 4))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(3, 2))).toBeTruthy();
|
||||
new ol.Coordinate(3, 2))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(3, 3))).toBeTruthy();
|
||||
new ol.Coordinate(3, 3))).to.be.ok();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(3, 4))).toBeTruthy();
|
||||
new ol.Coordinate(3, 4))).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -32,37 +32,37 @@ describe('ol.Extent', function() {
|
||||
it('returns false', function() {
|
||||
var extent = new ol.Extent(1, 2, 3, 4);
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(0, 1))).toBeFalsy();
|
||||
new ol.Coordinate(0, 1))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(0, 2))).toBeFalsy();
|
||||
new ol.Coordinate(0, 2))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(0, 3))).toBeFalsy();
|
||||
new ol.Coordinate(0, 3))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(0, 4))).toBeFalsy();
|
||||
new ol.Coordinate(0, 4))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(0, 5))).toBeFalsy();
|
||||
new ol.Coordinate(0, 5))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(1, 1))).toBeFalsy();
|
||||
new ol.Coordinate(1, 1))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(1, 5))).toBeFalsy();
|
||||
new ol.Coordinate(1, 5))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(2, 1))).toBeFalsy();
|
||||
new ol.Coordinate(2, 1))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(2, 5))).toBeFalsy();
|
||||
new ol.Coordinate(2, 5))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(3, 1))).toBeFalsy();
|
||||
new ol.Coordinate(3, 1))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(3, 5))).toBeFalsy();
|
||||
new ol.Coordinate(3, 5))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(4, 1))).toBeFalsy();
|
||||
new ol.Coordinate(4, 1))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(4, 2))).toBeFalsy();
|
||||
new ol.Coordinate(4, 2))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(4, 3))).toBeFalsy();
|
||||
new ol.Coordinate(4, 3))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(4, 4))).toBeFalsy();
|
||||
new ol.Coordinate(4, 4))).to.not.be();
|
||||
expect(extent.containsCoordinate(
|
||||
new ol.Coordinate(4, 5))).toBeFalsy();
|
||||
new ol.Coordinate(4, 5))).to.not.be();
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -73,13 +73,13 @@ describe('ol.Extent', function() {
|
||||
var transformFn = ol.projection.getTransform('EPSG:4326', 'EPSG:3857');
|
||||
var sourceExtent = new ol.Extent(-15, -30, 45, 60);
|
||||
var destinationExtent = sourceExtent.transform(transformFn);
|
||||
expect(destinationExtent).not.toBeUndefined();
|
||||
expect(destinationExtent).not.toBeNull();
|
||||
expect(destinationExtent).not.to.be(undefined);
|
||||
expect(destinationExtent).not.to.be(null);
|
||||
// FIXME check values with third-party tool
|
||||
expect(destinationExtent.minX).toRoughlyEqual(-1669792.3618991037, 1e-9);
|
||||
expect(destinationExtent.minY).toRoughlyEqual(-3503549.843504376, 1e-8);
|
||||
expect(destinationExtent.maxX).toRoughlyEqual(5009377.085697311, 1e-9);
|
||||
expect(destinationExtent.maxY).toRoughlyEqual(8399737.889818361, 1e-9);
|
||||
expect(destinationExtent.minX).to.roughlyEqual(-1669792.3618991037, 1e-9);
|
||||
expect(destinationExtent.minY).to.roughlyEqual(-3503549.843504376, 1e-8);
|
||||
expect(destinationExtent.maxX).to.roughlyEqual(5009377.085697311, 1e-9);
|
||||
expect(destinationExtent.maxY).to.roughlyEqual(8399737.889818361, 1e-9);
|
||||
});
|
||||
|
||||
it('takes arbitrary function', function() {
|
||||
@@ -88,12 +88,12 @@ describe('ol.Extent', function() {
|
||||
};
|
||||
var sourceExtent = new ol.Extent(-15, -30, 45, 60);
|
||||
var destinationExtent = sourceExtent.transform(transformFn);
|
||||
expect(destinationExtent).not.toBeUndefined();
|
||||
expect(destinationExtent).not.toBeNull();
|
||||
expect(destinationExtent.minX).toBe(-45);
|
||||
expect(destinationExtent.minY).toBe(-60);
|
||||
expect(destinationExtent.maxX).toBe(15);
|
||||
expect(destinationExtent.maxY).toBe(30);
|
||||
expect(destinationExtent).not.to.be(undefined);
|
||||
expect(destinationExtent).not.to.be(null);
|
||||
expect(destinationExtent.minX).to.be(-45);
|
||||
expect(destinationExtent.minY).to.be(-60);
|
||||
expect(destinationExtent.maxX).to.be(15);
|
||||
expect(destinationExtent.maxY).to.be(30);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -103,46 +103,46 @@ describe('ol.Extent', function() {
|
||||
it('works for a unit square', function() {
|
||||
var extent = ol.Extent.getForView2DAndSize(
|
||||
new ol.Coordinate(0, 0), 1, 0, new ol.Size(1, 1));
|
||||
expect(extent.minX).toBe(-0.5);
|
||||
expect(extent.minY).toBe(-0.5);
|
||||
expect(extent.maxX).toBe(0.5);
|
||||
expect(extent.maxY).toBe(0.5);
|
||||
expect(extent.minX).to.be(-0.5);
|
||||
expect(extent.minY).to.be(-0.5);
|
||||
expect(extent.maxX).to.be(0.5);
|
||||
expect(extent.maxY).to.be(0.5);
|
||||
});
|
||||
|
||||
it('works for center', function() {
|
||||
var extent = ol.Extent.getForView2DAndSize(
|
||||
new ol.Coordinate(5, 10), 1, 0, new ol.Size(1, 1));
|
||||
expect(extent.minX).toBe(4.5);
|
||||
expect(extent.minY).toBe(9.5);
|
||||
expect(extent.maxX).toBe(5.5);
|
||||
expect(extent.maxY).toBe(10.5);
|
||||
expect(extent.minX).to.be(4.5);
|
||||
expect(extent.minY).to.be(9.5);
|
||||
expect(extent.maxX).to.be(5.5);
|
||||
expect(extent.maxY).to.be(10.5);
|
||||
});
|
||||
|
||||
it('works for rotation', function() {
|
||||
var extent = ol.Extent.getForView2DAndSize(
|
||||
new ol.Coordinate(0, 0), 1, Math.PI / 4, new ol.Size(1, 1));
|
||||
expect(extent.minX).toRoughlyEqual(-Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.minY).toRoughlyEqual(-Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.maxX).toRoughlyEqual(Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.maxY).toRoughlyEqual(Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.minX).to.roughlyEqual(-Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.minY).to.roughlyEqual(-Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.maxX).to.roughlyEqual(Math.sqrt(0.5), 1e-9);
|
||||
expect(extent.maxY).to.roughlyEqual(Math.sqrt(0.5), 1e-9);
|
||||
});
|
||||
|
||||
it('works for resolution', function() {
|
||||
var extent = ol.Extent.getForView2DAndSize(
|
||||
new ol.Coordinate(0, 0), 2, 0, new ol.Size(1, 1));
|
||||
expect(extent.minX).toBe(-1);
|
||||
expect(extent.minY).toBe(-1);
|
||||
expect(extent.maxX).toBe(1);
|
||||
expect(extent.maxY).toBe(1);
|
||||
expect(extent.minX).to.be(-1);
|
||||
expect(extent.minY).to.be(-1);
|
||||
expect(extent.maxX).to.be(1);
|
||||
expect(extent.maxY).to.be(1);
|
||||
});
|
||||
|
||||
it('works for size', function() {
|
||||
var extent = ol.Extent.getForView2DAndSize(
|
||||
new ol.Coordinate(0, 0), 1, 0, new ol.Size(10, 5));
|
||||
expect(extent.minX).toBe(-5);
|
||||
expect(extent.minY).toBe(-2.5);
|
||||
expect(extent.maxX).toBe(5);
|
||||
expect(extent.maxY).toBe(2.5);
|
||||
expect(extent.minX).to.be(-5);
|
||||
expect(extent.minY).to.be(-2.5);
|
||||
expect(extent.maxX).to.be(5);
|
||||
expect(extent.maxY).to.be(2.5);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -19,31 +19,31 @@ describe('ol.layer.Layer', function() {
|
||||
});
|
||||
|
||||
it('creates an instance', function() {
|
||||
expect(layer).toBeA(ol.layer.Layer);
|
||||
expect(layer).to.be.a(ol.layer.Layer);
|
||||
});
|
||||
|
||||
it('provides default brightness', function() {
|
||||
expect(layer.getBrightness()).toBe(0);
|
||||
expect(layer.getBrightness()).to.be(0);
|
||||
});
|
||||
|
||||
it('provides default contrast', function() {
|
||||
expect(layer.getContrast()).toBe(1);
|
||||
expect(layer.getContrast()).to.be(1);
|
||||
});
|
||||
|
||||
it('provides default hue', function() {
|
||||
expect(layer.getHue()).toBe(0);
|
||||
expect(layer.getHue()).to.be(0);
|
||||
});
|
||||
|
||||
it('provides default opacity', function() {
|
||||
expect(layer.getOpacity()).toBe(1);
|
||||
expect(layer.getOpacity()).to.be(1);
|
||||
});
|
||||
|
||||
it('provides default saturation', function() {
|
||||
expect(layer.getSaturation()).toBe(1);
|
||||
expect(layer.getSaturation()).to.be(1);
|
||||
});
|
||||
|
||||
it('provides default visibility', function() {
|
||||
expect(layer.getVisible()).toBe(true);
|
||||
expect(layer.getVisible()).to.be(true);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -63,12 +63,12 @@ describe('ol.layer.Layer', function() {
|
||||
visible: false
|
||||
});
|
||||
|
||||
expect(layer.getBrightness()).toBe(0.5);
|
||||
expect(layer.getContrast()).toBe(10);
|
||||
expect(layer.getHue()).toBe(180);
|
||||
expect(layer.getOpacity()).toBe(0.5);
|
||||
expect(layer.getSaturation()).toBe(5);
|
||||
expect(layer.getVisible()).toBe(false);
|
||||
expect(layer.getBrightness()).to.be(0.5);
|
||||
expect(layer.getContrast()).to.be(10);
|
||||
expect(layer.getHue()).to.be(180);
|
||||
expect(layer.getOpacity()).to.be(0.5);
|
||||
expect(layer.getSaturation()).to.be(5);
|
||||
expect(layer.getVisible()).to.be(false);
|
||||
|
||||
layer.dispose();
|
||||
});
|
||||
@@ -93,22 +93,22 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
it('accepts a positive number', function() {
|
||||
layer.setBrightness(0.3);
|
||||
expect(layer.getBrightness()).toBe(0.3);
|
||||
expect(layer.getBrightness()).to.be(0.3);
|
||||
});
|
||||
|
||||
it('accepts a negative number', function() {
|
||||
layer.setBrightness(-0.7);
|
||||
expect(layer.getBrightness()).toBe(-0.7);
|
||||
expect(layer.getBrightness()).to.be(-0.7);
|
||||
});
|
||||
|
||||
it('clamps to 1', function() {
|
||||
layer.setBrightness(1.5);
|
||||
expect(layer.getBrightness()).toBe(1);
|
||||
expect(layer.getBrightness()).to.be(1);
|
||||
});
|
||||
|
||||
it('clamps to -1', function() {
|
||||
layer.setBrightness(-3);
|
||||
expect(layer.getBrightness()).toBe(-1);
|
||||
expect(layer.getBrightness()).to.be(-1);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -131,17 +131,17 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
it('accepts a small positive number', function() {
|
||||
layer.setContrast(0.3);
|
||||
expect(layer.getContrast()).toBe(0.3);
|
||||
expect(layer.getContrast()).to.be(0.3);
|
||||
});
|
||||
|
||||
it('clamps to 0', function() {
|
||||
layer.setContrast(-0.7);
|
||||
expect(layer.getContrast()).toBe(0);
|
||||
expect(layer.getContrast()).to.be(0);
|
||||
});
|
||||
|
||||
it('accepts a big positive number', function() {
|
||||
layer.setContrast(42);
|
||||
expect(layer.getContrast()).toBe(42);
|
||||
expect(layer.getContrast()).to.be(42);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -165,22 +165,22 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
it('accepts a small positive number', function() {
|
||||
layer.setHue(0.3);
|
||||
expect(layer.getHue()).toBe(0.3);
|
||||
expect(layer.getHue()).to.be(0.3);
|
||||
});
|
||||
|
||||
it('accepts a small negative number', function() {
|
||||
layer.setHue(-0.7);
|
||||
expect(layer.getHue()).toBe(-0.7);
|
||||
expect(layer.getHue()).to.be(-0.7);
|
||||
});
|
||||
|
||||
it('accepts a big positive number', function() {
|
||||
layer.setHue(42);
|
||||
expect(layer.getHue()).toBe(42);
|
||||
expect(layer.getHue()).to.be(42);
|
||||
});
|
||||
|
||||
it('accepts a big negative number', function() {
|
||||
layer.setHue(-100);
|
||||
expect(layer.getHue()).toBe(-100);
|
||||
expect(layer.getHue()).to.be(-100);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -204,17 +204,17 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
it('accepts a positive number', function() {
|
||||
layer.setOpacity(0.3);
|
||||
expect(layer.getOpacity()).toBe(0.3);
|
||||
expect(layer.getOpacity()).to.be(0.3);
|
||||
});
|
||||
|
||||
it('clamps to 0', function() {
|
||||
layer.setOpacity(-1.5);
|
||||
expect(layer.getOpacity()).toBe(0);
|
||||
expect(layer.getOpacity()).to.be(0);
|
||||
});
|
||||
|
||||
it('clamps to 1', function() {
|
||||
layer.setOpacity(3);
|
||||
expect(layer.getOpacity()).toBe(1);
|
||||
expect(layer.getOpacity()).to.be(1);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -238,17 +238,17 @@ describe('ol.layer.Layer', function() {
|
||||
|
||||
it('accepts a small positive number', function() {
|
||||
layer.setSaturation(0.3);
|
||||
expect(layer.getSaturation()).toBe(0.3);
|
||||
expect(layer.getSaturation()).to.be(0.3);
|
||||
});
|
||||
|
||||
it('clamps to 0', function() {
|
||||
layer.setSaturation(-0.7);
|
||||
expect(layer.getSaturation()).toBe(0);
|
||||
expect(layer.getSaturation()).to.be(0);
|
||||
});
|
||||
|
||||
it('accepts a big positive number', function() {
|
||||
layer.setSaturation(42);
|
||||
expect(layer.getSaturation()).toBe(42);
|
||||
expect(layer.getSaturation()).to.be(42);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -264,10 +264,10 @@ describe('ol.layer.Layer', function() {
|
||||
});
|
||||
|
||||
layer.setVisible(false);
|
||||
expect(layer.getVisible()).toBe(false);
|
||||
expect(layer.getVisible()).to.be(false);
|
||||
|
||||
layer.setVisible(true);
|
||||
expect(layer.getVisible()).toBe(true);
|
||||
expect(layer.getVisible()).to.be(true);
|
||||
|
||||
layer.dispose();
|
||||
});
|
||||
|
||||
@@ -18,36 +18,36 @@ describe('ol.structs.LRUCache', function() {
|
||||
|
||||
describe('empty cache', function() {
|
||||
it('has size zero', function() {
|
||||
expect(lruCache.getCount()).toEqual(0);
|
||||
expect(lruCache.getCount()).to.eql(0);
|
||||
});
|
||||
it('has no keys', function() {
|
||||
expect(lruCache.getKeys()).toEqual([]);
|
||||
expect(lruCache.getKeys()).to.eql([]);
|
||||
});
|
||||
it('has no values', function() {
|
||||
expect(lruCache.getValues()).toEqual([]);
|
||||
expect(lruCache.getValues()).to.eql([]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('populating', function() {
|
||||
it('returns the correct size', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.getCount()).toEqual(4);
|
||||
expect(lruCache.getCount()).to.eql(4);
|
||||
});
|
||||
it('contains the correct keys in the correct order', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.getKeys()).toEqual(['d', 'c', 'b', 'a']);
|
||||
expect(lruCache.getKeys()).to.eql(['d', 'c', 'b', 'a']);
|
||||
});
|
||||
it('contains the correct values in the correct order', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.getValues()).toEqual([3, 2, 1, 0]);
|
||||
expect(lruCache.getValues()).to.eql([3, 2, 1, 0]);
|
||||
});
|
||||
it('reports which keys are contained', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.containsKey('a')).toBeTruthy();
|
||||
expect(lruCache.containsKey('b')).toBeTruthy();
|
||||
expect(lruCache.containsKey('c')).toBeTruthy();
|
||||
expect(lruCache.containsKey('d')).toBeTruthy();
|
||||
expect(lruCache.containsKey('e')).toBeFalsy();
|
||||
expect(lruCache.containsKey('a')).to.be.ok();
|
||||
expect(lruCache.containsKey('b')).to.be.ok();
|
||||
expect(lruCache.containsKey('c')).to.be.ok();
|
||||
expect(lruCache.containsKey('d')).to.be.ok();
|
||||
expect(lruCache.containsKey('e')).to.not.be();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -55,9 +55,9 @@ describe('ol.structs.LRUCache', function() {
|
||||
it('moves the key to newest position', function() {
|
||||
fillLRUCache(lruCache);
|
||||
lruCache.get('a');
|
||||
expect(lruCache.getCount()).toEqual(4);
|
||||
expect(lruCache.getKeys()).toEqual(['a', 'd', 'c', 'b']);
|
||||
expect(lruCache.getValues()).toEqual([0, 3, 2, 1]);
|
||||
expect(lruCache.getCount()).to.eql(4);
|
||||
expect(lruCache.getKeys()).to.eql(['a', 'd', 'c', 'b']);
|
||||
expect(lruCache.getValues()).to.eql([0, 3, 2, 1]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -65,9 +65,9 @@ describe('ol.structs.LRUCache', function() {
|
||||
it('moves the key to newest position', function() {
|
||||
fillLRUCache(lruCache);
|
||||
lruCache.get('b');
|
||||
expect(lruCache.getCount()).toEqual(4);
|
||||
expect(lruCache.getKeys()).toEqual(['b', 'd', 'c', 'a']);
|
||||
expect(lruCache.getValues()).toEqual([1, 3, 2, 0]);
|
||||
expect(lruCache.getCount()).to.eql(4);
|
||||
expect(lruCache.getKeys()).to.eql(['b', 'd', 'c', 'a']);
|
||||
expect(lruCache.getValues()).to.eql([1, 3, 2, 0]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -75,9 +75,9 @@ describe('ol.structs.LRUCache', function() {
|
||||
it('maintains the key to newest position', function() {
|
||||
fillLRUCache(lruCache);
|
||||
lruCache.get('d');
|
||||
expect(lruCache.getCount()).toEqual(4);
|
||||
expect(lruCache.getKeys()).toEqual(['d', 'c', 'b', 'a']);
|
||||
expect(lruCache.getValues()).toEqual([3, 2, 1, 0]);
|
||||
expect(lruCache.getCount()).to.eql(4);
|
||||
expect(lruCache.getKeys()).to.eql(['d', 'c', 'b', 'a']);
|
||||
expect(lruCache.getValues()).to.eql([3, 2, 1, 0]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -85,8 +85,8 @@ describe('ol.structs.LRUCache', function() {
|
||||
it('adds it as the newest value', function() {
|
||||
fillLRUCache(lruCache);
|
||||
lruCache.set('e', 4);
|
||||
expect(lruCache.getKeys()).toEqual(['e', 'd', 'c', 'b', 'a']);
|
||||
expect(lruCache.getValues()).toEqual([4, 3, 2, 1, 0]);
|
||||
expect(lruCache.getKeys()).to.eql(['e', 'd', 'c', 'b', 'a']);
|
||||
expect(lruCache.getValues()).to.eql([4, 3, 2, 1, 0]);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -95,7 +95,7 @@ describe('ol.structs.LRUCache', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(function() {
|
||||
lruCache.set('a', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -103,76 +103,76 @@ describe('ol.structs.LRUCache', function() {
|
||||
it('setting raises an exception', function() {
|
||||
expect(function() {
|
||||
lruCache.set('constructor', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
expect(function() {
|
||||
lruCache.set('hasOwnProperty', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
expect(function() {
|
||||
lruCache.set('isPrototypeOf', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
expect(function() {
|
||||
lruCache.set('propertyIsEnumerable', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
expect(function() {
|
||||
lruCache.set('toLocaleString', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
expect(function() {
|
||||
lruCache.set('toString', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
expect(function() {
|
||||
lruCache.set('valueOf', 0);
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
it('getting returns false', function() {
|
||||
expect(lruCache.containsKey('constructor')).toBeFalsy();
|
||||
expect(lruCache.containsKey('hasOwnProperty')).toBeFalsy();
|
||||
expect(lruCache.containsKey('isPrototypeOf')).toBeFalsy();
|
||||
expect(lruCache.containsKey('propertyIsEnumerable')).toBeFalsy();
|
||||
expect(lruCache.containsKey('toLocaleString')).toBeFalsy();
|
||||
expect(lruCache.containsKey('toString')).toBeFalsy();
|
||||
expect(lruCache.containsKey('valueOf')).toBeFalsy();
|
||||
expect(lruCache.containsKey('constructor')).to.not.be();
|
||||
expect(lruCache.containsKey('hasOwnProperty')).to.not.be();
|
||||
expect(lruCache.containsKey('isPrototypeOf')).to.not.be();
|
||||
expect(lruCache.containsKey('propertyIsEnumerable')).to.not.be();
|
||||
expect(lruCache.containsKey('toLocaleString')).to.not.be();
|
||||
expect(lruCache.containsKey('toString')).to.not.be();
|
||||
expect(lruCache.containsKey('valueOf')).to.not.be();
|
||||
});
|
||||
});
|
||||
|
||||
describe('popping a value', function() {
|
||||
it('returns the least-recent-used value', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.pop()).toEqual(0);
|
||||
expect(lruCache.getCount()).toEqual(3);
|
||||
expect(lruCache.containsKey('a')).toBeFalsy();
|
||||
expect(lruCache.pop()).toEqual(1);
|
||||
expect(lruCache.getCount()).toEqual(2);
|
||||
expect(lruCache.containsKey('b')).toBeFalsy();
|
||||
expect(lruCache.pop()).toEqual(2);
|
||||
expect(lruCache.getCount()).toEqual(1);
|
||||
expect(lruCache.containsKey('c')).toBeFalsy();
|
||||
expect(lruCache.pop()).toEqual(3);
|
||||
expect(lruCache.getCount()).toEqual(0);
|
||||
expect(lruCache.containsKey('d')).toBeFalsy();
|
||||
expect(lruCache.pop()).to.eql(0);
|
||||
expect(lruCache.getCount()).to.eql(3);
|
||||
expect(lruCache.containsKey('a')).to.not.be();
|
||||
expect(lruCache.pop()).to.eql(1);
|
||||
expect(lruCache.getCount()).to.eql(2);
|
||||
expect(lruCache.containsKey('b')).to.not.be();
|
||||
expect(lruCache.pop()).to.eql(2);
|
||||
expect(lruCache.getCount()).to.eql(1);
|
||||
expect(lruCache.containsKey('c')).to.not.be();
|
||||
expect(lruCache.pop()).to.eql(3);
|
||||
expect(lruCache.getCount()).to.eql(0);
|
||||
expect(lruCache.containsKey('d')).to.not.be();
|
||||
});
|
||||
});
|
||||
|
||||
describe('peeking at the last value', function() {
|
||||
it('returns the last key', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.peekLast()).toEqual(0);
|
||||
expect(lruCache.peekLast()).to.eql(0);
|
||||
});
|
||||
it('throws an exception when the cache is empty', function() {
|
||||
expect(function() {
|
||||
lruCache.peekLast();
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
describe('peeking at the last key', function() {
|
||||
it('returns the last key', function() {
|
||||
fillLRUCache(lruCache);
|
||||
expect(lruCache.peekLastKey()).toEqual('a');
|
||||
expect(lruCache.peekLastKey()).to.eql('a');
|
||||
});
|
||||
it('throws an exception when the cache is empty', function() {
|
||||
expect(function() {
|
||||
lruCache.peekLastKey();
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -180,9 +180,9 @@ describe('ol.structs.LRUCache', function() {
|
||||
it('clears the cache', function() {
|
||||
fillLRUCache(lruCache);
|
||||
lruCache.clear();
|
||||
expect(lruCache.getCount()).toEqual(0);
|
||||
expect(lruCache.getKeys()).toEqual([]);
|
||||
expect(lruCache.getValues()).toEqual([]);
|
||||
expect(lruCache.getCount()).to.eql(0);
|
||||
expect(lruCache.getKeys()).to.eql([]);
|
||||
expect(lruCache.getValues()).to.eql([]);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -19,31 +19,31 @@ describe('ol.RendererHints', function() {
|
||||
it('returns defaults when no query string', function() {
|
||||
goog.global.location = {search: ''};
|
||||
var hints = ol.RendererHints.createFromQueryData();
|
||||
expect(hints).toBe(ol.DEFAULT_RENDERER_HINTS);
|
||||
expect(hints).to.be(ol.DEFAULT_RENDERER_HINTS);
|
||||
});
|
||||
|
||||
it('returns defaults when no "renderer" or "renderers"', function() {
|
||||
goog.global.location = {search: '?foo=bar'};
|
||||
var hints = ol.RendererHints.createFromQueryData();
|
||||
expect(hints).toBe(ol.DEFAULT_RENDERER_HINTS);
|
||||
expect(hints).to.be(ol.DEFAULT_RENDERER_HINTS);
|
||||
});
|
||||
|
||||
it('returns array of one for "renderer"', function() {
|
||||
goog.global.location = {search: '?renderer=bogus'};
|
||||
var hints = ol.RendererHints.createFromQueryData();
|
||||
expect(hints).toEqual(['bogus']);
|
||||
expect(hints).to.eql(['bogus']);
|
||||
});
|
||||
|
||||
it('accepts comma delimited list for "renderers"', function() {
|
||||
goog.global.location = {search: '?renderers=one,two'};
|
||||
var hints = ol.RendererHints.createFromQueryData();
|
||||
expect(hints).toEqual(['one', 'two']);
|
||||
expect(hints).to.eql(['one', 'two']);
|
||||
});
|
||||
|
||||
it('works with "renderer" in second position', function() {
|
||||
goog.global.location = {search: '?foo=bar&renderer=one'};
|
||||
var hints = ol.RendererHints.createFromQueryData();
|
||||
expect(hints).toEqual(['one']);
|
||||
expect(hints).to.eql(['one']);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -62,7 +62,7 @@ describe('ol.Map', function() {
|
||||
|
||||
it('removes the viewport from its parent', function() {
|
||||
map.dispose();
|
||||
expect(goog.dom.getParentElement(map.getViewport())).toBeNull();
|
||||
expect(goog.dom.getParentElement(map.getViewport())).to.be(null);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -88,8 +88,8 @@ describe('ol.Map', function() {
|
||||
it('creates mousewheel interaction', function() {
|
||||
options.mouseWheelZoom = true;
|
||||
var interactions = ol.interaction.defaults(options);
|
||||
expect(interactions.getLength()).toEqual(1);
|
||||
expect(interactions.getAt(0)).toBeA(ol.interaction.MouseWheelZoom);
|
||||
expect(interactions.getLength()).to.eql(1);
|
||||
expect(interactions.getAt(0)).to.be.a(ol.interaction.MouseWheelZoom);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -102,9 +102,9 @@ describe('ol.Map', function() {
|
||||
describe('default zoomDelta', function() {
|
||||
it('create double click interaction with default delta', function() {
|
||||
var interactions = ol.interaction.defaults(options);
|
||||
expect(interactions.getLength()).toEqual(1);
|
||||
expect(interactions.getAt(0)).toBeA(ol.interaction.DblClickZoom);
|
||||
expect(interactions.getAt(0).delta_).toEqual(1);
|
||||
expect(interactions.getLength()).to.eql(1);
|
||||
expect(interactions.getAt(0)).to.be.a(ol.interaction.DblClickZoom);
|
||||
expect(interactions.getAt(0).delta_).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -112,9 +112,9 @@ describe('ol.Map', function() {
|
||||
it('create double click interaction with set delta', function() {
|
||||
options.zoomDelta = 7;
|
||||
var interactions = ol.interaction.defaults(options);
|
||||
expect(interactions.getLength()).toEqual(1);
|
||||
expect(interactions.getAt(0)).toBeA(ol.interaction.DblClickZoom);
|
||||
expect(interactions.getAt(0).delta_).toEqual(7);
|
||||
expect(interactions.getLength()).to.eql(1);
|
||||
expect(interactions.getAt(0)).to.be.a(ol.interaction.DblClickZoom);
|
||||
expect(interactions.getAt(0).delta_).to.eql(7);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -125,8 +125,8 @@ describe('ol.Map', function() {
|
||||
var layer, map;
|
||||
beforeEach(function() {
|
||||
// always use setTimeout based shim for requestAnimationFrame
|
||||
spyOn(goog.async.AnimationDelay.prototype, 'getRaf_')
|
||||
.andCallFake(function() {return null;});
|
||||
sinon.stub(goog.async.AnimationDelay.prototype, 'getRaf_',
|
||||
function() {return null;});
|
||||
|
||||
layer = new ol.layer.TileLayer({
|
||||
source: new ol.source.XYZ({
|
||||
@@ -151,7 +151,7 @@ describe('ol.Map', function() {
|
||||
layer.dispose();
|
||||
});
|
||||
|
||||
it('can set up an animation loop', function() {
|
||||
it('can set up an animation loop', function(done) {
|
||||
|
||||
function quadInOut(t, b, c, d) {
|
||||
if ((t /= d / 2) < 1) {
|
||||
@@ -189,7 +189,7 @@ describe('ol.Map', function() {
|
||||
}
|
||||
};
|
||||
|
||||
spyOn(o, 'callback').andCallThrough();
|
||||
sinon.spy(o, 'callback');
|
||||
|
||||
var animationDelay = new goog.async.AnimationDelay(o.callback);
|
||||
|
||||
@@ -197,25 +197,24 @@ describe('ol.Map', function() {
|
||||
|
||||
// confirm that the center is somewhere between origin and destination
|
||||
// after a short delay
|
||||
waits(goog.async.AnimationDelay.TIMEOUT);
|
||||
runs(function() {
|
||||
expect(o.callback).toHaveBeenCalled();
|
||||
setTimeout(function() {
|
||||
expect(o.callback.called).to.be.ok();
|
||||
var loc = map.getView().getCenter();
|
||||
expect(loc.x).not.toEqual(origin.x);
|
||||
expect(loc.y).not.toEqual(origin.y);
|
||||
expect(loc.x).not.to.eql(origin.x);
|
||||
expect(loc.y).not.to.eql(origin.y);
|
||||
if (new Date().getTime() - start < duration) {
|
||||
expect(loc.x).not.toEqual(destination.x);
|
||||
expect(loc.y).not.toEqual(destination.y);
|
||||
expect(loc.x).not.to.eql(destination.x);
|
||||
expect(loc.y).not.to.eql(destination.y);
|
||||
}
|
||||
});
|
||||
}, goog.async.AnimationDelay.TIMEOUT);
|
||||
|
||||
// confirm that the map has reached the destination after the duration
|
||||
waits(duration);
|
||||
runs(function() {
|
||||
setTimeout(function() {
|
||||
var loc = map.getView().getCenter();
|
||||
expect(loc.x).toEqual(destination.x);
|
||||
expect(loc.y).toEqual(destination.y);
|
||||
});
|
||||
expect(loc.x).to.eql(destination.x);
|
||||
expect(loc.y).to.eql(destination.y);
|
||||
done();
|
||||
}, duration + goog.async.AnimationDelay.TIMEOUT);
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -4,23 +4,23 @@ goog.provide('ol.test.math');
|
||||
describe('ol.math.cosh', function() {
|
||||
|
||||
it('returns the correct value at -Infinity', function() {
|
||||
expect(ol.math.cosh(-Infinity)).toEqual(Infinity);
|
||||
expect(ol.math.cosh(-Infinity)).to.eql(Infinity);
|
||||
});
|
||||
|
||||
it('returns the correct value at -1', function() {
|
||||
expect(ol.math.cosh(-1)).toRoughlyEqual(1.5430806348152437, 1e-9);
|
||||
expect(ol.math.cosh(-1)).to.roughlyEqual(1.5430806348152437, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at 0', function() {
|
||||
expect(ol.math.cosh(0)).toEqual(1);
|
||||
expect(ol.math.cosh(0)).to.eql(1);
|
||||
});
|
||||
|
||||
it('returns the correct value at 1', function() {
|
||||
expect(ol.math.cosh(1)).toRoughlyEqual(1.5430806348152437, 1e-9);
|
||||
expect(ol.math.cosh(1)).to.roughlyEqual(1.5430806348152437, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at Infinity', function() {
|
||||
expect(ol.math.cosh(Infinity)).toEqual(Infinity);
|
||||
expect(ol.math.cosh(Infinity)).to.eql(Infinity);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -29,15 +29,15 @@ describe('ol.math.cosh', function() {
|
||||
describe('ol.math.coth', function() {
|
||||
|
||||
it('returns the correct value at -1', function() {
|
||||
expect(ol.math.coth(-1)).toRoughlyEqual(-1.3130352854993312, 1e-9);
|
||||
expect(ol.math.coth(-1)).to.roughlyEqual(-1.3130352854993312, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at 1', function() {
|
||||
expect(ol.math.coth(1)).toRoughlyEqual(1.3130352854993312, 1e-9);
|
||||
expect(ol.math.coth(1)).to.roughlyEqual(1.3130352854993312, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at Infinity', function() {
|
||||
expect(ol.math.coth(Infinity)).toEqual(1);
|
||||
expect(ol.math.coth(Infinity)).to.eql(1);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -46,19 +46,19 @@ describe('ol.math.coth', function() {
|
||||
describe('ol.math.csch', function() {
|
||||
|
||||
it('returns the correct value at -Infinity', function() {
|
||||
expect(ol.math.csch(-Infinity)).toEqual(0);
|
||||
expect(ol.math.csch(-Infinity)).to.eql(0);
|
||||
});
|
||||
|
||||
it('returns the correct value at -1', function() {
|
||||
expect(ol.math.csch(-1)).toRoughlyEqual(-0.85091812823932156, 1e-9);
|
||||
expect(ol.math.csch(-1)).to.roughlyEqual(-0.85091812823932156, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at 1', function() {
|
||||
expect(ol.math.csch(1)).toRoughlyEqual(0.85091812823932156, 1e-9);
|
||||
expect(ol.math.csch(1)).to.roughlyEqual(0.85091812823932156, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at Infinity', function() {
|
||||
expect(ol.math.csch(Infinity)).toEqual(0);
|
||||
expect(ol.math.csch(Infinity)).to.eql(0);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -67,23 +67,23 @@ describe('ol.math.csch', function() {
|
||||
describe('ol.math.sech', function() {
|
||||
|
||||
it('returns the correct value at -Infinity', function() {
|
||||
expect(ol.math.sech(-Infinity)).toEqual(0);
|
||||
expect(ol.math.sech(-Infinity)).to.eql(0);
|
||||
});
|
||||
|
||||
it('returns the correct value at -1', function() {
|
||||
expect(ol.math.sech(-1)).toRoughlyEqual(0.64805427366388535, 1e-9);
|
||||
expect(ol.math.sech(-1)).to.roughlyEqual(0.64805427366388535, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at 0', function() {
|
||||
expect(ol.math.sech(0)).toEqual(1);
|
||||
expect(ol.math.sech(0)).to.eql(1);
|
||||
});
|
||||
|
||||
it('returns the correct value at 1', function() {
|
||||
expect(ol.math.sech(1)).toRoughlyEqual(0.64805427366388535, 1e-9);
|
||||
expect(ol.math.sech(1)).to.roughlyEqual(0.64805427366388535, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at Infinity', function() {
|
||||
expect(ol.math.sech(Infinity)).toEqual(0);
|
||||
expect(ol.math.sech(Infinity)).to.eql(0);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -92,23 +92,23 @@ describe('ol.math.sech', function() {
|
||||
describe('ol.math.sinh', function() {
|
||||
|
||||
it('returns the correct value at -Infinity', function() {
|
||||
expect(ol.math.sinh(-Infinity)).toEqual(-Infinity);
|
||||
expect(ol.math.sinh(-Infinity)).to.eql(-Infinity);
|
||||
});
|
||||
|
||||
it('returns the correct value at -1', function() {
|
||||
expect(ol.math.sinh(-1)).toRoughlyEqual(-1.1752011936438014, 1e-9);
|
||||
expect(ol.math.sinh(-1)).to.roughlyEqual(-1.1752011936438014, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at 0', function() {
|
||||
expect(ol.math.sinh(0)).toEqual(0);
|
||||
expect(ol.math.sinh(0)).to.eql(0);
|
||||
});
|
||||
|
||||
it('returns the correct value at 1', function() {
|
||||
expect(ol.math.sinh(1)).toRoughlyEqual(1.1752011936438014, 1e-9);
|
||||
expect(ol.math.sinh(1)).to.roughlyEqual(1.1752011936438014, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at Infinity', function() {
|
||||
expect(ol.math.cosh(Infinity)).toEqual(Infinity);
|
||||
expect(ol.math.cosh(Infinity)).to.eql(Infinity);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -117,15 +117,15 @@ describe('ol.math.sinh', function() {
|
||||
describe('ol.math.tanh', function() {
|
||||
|
||||
it('returns the correct value at -1', function() {
|
||||
expect(ol.math.tanh(-1)).toRoughlyEqual(-0.76159415595576485, 1e-9);
|
||||
expect(ol.math.tanh(-1)).to.roughlyEqual(-0.76159415595576485, 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct value at 0', function() {
|
||||
expect(ol.math.tanh(0)).toEqual(0);
|
||||
expect(ol.math.tanh(0)).to.eql(0);
|
||||
});
|
||||
|
||||
it('returns the correct value at 1', function() {
|
||||
expect(ol.math.tanh(1)).toRoughlyEqual(0.76159415595576485, 1e-9);
|
||||
expect(ol.math.tanh(1)).to.roughlyEqual(0.76159415595576485, 1e-9);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -16,7 +16,7 @@ describe('ol.Object', function() {
|
||||
});
|
||||
|
||||
it('returns undefined', function() {
|
||||
expect(v).toBeUndefined();
|
||||
expect(v).to.be(undefined);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -29,7 +29,7 @@ describe('ol.Object', function() {
|
||||
});
|
||||
|
||||
it('returns expected value', function() {
|
||||
expect(v).toEqual(1);
|
||||
expect(v).to.eql(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -38,13 +38,13 @@ describe('ol.Object', function() {
|
||||
|
||||
it('does not return values that are not explicitly set', function() {
|
||||
var o = new ol.Object();
|
||||
expect(o.get('constructor')).toBeUndefined();
|
||||
expect(o.get('hasOwnProperty')).toBeUndefined();
|
||||
expect(o.get('isPrototypeOf')).toBeUndefined();
|
||||
expect(o.get('propertyIsEnumerable')).toBeUndefined();
|
||||
expect(o.get('toLocaleString')).toBeUndefined();
|
||||
expect(o.get('toString')).toBeUndefined();
|
||||
expect(o.get('valueOf')).toBeUndefined();
|
||||
expect(o.get('constructor')).to.be(undefined);
|
||||
expect(o.get('hasOwnProperty')).to.be(undefined);
|
||||
expect(o.get('isPrototypeOf')).to.be(undefined);
|
||||
expect(o.get('propertyIsEnumerable')).to.be(undefined);
|
||||
expect(o.get('toLocaleString')).to.be(undefined);
|
||||
expect(o.get('toString')).to.be(undefined);
|
||||
expect(o.get('valueOf')).to.be(undefined);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -54,14 +54,14 @@ describe('ol.Object', function() {
|
||||
var o = new ol.Object();
|
||||
|
||||
o.set('set', 'sat');
|
||||
expect(o.get('set')).toBe('sat');
|
||||
expect(o.get('set')).to.be('sat');
|
||||
|
||||
o.set('get', 'got');
|
||||
expect(o.get('get')).toBe('got');
|
||||
expect(o.get('get')).to.be('got');
|
||||
|
||||
o.set('toString', 'string');
|
||||
expect(o.get('toString')).toBe('string');
|
||||
expect(typeof o.toString).toBe('function');
|
||||
expect(o.get('toString')).to.be('string');
|
||||
expect(typeof o.toString).to.be('function');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -76,8 +76,8 @@ describe('ol.Object', function() {
|
||||
});
|
||||
|
||||
var keys = o.getKeys();
|
||||
expect(keys.length).toBe(4);
|
||||
expect(keys.sort()).toEqual(['get', 'prop1', 'prop2', 'toString']);
|
||||
expect(keys.length).to.be(4);
|
||||
expect(keys.sort()).to.eql(['get', 'prop1', 'prop2', 'toString']);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -89,11 +89,11 @@ describe('ol.Object', function() {
|
||||
k1: 1,
|
||||
k2: 2
|
||||
});
|
||||
expect(o.get('k1')).toEqual(1);
|
||||
expect(o.get('k2')).toEqual(2);
|
||||
expect(o.get('k1')).to.eql(1);
|
||||
expect(o.get('k2')).to.eql(2);
|
||||
|
||||
var keys = o.getKeys().sort();
|
||||
expect(keys).toEqual(['k1', 'k2']);
|
||||
expect(keys).to.eql(['k1', 'k2']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -102,31 +102,31 @@ describe('ol.Object', function() {
|
||||
var listener1, listener2, listener3;
|
||||
|
||||
beforeEach(function() {
|
||||
listener1 = jasmine.createSpy();
|
||||
listener1 = sinon.spy();
|
||||
goog.events.listen(o, 'k_changed', listener1);
|
||||
|
||||
listener2 = jasmine.createSpy();
|
||||
listener2 = sinon.spy();
|
||||
goog.events.listen(o, 'changed', listener2);
|
||||
|
||||
var o2 = new ol.Object();
|
||||
o2.bindTo('k', o);
|
||||
listener3 = jasmine.createSpy();
|
||||
listener3 = sinon.spy();
|
||||
goog.events.listen(o2, 'k_changed', listener3);
|
||||
});
|
||||
|
||||
it('dispatches events', function() {
|
||||
o.notify('k');
|
||||
expect(listener1).toHaveBeenCalled();
|
||||
expect(listener1.called).to.be.ok();
|
||||
});
|
||||
|
||||
it('dispatches generic change events to bound objects', function() {
|
||||
o.notify('k');
|
||||
expect(listener2).toHaveBeenCalled();
|
||||
expect(listener2.called).to.be.ok();
|
||||
});
|
||||
|
||||
it('dispatches events to bound objects', function() {
|
||||
o.notify('k');
|
||||
expect(listener3).toHaveBeenCalled();
|
||||
expect(listener3.called).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -135,47 +135,47 @@ describe('ol.Object', function() {
|
||||
var listener1, o2, listener2, listener3;
|
||||
|
||||
beforeEach(function() {
|
||||
listener1 = jasmine.createSpy();
|
||||
listener1 = sinon.spy();
|
||||
goog.events.listen(o, 'k_changed', listener1);
|
||||
|
||||
listener2 = jasmine.createSpy();
|
||||
listener2 = sinon.spy();
|
||||
goog.events.listen(o, 'changed', listener2);
|
||||
|
||||
o2 = new ol.Object();
|
||||
o2.bindTo('k', o);
|
||||
listener3 = jasmine.createSpy();
|
||||
listener3 = sinon.spy();
|
||||
goog.events.listen(o2, 'k_changed', listener3);
|
||||
});
|
||||
|
||||
it('dispatches events to object', function() {
|
||||
o.set('k', 1);
|
||||
expect(listener1).toHaveBeenCalled();
|
||||
expect(listener1.called).to.be.ok();
|
||||
|
||||
expect(o.getKeys()).toEqual(['k']);
|
||||
expect(o2.getKeys()).toEqual(['k']);
|
||||
expect(o.getKeys()).to.eql(['k']);
|
||||
expect(o2.getKeys()).to.eql(['k']);
|
||||
});
|
||||
|
||||
it('dispatches generic change events to object', function() {
|
||||
o.set('k', 1);
|
||||
expect(listener2).toHaveBeenCalled();
|
||||
expect(listener2.called).to.be.ok();
|
||||
});
|
||||
|
||||
it('dispatches events to bound object', function() {
|
||||
o.set('k', 1);
|
||||
expect(listener3).toHaveBeenCalled();
|
||||
expect(listener3.called).to.be.ok();
|
||||
});
|
||||
|
||||
it('dispatches events to object bound to', function() {
|
||||
o2.set('k', 2);
|
||||
expect(listener1).toHaveBeenCalled();
|
||||
expect(listener1.called).to.be.ok();
|
||||
|
||||
expect(o.getKeys()).toEqual(['k']);
|
||||
expect(o2.getKeys()).toEqual(['k']);
|
||||
expect(o.getKeys()).to.eql(['k']);
|
||||
expect(o2.getKeys()).to.eql(['k']);
|
||||
});
|
||||
|
||||
it('dispatches generic change events to object bound to', function() {
|
||||
o2.set('k', 2);
|
||||
expect(listener2).toHaveBeenCalled();
|
||||
expect(listener2.called).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -192,11 +192,11 @@ describe('ol.Object', function() {
|
||||
it('gets expected value', function() {
|
||||
o.set('k', 1);
|
||||
o2.bindTo('k', o);
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
|
||||
expect(o.getKeys()).toEqual(['k']);
|
||||
expect(o2.getKeys()).toEqual(['k']);
|
||||
expect(o.getKeys()).to.eql(['k']);
|
||||
expect(o2.getKeys()).to.eql(['k']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -205,11 +205,11 @@ describe('ol.Object', function() {
|
||||
it('gets expected value', function() {
|
||||
o2.bindTo('k', o);
|
||||
o.set('k', 1);
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
|
||||
expect(o.getKeys()).toEqual(['k']);
|
||||
expect(o2.getKeys()).toEqual(['k']);
|
||||
expect(o.getKeys()).to.eql(['k']);
|
||||
expect(o2.getKeys()).to.eql(['k']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -219,8 +219,8 @@ describe('ol.Object', function() {
|
||||
it('gets expected value', function() {
|
||||
o2.set('k', 1);
|
||||
o2.bindTo('k', o);
|
||||
expect(o.get('k')).toBeUndefined();
|
||||
expect(o2.get('k')).toBeUndefined();
|
||||
expect(o.get('k')).to.be(undefined);
|
||||
expect(o2.get('k')).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -229,8 +229,8 @@ describe('ol.Object', function() {
|
||||
it('gets expected value', function() {
|
||||
o2.bindTo('k', o);
|
||||
o2.set('k', 1);
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -247,14 +247,14 @@ describe('ol.Object', function() {
|
||||
|
||||
it('makes changes to unbound object invisible to other object', function() {
|
||||
// initial state
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
o2.unbind('k');
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
o2.set('k', 2);
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(2);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -269,14 +269,14 @@ describe('ol.Object', function() {
|
||||
|
||||
it('makes changes to unbound object invisible to other object', function() {
|
||||
// initial state
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
o2.unbindAll();
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(1);
|
||||
o2.set('k', 2);
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o2.get('k')).toEqual(2);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
expect(o2.get('k')).to.eql(2);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -287,24 +287,24 @@ describe('ol.Object', function() {
|
||||
o2 = new ol.Object();
|
||||
o2.bindTo('k2', o, 'k1');
|
||||
|
||||
listener1 = jasmine.createSpy();
|
||||
listener1 = sinon.spy();
|
||||
goog.events.listen(o, 'k1_changed', listener1);
|
||||
|
||||
listener2 = jasmine.createSpy();
|
||||
listener2 = sinon.spy();
|
||||
goog.events.listen(o2, 'k2_changed', listener2);
|
||||
});
|
||||
|
||||
it('sets the expected properties', function() {
|
||||
o.set('k1', 1);
|
||||
expect(o.get('k1')).toEqual(1);
|
||||
expect(o.get('k2')).toBeUndefined();
|
||||
expect(o2.get('k2')).toEqual(1);
|
||||
expect(o2.get('k1')).toBeUndefined();
|
||||
expect(listener1).toHaveBeenCalled();
|
||||
expect(listener2).toHaveBeenCalled();
|
||||
expect(o.get('k1')).to.eql(1);
|
||||
expect(o.get('k2')).to.be(undefined);
|
||||
expect(o2.get('k2')).to.eql(1);
|
||||
expect(o2.get('k1')).to.be(undefined);
|
||||
expect(listener1.called).to.be.ok();
|
||||
expect(listener2.called).to.be.ok();
|
||||
|
||||
expect(o.getKeys()).toEqual(['k1']);
|
||||
expect(o2.getKeys()).toEqual(['k2']);
|
||||
expect(o.getKeys()).to.eql(['k1']);
|
||||
expect(o2.getKeys()).to.eql(['k2']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -320,26 +320,26 @@ describe('ol.Object', function() {
|
||||
|
||||
it('sets the expected properties', function() {
|
||||
o.set('k1', 1);
|
||||
expect(o.get('k1')).toEqual(1);
|
||||
expect(o2.get('k2')).toEqual(1);
|
||||
expect(o3.get('k3')).toEqual(1);
|
||||
expect(o.get('k1')).to.eql(1);
|
||||
expect(o2.get('k2')).to.eql(1);
|
||||
expect(o3.get('k3')).to.eql(1);
|
||||
|
||||
expect(o.getKeys()).toEqual(['k1']);
|
||||
expect(o2.getKeys()).toEqual(['k2']);
|
||||
expect(o3.getKeys()).toEqual(['k3']);
|
||||
expect(o.getKeys()).to.eql(['k1']);
|
||||
expect(o2.getKeys()).to.eql(['k2']);
|
||||
expect(o3.getKeys()).to.eql(['k3']);
|
||||
});
|
||||
|
||||
describe('backward', function() {
|
||||
|
||||
it('sets the expected properties', function() {
|
||||
o3.set('k3', 1);
|
||||
expect(o.get('k1')).toEqual(1);
|
||||
expect(o2.get('k2')).toEqual(1);
|
||||
expect(o3.get('k3')).toEqual(1);
|
||||
expect(o.get('k1')).to.eql(1);
|
||||
expect(o2.get('k2')).to.eql(1);
|
||||
expect(o3.get('k3')).to.eql(1);
|
||||
|
||||
expect(o.getKeys()).toEqual(['k1']);
|
||||
expect(o2.getKeys()).toEqual(['k2']);
|
||||
expect(o3.getKeys()).toEqual(['k3']);
|
||||
expect(o.getKeys()).to.eql(['k1']);
|
||||
expect(o2.getKeys()).to.eql(['k2']);
|
||||
expect(o3.getKeys()).to.eql(['k3']);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -353,7 +353,7 @@ describe('ol.Object', function() {
|
||||
});
|
||||
|
||||
it('throws an error', function() {
|
||||
expect(function() { o2.bindTo('k', o); }).toThrow();
|
||||
expect(function() { o2.bindTo('k', o); }).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -368,15 +368,15 @@ describe('ol.Object', function() {
|
||||
o.set('k', 1);
|
||||
o2.set('k', 2);
|
||||
o.bindTo('k', o2);
|
||||
expect(o.get('k')).toEqual(2);
|
||||
expect(o2.get('k')).toEqual(2);
|
||||
expect(o.get('k')).to.eql(2);
|
||||
expect(o2.get('k')).to.eql(2);
|
||||
});
|
||||
|
||||
it('respects set order (undefined)', function() {
|
||||
o.set('k', 1);
|
||||
o.bindTo('k', o2);
|
||||
expect(o.get('k')).toBeUndefined();
|
||||
expect(o2.get('k')).toBeUndefined();
|
||||
expect(o.get('k')).to.be(undefined);
|
||||
expect(o2.get('k')).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -385,16 +385,16 @@ describe('ol.Object', function() {
|
||||
o.setX = function(x) {
|
||||
this.set('x', x);
|
||||
};
|
||||
spyOn(o, 'setX').andCallThrough();
|
||||
sinon.spy(o, 'setX');
|
||||
});
|
||||
|
||||
describe('without bind', function() {
|
||||
it('does not call the setter', function() {
|
||||
o.set('x', 1);
|
||||
expect(o.get('x')).toEqual(1);
|
||||
expect(o.setX).not.toHaveBeenCalled();
|
||||
expect(o.get('x')).to.eql(1);
|
||||
expect(o.setX.called).to.not.be.ok();
|
||||
|
||||
expect(o.getKeys()).toEqual(['x']);
|
||||
expect(o.getKeys()).to.eql(['x']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -403,11 +403,11 @@ describe('ol.Object', function() {
|
||||
var o2 = new ol.Object();
|
||||
o2.bindTo('x', o);
|
||||
o2.set('x', 1);
|
||||
expect(o.setX).toHaveBeenCalled();
|
||||
expect(o.get('x')).toEqual(1);
|
||||
expect(o.setX.called).to.be.ok();
|
||||
expect(o.get('x')).to.eql(1);
|
||||
|
||||
expect(o.getKeys()).toEqual(['x']);
|
||||
expect(o2.getKeys()).toEqual(['x']);
|
||||
expect(o.getKeys()).to.eql(['x']);
|
||||
expect(o2.getKeys()).to.eql(['x']);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -417,13 +417,13 @@ describe('ol.Object', function() {
|
||||
o.getX = function() {
|
||||
return 1;
|
||||
};
|
||||
spyOn(o, 'getX').andCallThrough();
|
||||
sinon.spy(o, 'getX');
|
||||
});
|
||||
|
||||
describe('without bind', function() {
|
||||
it('does not call the getter', function() {
|
||||
expect(o.get('x')).toBeUndefined();
|
||||
expect(o.getX).not.toHaveBeenCalled();
|
||||
expect(o.get('x')).to.be(undefined);
|
||||
expect(o.getX.called).to.not.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -431,27 +431,27 @@ describe('ol.Object', function() {
|
||||
it('does call the getter', function() {
|
||||
var o2 = new ol.Object();
|
||||
o2.bindTo('x', o);
|
||||
expect(o2.get('x')).toEqual(1);
|
||||
expect(o.getX).toHaveBeenCalled();
|
||||
expect(o2.get('x')).to.eql(1);
|
||||
expect(o.getX.called).to.be.ok();
|
||||
|
||||
expect(o.getKeys()).toEqual([]);
|
||||
expect(o2.getKeys()).toEqual(['x']);
|
||||
expect(o.getKeys()).to.eql([]);
|
||||
expect(o2.getKeys()).to.eql(['x']);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('bind self', function() {
|
||||
it('throws an error', function() {
|
||||
expect(function() { o.bindTo('k', o); }).toThrow();
|
||||
expect(function() { o.bindTo('k', o); }).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
describe('create with options', function() {
|
||||
it('sets the property', function() {
|
||||
var o = new ol.Object({k: 1});
|
||||
expect(o.get('k')).toEqual(1);
|
||||
expect(o.get('k')).to.eql(1);
|
||||
|
||||
expect(o.getKeys()).toEqual(['k']);
|
||||
expect(o.getKeys()).to.eql(['k']);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -459,18 +459,18 @@ describe('ol.Object', function() {
|
||||
var listener1, listener2;
|
||||
|
||||
beforeEach(function() {
|
||||
listener1 = jasmine.createSpy();
|
||||
listener1 = sinon.spy();
|
||||
goog.events.listen(o, 'k_changed', listener1);
|
||||
listener2 = jasmine.createSpy();
|
||||
listener2 = sinon.spy();
|
||||
goog.events.listen(o, 'K_changed', listener2);
|
||||
});
|
||||
|
||||
it('dispatches the expected event', function() {
|
||||
o.set('K', 1);
|
||||
expect(listener1).toHaveBeenCalled();
|
||||
expect(listener2).not.toHaveBeenCalled();
|
||||
expect(listener1.called).to.be.ok();
|
||||
expect(listener2.called).to.not.be.ok();
|
||||
|
||||
expect(o.getKeys()).toEqual(['K']);
|
||||
expect(o.getKeys()).to.eql(['K']);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
goog.provide('ol.test.parser.ogc.ExceptionReport');
|
||||
|
||||
|
||||
describe('ol.parser.ogc.exceptionreport', function() {
|
||||
|
||||
var parser = new ol.parser.ogc.ExceptionReport();
|
||||
|
||||
describe('test read exception', function() {
|
||||
it('OCG WMS 1.3.0 exceptions', function() {
|
||||
it('OCG WMS 1.3.0 exceptions', function(done) {
|
||||
var result, exceptions;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/exceptionreport/wms1_3_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
exceptions = result.exceptionReport.exceptions;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/exceptionreport/wms1_3_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
exceptions = result.exceptionReport.exceptions;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (result !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(exceptions.length).toBe(4);
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(exceptions.length).to.be(4);
|
||||
var str = 'Plain text message about an error.';
|
||||
expect(goog.string.trim(exceptions[0].text)).toBe(str);
|
||||
expect(exceptions[1].code).toBe('InvalidUpdateSequence');
|
||||
expect(goog.string.trim(exceptions[0].text)).to.be(str);
|
||||
expect(exceptions[1].code).to.be('InvalidUpdateSequence');
|
||||
str = ' Another error message, this one with a service exception ' +
|
||||
'code supplied. ';
|
||||
expect(exceptions[1].text).toBe(str);
|
||||
expect(exceptions[1].text).to.be(str);
|
||||
str = 'Error in module <foo.c>, line 42A message that includes angle ' +
|
||||
'brackets in text must be enclosed in a Character Data Section as' +
|
||||
' in this example. All XML-like markup is ignored except for this' +
|
||||
@@ -37,55 +37,56 @@ describe('ol.parser.ogc.exceptionreport', function() {
|
||||
'application-specific software may choose to process it.' +
|
||||
'</Explanation>';
|
||||
expect(goog.string.trim(exceptions[3].text), str);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('test read exception OWSCommon 1.0.0', function() {
|
||||
it('test read exception OWSCommon 1.0.0', function(done) {
|
||||
var result, report, exception;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_0_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
report = result.exceptionReport;
|
||||
exception = report.exceptions[0];
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_0_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
report = result.exceptionReport;
|
||||
exception = report.exceptions[0];
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (result !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(report.version).toEqual('1.0.0');
|
||||
expect(report.language).toEqual('en');
|
||||
expect(exception.code).toEqual('InvalidParameterValue');
|
||||
expect(exception.locator).toEqual('foo');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(report.version).to.eql('1.0.0');
|
||||
expect(report.language).to.eql('en');
|
||||
expect(exception.code).to.eql('InvalidParameterValue');
|
||||
expect(exception.locator).to.eql('foo');
|
||||
var msg = 'Update error: Error occured updating features';
|
||||
expect(exception.texts[0]).toEqual(msg);
|
||||
expect(exception.texts[0]).to.eql(msg);
|
||||
msg = 'Second exception line';
|
||||
expect(exception.texts[1]).toEqual(msg);
|
||||
expect(exception.texts[1]).to.eql(msg);
|
||||
done();
|
||||
});
|
||||
});
|
||||
it('test read exception OWSCommon 1.1.0', function() {
|
||||
it('test read exception OWSCommon 1.1.0', function(done) {
|
||||
var result, report, exception;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_1_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
report = result.exceptionReport;
|
||||
exception = report.exceptions[0];
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/exceptionreport/ows1_1_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
report = result.exceptionReport;
|
||||
exception = report.exceptions[0];
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (result !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(report.version).toEqual('1.1.0');
|
||||
expect(report.language).toEqual('en');
|
||||
expect(exception.code).toEqual('InvalidParameterValue');
|
||||
expect(exception.locator).toEqual('foo');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(report.version).to.eql('1.1.0');
|
||||
expect(report.language).to.eql('en');
|
||||
expect(exception.code).to.eql('InvalidParameterValue');
|
||||
expect(exception.locator).to.eql('foo');
|
||||
var msg = 'Update error: Error occured updating features';
|
||||
expect(exception.texts[0]).toEqual(msg);
|
||||
expect(exception.texts[1]).toEqual('Second exception line');
|
||||
expect(exception.texts[0]).to.eql(msg);
|
||||
expect(exception.texts[1]).to.eql('Second exception line');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,19 +8,19 @@ describe('ol.parser.ogc.versioned', function() {
|
||||
describe('test constructor', function() {
|
||||
var parser = new ol.parser.ogc.Versioned({version: '1.0.0'});
|
||||
it('new OpenLayers.Format.XML.VersionedOGC returns object', function() {
|
||||
expect(parser instanceof ol.parser.ogc.Versioned).toBeTruthy();
|
||||
expect(parser instanceof ol.parser.ogc.Versioned).to.be.ok();
|
||||
});
|
||||
it('constructor sets version correctly', function() {
|
||||
expect(parser.version).toEqual('1.0.0');
|
||||
expect(parser.version).to.eql('1.0.0');
|
||||
});
|
||||
it('defaultVersion should be null if not specified', function() {
|
||||
expect(parser.defaultVersion).toBeNull();
|
||||
expect(parser.defaultVersion).to.be(null);
|
||||
});
|
||||
it('format has a read function', function() {
|
||||
expect(typeof(parser.read)).toEqual('function');
|
||||
expect(typeof(parser.read)).to.eql('function');
|
||||
});
|
||||
it('format has a write function', function() {
|
||||
expect(typeof(parser.write)).toEqual('function');
|
||||
expect(typeof(parser.write)).to.eql('function');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -10,34 +10,34 @@ describe('test WMSCapabilities', function() {
|
||||
it('Version taken from document', function() {
|
||||
var parser = new ol.parser.ogc.WMSCapabilities();
|
||||
var data = parser.read(snippet);
|
||||
expect(data.version).toEqual('1.3.0');
|
||||
expect(data.version).to.eql('1.3.0');
|
||||
});
|
||||
it('Version taken from parser takes preference', function() {
|
||||
var parser = new ol.parser.ogc.WMSCapabilities({version: '1.1.0'});
|
||||
var data = parser.read(snippet);
|
||||
expect(data.version).toEqual('1.1.0');
|
||||
expect(data.version).to.eql('1.1.0');
|
||||
});
|
||||
it('If nothing else is set, defaultVersion should be returned', function() {
|
||||
var parser = new ol.parser.ogc.WMSCapabilities({defaultVersion: '1.1.1'});
|
||||
var data = parser.read(snippet2);
|
||||
expect(data.version).toEqual('1.1.1');
|
||||
expect(data.version).to.eql('1.1.1');
|
||||
});
|
||||
var parser = new ol.parser.ogc.WMSCapabilities({defaultVersion: '1.1.1'});
|
||||
it('Version from options returned', function() {
|
||||
var version = parser.getVersion(null, {version: '1.3.0'});
|
||||
expect(version).toEqual('1.3.0');
|
||||
expect(version).to.eql('1.3.0');
|
||||
});
|
||||
var msg = 'defaultVersion returned if no version specified in options ' +
|
||||
'and no version on the format';
|
||||
it(msg, function() {
|
||||
var version = parser.getVersion(null);
|
||||
expect(version).toEqual('1.1.1');
|
||||
expect(version).to.eql('1.1.1');
|
||||
});
|
||||
msg = 'version returned of the Format if no version specified in options';
|
||||
it(msg, function() {
|
||||
parser.version = '1.1.0';
|
||||
var version = parser.getVersion(null);
|
||||
expect(version).toEqual('1.1.0');
|
||||
expect(version).to.eql('1.1.0');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -11,30 +11,30 @@ describe('ol.parser.ogc.wmscapabilities_v1_0_0', function() {
|
||||
var parser = new ol.parser.ogc.WMSCapabilities();
|
||||
|
||||
describe('test read', function() {
|
||||
it('Test read', function() {
|
||||
it('Test read', function(done) {
|
||||
var obj;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_0_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_0_0.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(obj.service.keywords.length).toEqual(2);
|
||||
expect(obj.service.keywords[0]['value']).toEqual('BGDI');
|
||||
expect(obj.service.href).toEqual('https://wms.geo.admin.ch/?');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(obj.service.keywords.length).to.eql(2);
|
||||
expect(obj.service.keywords[0]['value']).to.eql('BGDI');
|
||||
expect(obj.service.href).to.eql('https://wms.geo.admin.ch/?');
|
||||
var url = 'https://wms.geo.admin.ch/?';
|
||||
var getmap = obj.capability.request.getmap;
|
||||
expect(getmap.get.href).toEqual(url);
|
||||
expect(getmap.post.href).toEqual(url);
|
||||
expect(getmap.formats.length).toEqual(4);
|
||||
expect(getmap.formats[0]).toEqual('GIF');
|
||||
expect(obj.capability.layers[64].keywords.length).toEqual(2);
|
||||
expect(obj.capability.layers[64].keywords[0].value).toEqual('Geometer');
|
||||
expect(getmap.get.href).to.eql(url);
|
||||
expect(getmap.post.href).to.eql(url);
|
||||
expect(getmap.formats.length).to.eql(4);
|
||||
expect(getmap.formats[0]).to.eql('GIF');
|
||||
expect(obj.capability.layers[64].keywords.length).to.eql(2);
|
||||
expect(obj.capability.layers[64].keywords[0].value).to.eql('Geometer');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,306 +5,306 @@ describe('ol.parser.ogc.wmscapabilities_v1_1_1', function() {
|
||||
var parser = new ol.parser.ogc.WMSCapabilities();
|
||||
|
||||
describe('test read exception', function() {
|
||||
it('Error reported correctly', function() {
|
||||
it('Error reported correctly', function(done) {
|
||||
var obj;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/' +
|
||||
'exceptionsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/' +
|
||||
'exceptionsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(!!obj.error).toBeTruthy();
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(!!obj.error).to.be.ok();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test read', function() {
|
||||
it('Test read', function() {
|
||||
it('Test read', function(done) {
|
||||
var obj, capability, getmap, describelayer, getfeatureinfo, layer;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/gssample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
getmap = capability.request.getmap;
|
||||
describelayer = capability.request.describelayer;
|
||||
getfeatureinfo = capability.request.getfeatureinfo;
|
||||
layer = capability.layers[2];
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/gssample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
getmap = capability.request.getmap;
|
||||
describelayer = capability.request.describelayer;
|
||||
getfeatureinfo = capability.request.getfeatureinfo;
|
||||
layer = capability.layers[2];
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(capability).toBeTruthy();
|
||||
expect(getmap.formats.length).toEqual(28);
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(capability).to.be.ok();
|
||||
expect(getmap.formats.length).to.eql(28);
|
||||
var get = 'http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&';
|
||||
expect(getmap.get.href).toEqual(get);
|
||||
expect(getmap.post).toBeUndefined();
|
||||
expect(getmap.get.href).to.eql(get);
|
||||
expect(getmap.post).to.be(undefined);
|
||||
get = 'http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&';
|
||||
expect(describelayer.get.href).toEqual(get);
|
||||
expect(describelayer.post).toBeUndefined();
|
||||
expect(describelayer.get.href).to.eql(get);
|
||||
expect(describelayer.post).to.be(undefined);
|
||||
get = 'http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&';
|
||||
expect(getfeatureinfo.get.href).toEqual(get);
|
||||
expect(getfeatureinfo.get.href).to.eql(get);
|
||||
var post = 'http://publicus.opengeo.org:80/geoserver/wms?SERVICE=WMS&';
|
||||
expect(getfeatureinfo.post.href).toEqual(post);
|
||||
expect(capability.layers).toBeTruthy();
|
||||
expect(capability.layers.length).toEqual(22);
|
||||
expect(getfeatureinfo.post.href).to.eql(post);
|
||||
expect(capability.layers).to.be.ok();
|
||||
expect(capability.layers.length).to.eql(22);
|
||||
var infoFormats =
|
||||
['text/plain', 'text/html', 'application/vnd.ogc.gml'];
|
||||
expect(layer.infoFormats).toEqual(infoFormats);
|
||||
expect(layer.name).toEqual('tiger:tiger_roads');
|
||||
expect(layer.prefix).toEqual('tiger');
|
||||
expect(layer.title).toEqual('Manhattan (NY) roads');
|
||||
expect(layer.infoFormats).to.eql(infoFormats);
|
||||
expect(layer.name).to.eql('tiger:tiger_roads');
|
||||
expect(layer.prefix).to.eql('tiger');
|
||||
expect(layer.title).to.eql('Manhattan (NY) roads');
|
||||
var abstr = 'Highly simplified road layout of Manhattan in New York..';
|
||||
expect(layer['abstract']).toEqual(abstr);
|
||||
expect(layer['abstract']).to.eql(abstr);
|
||||
var bbox = [-74.08769307536667, 40.660618924633326,
|
||||
-73.84653192463333, 40.90178007536667];
|
||||
expect(layer.llbbox).toEqual(bbox);
|
||||
expect(layer.styles.length).toEqual(1);
|
||||
expect(layer.styles[0].name).toEqual('tiger_roads');
|
||||
expect(layer.llbbox).to.eql(bbox);
|
||||
expect(layer.styles.length).to.eql(1);
|
||||
expect(layer.styles[0].name).to.eql('tiger_roads');
|
||||
var legend = 'http://publicus.opengeo.org:80/geoserver/wms/' +
|
||||
'GetLegendGraphic?VERSION=1.0.0&FORMAT=image/png&WIDTH=20&' +
|
||||
'HEIGHT=20&LAYER=tiger:tiger_roads';
|
||||
expect(layer.styles[0].legend.href).toEqual(legend);
|
||||
expect(layer.styles[0].legend.format).toEqual('image/png');
|
||||
expect(layer.queryable).toBeTruthy();
|
||||
expect(layer.styles[0].legend.href).to.eql(legend);
|
||||
expect(layer.styles[0].legend.format).to.eql('image/png');
|
||||
expect(layer.queryable).to.be.ok();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test layers', function() {
|
||||
it('Test layers', function() {
|
||||
it('Test layers', function(done) {
|
||||
var obj, capability, layers = {}, rootlayer, identifiers, authorities;
|
||||
var featurelist;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
for (var i = 0, len = capability.layers.length; i < len; i++) {
|
||||
if ('name' in capability.layers[i]) {
|
||||
layers[capability.layers[i].name] = capability.layers[i];
|
||||
}
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
for (var i = 0, len = capability.layers.length; i < len; i++) {
|
||||
if ('name' in capability.layers[i]) {
|
||||
layers[capability.layers[i].name] = capability.layers[i];
|
||||
}
|
||||
rootlayer = capability.layers[capability.layers.length - 1];
|
||||
identifiers = layers['ROADS_RIVERS'].identifiers;
|
||||
authorities = layers['ROADS_RIVERS'].authorityURLs;
|
||||
featurelist = layers['ROADS_RIVERS'].featureListURL;
|
||||
});
|
||||
}
|
||||
rootlayer = capability.layers[capability.layers.length - 1];
|
||||
identifiers = layers['ROADS_RIVERS'].identifiers;
|
||||
authorities = layers['ROADS_RIVERS'].authorityURLs;
|
||||
featurelist = layers['ROADS_RIVERS'].featureListURL;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(rootlayer.srs).toEqual({'EPSG:4326': true});
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(rootlayer.srs).to.eql({'EPSG:4326': true});
|
||||
var srs = {'EPSG:4326': true, 'EPSG:26986': true};
|
||||
expect(layers['ROADS_RIVERS'].srs).toEqual(srs);
|
||||
expect(layers['Temperature'].srs).toEqual({'EPSG:4326': true});
|
||||
expect(layers['ROADS_RIVERS'].srs).to.eql(srs);
|
||||
expect(layers['Temperature'].srs).to.eql({'EPSG:4326': true});
|
||||
var bbox = layers['ROADS_RIVERS'].bbox['EPSG:26986'];
|
||||
expect(bbox.bbox).toEqual([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).toEqual({x: 1, y: 1});
|
||||
expect(bbox.bbox).to.eql([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).to.eql({x: 1, y: 1});
|
||||
bbox = layers['ROADS_RIVERS'].bbox['EPSG:4326'];
|
||||
expect(bbox.bbox).toEqual([-71.63, 41.75, -70.78, 42.90]);
|
||||
expect(bbox.res).toEqual({x: 0.01, y: 0.01});
|
||||
expect(bbox.bbox).to.eql([-71.63, 41.75, -70.78, 42.90]);
|
||||
expect(bbox.res).to.eql({x: 0.01, y: 0.01});
|
||||
bbox = layers['ROADS_1M'].bbox['EPSG:26986'];
|
||||
expect(bbox.bbox).toEqual([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).toEqual({x: 1, y: 1});
|
||||
expect(identifiers).toBeTruthy();
|
||||
expect('DIF_ID' in identifiers).toBeTruthy();
|
||||
expect(identifiers['DIF_ID']).toEqual('123456');
|
||||
expect('DIF_ID' in authorities).toBeTruthy();
|
||||
expect(bbox.bbox).to.eql([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).to.eql({x: 1, y: 1});
|
||||
expect(identifiers).to.be.ok();
|
||||
expect('DIF_ID' in identifiers).to.be.ok();
|
||||
expect(identifiers['DIF_ID']).to.eql('123456');
|
||||
expect('DIF_ID' in authorities).to.be.ok();
|
||||
var url = 'http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html';
|
||||
expect(authorities['DIF_ID']).toEqual(url);
|
||||
expect(featurelist).toBeTruthy();
|
||||
expect(featurelist.format).toEqual('application/vnd.ogc.se_xml');
|
||||
expect(authorities['DIF_ID']).to.eql(url);
|
||||
expect(featurelist).to.be.ok();
|
||||
expect(featurelist.format).to.eql('application/vnd.ogc.se_xml');
|
||||
url = 'http://www.university.edu/data/roads_rivers.gml';
|
||||
expect(featurelist.href).toEqual(url);
|
||||
expect(layers['Pressure'].queryable).toBeTruthy();
|
||||
expect(layers['ozone_image'].queryable).toBeFalsy();
|
||||
expect(layers['population'].cascaded).toEqual(1);
|
||||
expect(layers['ozone_image'].fixedWidth).toEqual(512);
|
||||
expect(layers['ozone_image'].fixedHeight).toEqual(256);
|
||||
expect(layers['ozone_image'].opaque).toBeTruthy();
|
||||
expect(layers['ozone_image'].noSubsets).toBeTruthy();
|
||||
expect(featurelist.href).to.eql(url);
|
||||
expect(layers['Pressure'].queryable).to.be.ok();
|
||||
expect(layers['ozone_image'].queryable).to.not.be();
|
||||
expect(layers['population'].cascaded).to.eql(1);
|
||||
expect(layers['ozone_image'].fixedWidth).to.eql(512);
|
||||
expect(layers['ozone_image'].fixedHeight).to.eql(256);
|
||||
expect(layers['ozone_image'].opaque).to.be.ok();
|
||||
expect(layers['ozone_image'].noSubsets).to.be.ok();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test dimensions', function() {
|
||||
it('Test dimensions', function() {
|
||||
it('Test dimensions', function(done) {
|
||||
var obj, capability, layers = {}, time, elevation;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
for (var i = 0, len = capability.layers.length; i < len; i++) {
|
||||
if ('name' in capability.layers[i]) {
|
||||
layers[capability.layers[i].name] = capability.layers[i];
|
||||
}
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
for (var i = 0, len = capability.layers.length; i < len; i++) {
|
||||
if ('name' in capability.layers[i]) {
|
||||
layers[capability.layers[i].name] = capability.layers[i];
|
||||
}
|
||||
time = layers['Clouds'].dimensions.time;
|
||||
elevation = layers['Pressure'].dimensions.elevation;
|
||||
});
|
||||
}
|
||||
time = layers['Clouds'].dimensions.time;
|
||||
elevation = layers['Pressure'].dimensions.elevation;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(time['default']).toEqual('2000-08-22');
|
||||
expect(time.values.length).toEqual(1);
|
||||
expect(time.values[0]).toEqual('1999-01-01/2000-08-22/P1D');
|
||||
expect(elevation.units).toEqual('EPSG:5030');
|
||||
expect(elevation['default']).toEqual('0');
|
||||
expect(elevation.nearestVal).toBeTruthy();
|
||||
expect(elevation.multipleVal).toBeFalsy();
|
||||
expect(elevation.values).toEqual(
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(time['default']).to.eql('2000-08-22');
|
||||
expect(time.values.length).to.eql(1);
|
||||
expect(time.values[0]).to.eql('1999-01-01/2000-08-22/P1D');
|
||||
expect(elevation.units).to.eql('EPSG:5030');
|
||||
expect(elevation['default']).to.eql('0');
|
||||
expect(elevation.nearestVal).to.be.ok();
|
||||
expect(elevation.multipleVal).to.not.be();
|
||||
expect(elevation.values).to.eql(
|
||||
['0', '1000', '3000', '5000', '10000']);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test contact info', function() {
|
||||
it('Test contact info', function() {
|
||||
it('Test contact info', function(done) {
|
||||
var obj, service, contactinfo, personPrimary, addr;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
service = obj.service;
|
||||
contactinfo = service.contactInformation;
|
||||
personPrimary = contactinfo.personPrimary;
|
||||
addr = contactinfo.contactAddress;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
service = obj.service;
|
||||
contactinfo = service.contactInformation;
|
||||
personPrimary = contactinfo.personPrimary;
|
||||
addr = contactinfo.contactAddress;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(contactinfo).toBeTruthy();
|
||||
expect(personPrimary).toBeTruthy();
|
||||
expect(personPrimary.person).toEqual('Jeff deLaBeaujardiere');
|
||||
expect(personPrimary.organization).toEqual('NASA');
|
||||
expect(contactinfo.position).toEqual('Computer Scientist');
|
||||
expect(addr).toBeTruthy();
|
||||
expect(addr.type).toEqual('postal');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(contactinfo).to.be.ok();
|
||||
expect(personPrimary).to.be.ok();
|
||||
expect(personPrimary.person).to.eql('Jeff deLaBeaujardiere');
|
||||
expect(personPrimary.organization).to.eql('NASA');
|
||||
expect(contactinfo.position).to.eql('Computer Scientist');
|
||||
expect(addr).to.be.ok();
|
||||
expect(addr.type).to.eql('postal');
|
||||
var address = 'NASA Goddard Space Flight Center, Code 933';
|
||||
expect(addr.address).toEqual(address);
|
||||
expect(addr.city).toEqual('Greenbelt');
|
||||
expect(addr.stateOrProvince).toEqual('MD');
|
||||
expect(addr.postcode).toEqual('20771');
|
||||
expect(addr.country).toEqual('USA');
|
||||
expect(contactinfo.phone).toEqual('+1 301 286-1569');
|
||||
expect(contactinfo.fax).toEqual('+1 301 286-1777');
|
||||
expect(contactinfo.email).toEqual('delabeau@iniki.gsfc.nasa.gov');
|
||||
expect(addr.address).to.eql(address);
|
||||
expect(addr.city).to.eql('Greenbelt');
|
||||
expect(addr.stateOrProvince).to.eql('MD');
|
||||
expect(addr.postcode).to.eql('20771');
|
||||
expect(addr.country).to.eql('USA');
|
||||
expect(contactinfo.phone).to.eql('+1 301 286-1569');
|
||||
expect(contactinfo.fax).to.eql('+1 301 286-1777');
|
||||
expect(contactinfo.email).to.eql('delabeau@iniki.gsfc.nasa.gov');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('Test fees and constraints', function() {
|
||||
it('Test fees and constraints', function() {
|
||||
it('Test fees and constraints', function(done) {
|
||||
var obj, service;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/gssample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
service = obj.service;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/gssample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
service = obj.service;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect('fees' in service).toBeFalsy();
|
||||
expect('accessConstraints' in service).toBeFalsy();
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect('fees' in service).to.not.be();
|
||||
expect('accessConstraints' in service).to.not.be();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('Test requests', function() {
|
||||
it('Test requests', function() {
|
||||
it('Test requests', function(done) {
|
||||
var obj, request, exception, userSymbols;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/gssample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
request = obj.capability.request;
|
||||
exception = obj.capability.exception;
|
||||
userSymbols = obj.capability.userSymbols;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/gssample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
request = obj.capability.request;
|
||||
exception = obj.capability.exception;
|
||||
userSymbols = obj.capability.userSymbols;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(request).toBeTruthy();
|
||||
expect('getmap' in request).toBeTruthy();
|
||||
expect('getfeatureinfo' in request).toBeTruthy();
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(request).to.be.ok();
|
||||
expect('getmap' in request).to.be.ok();
|
||||
expect('getfeatureinfo' in request).to.be.ok();
|
||||
var formats = ['text/plain', 'text/html', 'application/vnd.ogc.gml'];
|
||||
expect(request.getfeatureinfo.formats).toEqual(formats);
|
||||
expect('describelayer' in request).toBeTruthy();
|
||||
expect('getlegendgraphic' in request).toBeTruthy();
|
||||
expect(exception).toBeTruthy();
|
||||
expect(exception.formats).toEqual(['application/vnd.ogc.se_xml']);
|
||||
expect(userSymbols).toBeTruthy();
|
||||
expect(userSymbols.supportSLD).toBeTruthy();
|
||||
expect(userSymbols.userLayer).toBeTruthy();
|
||||
expect(userSymbols.userStyle).toBeTruthy();
|
||||
expect(userSymbols.remoteWFS).toBeTruthy();
|
||||
expect(request.getfeatureinfo.formats).to.eql(formats);
|
||||
expect('describelayer' in request).to.be.ok();
|
||||
expect('getlegendgraphic' in request).to.be.ok();
|
||||
expect(exception).to.be.ok();
|
||||
expect(exception.formats).to.eql(['application/vnd.ogc.se_xml']);
|
||||
expect(userSymbols).to.be.ok();
|
||||
expect(userSymbols.supportSLD).to.be.ok();
|
||||
expect(userSymbols.userLayer).to.be.ok();
|
||||
expect(userSymbols.userStyle).to.be.ok();
|
||||
expect(userSymbols.remoteWFS).to.be.ok();
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test ogc', function() {
|
||||
it('Test ogc', function() {
|
||||
it('Test ogc', function(done) {
|
||||
var obj, capability, attribution, keywords, metadataURLs;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
attribution = capability.layers[2].attribution;
|
||||
keywords = capability.layers[0].keywords;
|
||||
metadataURLs = capability.layers[0].metadataURLs;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
attribution = capability.layers[2].attribution;
|
||||
keywords = capability.layers[0].keywords;
|
||||
metadataURLs = capability.layers[0].metadataURLs;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(attribution.title).toEqual('State College University');
|
||||
expect(attribution.href).toEqual('http://www.university.edu/');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(attribution.title).to.eql('State College University');
|
||||
expect(attribution.href).to.eql('http://www.university.edu/');
|
||||
var url = 'http://www.university.edu/icons/logo.gif';
|
||||
expect(attribution.logo.href).toEqual(url);
|
||||
expect(attribution.logo.format).toEqual('image/gif');
|
||||
expect(attribution.logo.width).toEqual('100');
|
||||
expect(attribution.logo.height).toEqual('100');
|
||||
expect(keywords.length).toEqual(3);
|
||||
expect(keywords[0].value).toEqual('road');
|
||||
expect(metadataURLs.length).toEqual(2);
|
||||
expect(metadataURLs[0].type).toEqual('FGDC');
|
||||
expect(metadataURLs[0].format).toEqual('text/plain');
|
||||
expect(attribution.logo.href).to.eql(url);
|
||||
expect(attribution.logo.format).to.eql('image/gif');
|
||||
expect(attribution.logo.width).to.eql('100');
|
||||
expect(attribution.logo.height).to.eql('100');
|
||||
expect(keywords.length).to.eql(3);
|
||||
expect(keywords[0].value).to.eql('road');
|
||||
expect(metadataURLs.length).to.eql(2);
|
||||
expect(metadataURLs[0].type).to.eql('FGDC');
|
||||
expect(metadataURLs[0].format).to.eql('text/plain');
|
||||
var href = 'http://www.university.edu/metadata/roads.txt';
|
||||
expect(metadataURLs[0].href).toEqual(href);
|
||||
expect(Math.round(capability.layers[0].minScale)).toEqual(250000);
|
||||
expect(Math.round(capability.layers[0].maxScale)).toEqual(1000);
|
||||
expect(capability.layers[1].minScale).toBeUndefined();
|
||||
expect(capability.layers[1].maxScale).toBeUndefined();
|
||||
expect(metadataURLs[0].href).to.eql(href);
|
||||
expect(Math.round(capability.layers[0].minScale)).to.eql(250000);
|
||||
expect(Math.round(capability.layers[0].maxScale)).to.eql(1000);
|
||||
expect(capability.layers[1].minScale).to.be(undefined);
|
||||
expect(capability.layers[1].maxScale).to.be(undefined);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -8,30 +8,29 @@ describe('ol.parser.ogc.wmscapabilities_v1_1_1_wmsc', function() {
|
||||
});
|
||||
|
||||
describe('test read', function() {
|
||||
it('Test read', function() {
|
||||
it('Test read', function(done) {
|
||||
var obj, tilesets, tileset;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1_WMSC/wmsc.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
tilesets = obj.capability.vendorSpecific.tileSets;
|
||||
tileset = tilesets[0];
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1_WMSC/wmsc.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
tilesets = obj.capability.vendorSpecific.tileSets;
|
||||
tileset = tilesets[0];
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(tilesets.length).toEqual(2);
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(tilesets.length).to.eql(2);
|
||||
var bbox = [-13697515.466796875, 5165920.118906248,
|
||||
-13619243.94984375, 5244191.635859374];
|
||||
expect(tileset.bbox['EPSG:900913'].bbox).toEqual(bbox);
|
||||
expect(tileset.format).toEqual('image/png');
|
||||
expect(tileset.height).toEqual(256);
|
||||
expect(tileset.width).toEqual(256);
|
||||
expect(tileset.layers).toEqual('medford:hydro');
|
||||
expect(tileset.srs['EPSG:900913']).toBeTruthy();
|
||||
expect(tileset.bbox['EPSG:900913'].bbox).to.eql(bbox);
|
||||
expect(tileset.format).to.eql('image/png');
|
||||
expect(tileset.height).to.eql(256);
|
||||
expect(tileset.width).to.eql(256);
|
||||
expect(tileset.layers).to.eql('medford:hydro');
|
||||
expect(tileset.srs['EPSG:900913']).to.be.ok();
|
||||
var resolutions = [156543.03390625, 78271.516953125, 39135.7584765625,
|
||||
19567.87923828125, 9783.939619140625, 4891.9698095703125,
|
||||
2445.9849047851562, 1222.9924523925781, 611.4962261962891,
|
||||
@@ -41,28 +40,29 @@ describe('ol.parser.ogc.wmscapabilities_v1_1_1_wmsc', function() {
|
||||
0.5971642833948135, 0.29858214169740677, 0.14929107084870338,
|
||||
0.07464553542435169, 0.037322767712175846, 0.018661383856087923,
|
||||
0.009330691928043961, 0.004665345964021981];
|
||||
expect(tileset.resolutions).toEqual(resolutions);
|
||||
expect(tileset.styles).toEqual('');
|
||||
expect(tileset.resolutions).to.eql(resolutions);
|
||||
expect(tileset.styles).to.eql('');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test fallback', function() {
|
||||
it('Test fallback', function() {
|
||||
it('Test fallback', function(done) {
|
||||
var obj;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1_WMSC/' +
|
||||
'fallback.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_1_1_WMSC/' +
|
||||
'fallback.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(obj.capability.layers.length).toEqual(2);
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(obj.capability.layers.length).to.eql(2);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,148 +5,148 @@ describe('ol.parser.ogc.wmscapabilities_v1_3_0', function() {
|
||||
var parser = new ol.parser.ogc.WMSCapabilities();
|
||||
|
||||
describe('test read exception', function() {
|
||||
it('Error reported correctly', function() {
|
||||
it('Error reported correctly', function(done) {
|
||||
var result;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_3_0/' +
|
||||
'exceptionsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_3_0/' +
|
||||
'exceptionsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
result = parser.read(xhr.getResponseXml());
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (result !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(!!result.error).toBe(true);
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(!!result.error).to.be(true);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('test read', function() {
|
||||
it('Test read', function() {
|
||||
it('Test read', function(done) {
|
||||
var obj, capability, layers = {}, rootlayer, identifiers, authorities;
|
||||
var featurelist, time, elevation, service, contactinfo, personPrimary,
|
||||
addr, request, exception, attribution, keywords, metadataURLs;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_3_0/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
for (var i = 0, len = capability.layers.length; i < len; i++) {
|
||||
if ('name' in capability.layers[i]) {
|
||||
layers[capability.layers[i].name] = capability.layers[i];
|
||||
}
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmscapabilities_v1_3_0/ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
capability = obj.capability;
|
||||
for (var i = 0, len = capability.layers.length; i < len; i++) {
|
||||
if ('name' in capability.layers[i]) {
|
||||
layers[capability.layers[i].name] = capability.layers[i];
|
||||
}
|
||||
rootlayer = capability.layers[capability.layers.length - 1];
|
||||
identifiers = layers['ROADS_RIVERS'].identifiers;
|
||||
authorities = layers['ROADS_RIVERS'].authorityURLs;
|
||||
featurelist = layers['ROADS_RIVERS'].featureListURL;
|
||||
time = layers['Clouds'].dimensions.time;
|
||||
elevation = layers['Pressure'].dimensions.elevation;
|
||||
service = obj.service;
|
||||
contactinfo = service.contactInformation;
|
||||
personPrimary = contactinfo.personPrimary;
|
||||
addr = contactinfo.contactAddress;
|
||||
request = obj.capability.request;
|
||||
exception = obj.capability.exception;
|
||||
attribution = capability.layers[2].attribution;
|
||||
keywords = capability.layers[0].keywords;
|
||||
metadataURLs = capability.layers[0].metadataURLs;
|
||||
});
|
||||
}
|
||||
rootlayer = capability.layers[capability.layers.length - 1];
|
||||
identifiers = layers['ROADS_RIVERS'].identifiers;
|
||||
authorities = layers['ROADS_RIVERS'].authorityURLs;
|
||||
featurelist = layers['ROADS_RIVERS'].featureListURL;
|
||||
time = layers['Clouds'].dimensions.time;
|
||||
elevation = layers['Pressure'].dimensions.elevation;
|
||||
service = obj.service;
|
||||
contactinfo = service.contactInformation;
|
||||
personPrimary = contactinfo.personPrimary;
|
||||
addr = contactinfo.contactAddress;
|
||||
request = obj.capability.request;
|
||||
exception = obj.capability.exception;
|
||||
attribution = capability.layers[2].attribution;
|
||||
keywords = capability.layers[0].keywords;
|
||||
metadataURLs = capability.layers[0].metadataURLs;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(rootlayer.srs).toEqual({'CRS:84': true});
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(rootlayer.srs).to.eql({'CRS:84': true});
|
||||
var srs = {'CRS:84': true, 'EPSG:26986': true};
|
||||
expect(layers['ROADS_RIVERS'].srs).toEqual(srs);
|
||||
expect(layers['Temperature'].srs).toEqual({'CRS:84': true});
|
||||
expect(layers['ROADS_RIVERS'].srs).to.eql(srs);
|
||||
expect(layers['Temperature'].srs).to.eql({'CRS:84': true});
|
||||
var infoFormats = ['text/xml', 'text/plain', 'text/html'];
|
||||
expect(layers['Temperature'].infoFormats).toEqual(infoFormats);
|
||||
expect(layers['Temperature'].infoFormats).to.eql(infoFormats);
|
||||
var bbox = layers['ROADS_RIVERS'].bbox['EPSG:26986'];
|
||||
expect(bbox.bbox).toEqual([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).toEqual({x: 1, y: 1});
|
||||
expect(bbox.bbox).to.eql([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).to.eql({x: 1, y: 1});
|
||||
bbox = layers['ROADS_RIVERS'].bbox['CRS:84'];
|
||||
expect(bbox.bbox).toEqual([-71.63, 41.75, -70.78, 42.90]);
|
||||
expect(bbox.res).toEqual({x: 0.01, y: 0.01});
|
||||
expect(bbox.bbox).to.eql([-71.63, 41.75, -70.78, 42.90]);
|
||||
expect(bbox.res).to.eql({x: 0.01, y: 0.01});
|
||||
bbox = layers['ROADS_1M'].bbox['EPSG:26986'];
|
||||
expect(bbox.bbox).toEqual([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).toEqual({x: 1, y: 1});
|
||||
expect(identifiers).toBeTruthy();
|
||||
expect('DIF_ID' in identifiers).toBeTruthy();
|
||||
expect(identifiers['DIF_ID']).toEqual('123456');
|
||||
expect('DIF_ID' in authorities).toBeTruthy();
|
||||
expect(bbox.bbox).to.eql([189000, 834000, 285000, 962000]);
|
||||
expect(bbox.res).to.eql({x: 1, y: 1});
|
||||
expect(identifiers).to.be.ok();
|
||||
expect('DIF_ID' in identifiers).to.be.ok();
|
||||
expect(identifiers['DIF_ID']).to.eql('123456');
|
||||
expect('DIF_ID' in authorities).to.be.ok();
|
||||
var url = 'http://gcmd.gsfc.nasa.gov/difguide/whatisadif.html';
|
||||
expect(authorities['DIF_ID']).toEqual(url);
|
||||
expect(featurelist).toBeTruthy();
|
||||
expect(featurelist.format).toEqual('XML');
|
||||
expect(authorities['DIF_ID']).to.eql(url);
|
||||
expect(featurelist).to.be.ok();
|
||||
expect(featurelist.format).to.eql('XML');
|
||||
url = 'http://www.university.edu/data/roads_rivers.gml';
|
||||
expect(featurelist.href).toEqual(url);
|
||||
expect(layers['Pressure'].queryable).toBeTruthy();
|
||||
expect(layers['ozone_image'].queryable).toBeFalsy();
|
||||
expect(layers['population'].cascaded).toEqual(1);
|
||||
expect(layers['ozone_image'].fixedWidth).toEqual(512);
|
||||
expect(layers['ozone_image'].fixedHeight).toEqual(256);
|
||||
expect(layers['ozone_image'].opaque).toBeTruthy();
|
||||
expect(layers['ozone_image'].noSubsets).toBeTruthy();
|
||||
expect(time['default']).toEqual('2000-08-22');
|
||||
expect(time.values.length).toEqual(1);
|
||||
expect(time.values[0]).toEqual('1999-01-01/2000-08-22/P1D');
|
||||
expect(elevation.units).toEqual('CRS:88');
|
||||
expect(elevation['default']).toEqual('0');
|
||||
expect(elevation.nearestVal).toBeTruthy();
|
||||
expect(elevation.multipleVal).toBeFalsy();
|
||||
expect(elevation.values).toEqual(
|
||||
expect(featurelist.href).to.eql(url);
|
||||
expect(layers['Pressure'].queryable).to.be.ok();
|
||||
expect(layers['ozone_image'].queryable).to.not.be();
|
||||
expect(layers['population'].cascaded).to.eql(1);
|
||||
expect(layers['ozone_image'].fixedWidth).to.eql(512);
|
||||
expect(layers['ozone_image'].fixedHeight).to.eql(256);
|
||||
expect(layers['ozone_image'].opaque).to.be.ok();
|
||||
expect(layers['ozone_image'].noSubsets).to.be.ok();
|
||||
expect(time['default']).to.eql('2000-08-22');
|
||||
expect(time.values.length).to.eql(1);
|
||||
expect(time.values[0]).to.eql('1999-01-01/2000-08-22/P1D');
|
||||
expect(elevation.units).to.eql('CRS:88');
|
||||
expect(elevation['default']).to.eql('0');
|
||||
expect(elevation.nearestVal).to.be.ok();
|
||||
expect(elevation.multipleVal).to.not.be();
|
||||
expect(elevation.values).to.eql(
|
||||
['0', '1000', '3000', '5000', '10000']);
|
||||
expect(contactinfo).toBeTruthy();
|
||||
expect(personPrimary).toBeTruthy();
|
||||
expect(personPrimary.person).toEqual('Jeff Smith');
|
||||
expect(personPrimary.organization).toEqual('NASA');
|
||||
expect(contactinfo.position).toEqual('Computer Scientist');
|
||||
expect(addr).toBeTruthy();
|
||||
expect(addr.type).toEqual('postal');
|
||||
expect(addr.address).toEqual('NASA Goddard Space Flight Center');
|
||||
expect(addr.city).toEqual('Greenbelt');
|
||||
expect(addr.stateOrProvince).toEqual('MD');
|
||||
expect(addr.postcode).toEqual('20771');
|
||||
expect(addr.country).toEqual('USA');
|
||||
expect(contactinfo.phone).toEqual('+1 301 555-1212');
|
||||
expect(contactinfo.email).toEqual('user@host.com');
|
||||
expect('fees' in service).toBeFalsy();
|
||||
expect('accessConstraints' in service).toBeFalsy();
|
||||
expect(request).toBeTruthy();
|
||||
expect('getmap' in request).toBeTruthy();
|
||||
expect('getfeatureinfo' in request).toBeTruthy();
|
||||
expect(contactinfo).to.be.ok();
|
||||
expect(personPrimary).to.be.ok();
|
||||
expect(personPrimary.person).to.eql('Jeff Smith');
|
||||
expect(personPrimary.organization).to.eql('NASA');
|
||||
expect(contactinfo.position).to.eql('Computer Scientist');
|
||||
expect(addr).to.be.ok();
|
||||
expect(addr.type).to.eql('postal');
|
||||
expect(addr.address).to.eql('NASA Goddard Space Flight Center');
|
||||
expect(addr.city).to.eql('Greenbelt');
|
||||
expect(addr.stateOrProvince).to.eql('MD');
|
||||
expect(addr.postcode).to.eql('20771');
|
||||
expect(addr.country).to.eql('USA');
|
||||
expect(contactinfo.phone).to.eql('+1 301 555-1212');
|
||||
expect(contactinfo.email).to.eql('user@host.com');
|
||||
expect('fees' in service).to.not.be();
|
||||
expect('accessConstraints' in service).to.not.be();
|
||||
expect(request).to.be.ok();
|
||||
expect('getmap' in request).to.be.ok();
|
||||
expect('getfeatureinfo' in request).to.be.ok();
|
||||
var formats = ['text/xml', 'text/plain', 'text/html'];
|
||||
expect(request.getfeatureinfo.formats).toEqual(formats);
|
||||
expect(exception).toBeTruthy();
|
||||
expect(request.getfeatureinfo.formats).to.eql(formats);
|
||||
expect(exception).to.be.ok();
|
||||
formats = ['XML', 'INIMAGE', 'BLANK'];
|
||||
expect(exception.formats).toEqual(formats);
|
||||
expect(attribution.title).toEqual('State College University');
|
||||
expect(attribution.href).toEqual('http://www.university.edu/');
|
||||
expect(exception.formats).to.eql(formats);
|
||||
expect(attribution.title).to.eql('State College University');
|
||||
expect(attribution.href).to.eql('http://www.university.edu/');
|
||||
url = 'http://www.university.edu/icons/logo.gif';
|
||||
expect(attribution.logo.href).toEqual(url);
|
||||
expect(attribution.logo.format).toEqual('image/gif');
|
||||
expect(attribution.logo.width).toEqual('100');
|
||||
expect(attribution.logo.height).toEqual('100');
|
||||
expect(keywords.length).toEqual(3);
|
||||
expect(keywords[0].value).toEqual('road');
|
||||
expect(metadataURLs.length).toEqual(2);
|
||||
expect(metadataURLs[0].type).toEqual('FGDC:1998');
|
||||
expect(metadataURLs[0].format).toEqual('text/plain');
|
||||
expect(attribution.logo.href).to.eql(url);
|
||||
expect(attribution.logo.format).to.eql('image/gif');
|
||||
expect(attribution.logo.width).to.eql('100');
|
||||
expect(attribution.logo.height).to.eql('100');
|
||||
expect(keywords.length).to.eql(3);
|
||||
expect(keywords[0].value).to.eql('road');
|
||||
expect(metadataURLs.length).to.eql(2);
|
||||
expect(metadataURLs[0].type).to.eql('FGDC:1998');
|
||||
expect(metadataURLs[0].format).to.eql('text/plain');
|
||||
url = 'http://www.university.edu/metadata/roads.txt';
|
||||
expect(metadataURLs[0].href).toEqual(url);
|
||||
expect(metadataURLs[0].href).to.eql(url);
|
||||
var minScale = 250000;
|
||||
expect(capability.layers[0].minScale).toEqual(minScale.toPrecision(16));
|
||||
expect(capability.layers[0].minScale).to.eql(minScale.toPrecision(16));
|
||||
var maxScale = 1000;
|
||||
expect(capability.layers[0].maxScale).toEqual(maxScale.toPrecision(16));
|
||||
expect(obj.service.layerLimit).toEqual(16);
|
||||
expect(obj.service.maxHeight).toEqual(2048);
|
||||
expect(obj.service.maxWidth).toEqual(2048);
|
||||
expect(capability.layers[0].maxScale).to.eql(maxScale.toPrecision(16));
|
||||
expect(obj.service.layerLimit).to.eql(16);
|
||||
expect(obj.service.maxHeight).to.eql(2048);
|
||||
expect(obj.service.maxWidth).to.eql(2048);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,173 +5,173 @@ describe('ol.parser.ogc.wmtscapabilities_v1_0_0', function() {
|
||||
var parser = new ol.parser.ogc.WMTSCapabilities();
|
||||
|
||||
describe('test ows', function() {
|
||||
it('Test ows', function() {
|
||||
it('Test ows', function(done) {
|
||||
var obj, serviceIdentification, serviceProvider, operationsMetadata,
|
||||
contactInfo;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
serviceIdentification = obj.serviceIdentification;
|
||||
serviceProvider = obj.serviceProvider;
|
||||
operationsMetadata = obj.operationsMetadata;
|
||||
contactInfo = serviceProvider.serviceContact.contactInfo;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
serviceIdentification = obj.serviceIdentification;
|
||||
serviceProvider = obj.serviceProvider;
|
||||
operationsMetadata = obj.operationsMetadata;
|
||||
contactInfo = serviceProvider.serviceContact.contactInfo;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(serviceIdentification.title).toEqual('Web Map Tile Service');
|
||||
expect(serviceIdentification.serviceTypeVersion).toEqual('1.0.0');
|
||||
expect(serviceIdentification.serviceType.value).toEqual('OGC WMTS');
|
||||
expect(serviceProvider.providerName).toEqual('MiraMon');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(serviceIdentification.title).to.eql('Web Map Tile Service');
|
||||
expect(serviceIdentification.serviceTypeVersion).to.eql('1.0.0');
|
||||
expect(serviceIdentification.serviceType.value).to.eql('OGC WMTS');
|
||||
expect(serviceProvider.providerName).to.eql('MiraMon');
|
||||
var url = 'http://www.creaf.uab.es/miramon';
|
||||
expect(serviceProvider.providerSite).toEqual(url);
|
||||
expect(serviceProvider.providerSite).to.eql(url);
|
||||
var name = 'Joan Maso Pau';
|
||||
expect(serviceProvider.serviceContact.individualName).toEqual(name);
|
||||
expect(serviceProvider.serviceContact.individualName).to.eql(name);
|
||||
var position = 'Senior Software Engineer';
|
||||
expect(serviceProvider.serviceContact.positionName).toEqual(position);
|
||||
expect(contactInfo.address.administrativeArea).toEqual('Barcelona');
|
||||
expect(contactInfo.address.city).toEqual('Bellaterra');
|
||||
expect(contactInfo.address.country).toEqual('Spain');
|
||||
expect(contactInfo.address.deliveryPoint).toEqual('Fac Ciencies UAB');
|
||||
expect(serviceProvider.serviceContact.positionName).to.eql(position);
|
||||
expect(contactInfo.address.administrativeArea).to.eql('Barcelona');
|
||||
expect(contactInfo.address.city).to.eql('Bellaterra');
|
||||
expect(contactInfo.address.country).to.eql('Spain');
|
||||
expect(contactInfo.address.deliveryPoint).to.eql('Fac Ciencies UAB');
|
||||
var email = 'joan.maso@uab.es';
|
||||
expect(contactInfo.address.electronicMailAddress).toEqual(email);
|
||||
expect(contactInfo.address.postalCode).toEqual('08193');
|
||||
expect(contactInfo.phone.voice).toEqual('+34 93 581 1312');
|
||||
expect(contactInfo.address.electronicMailAddress).to.eql(email);
|
||||
expect(contactInfo.address.postalCode).to.eql('08193');
|
||||
expect(contactInfo.phone.voice).to.eql('+34 93 581 1312');
|
||||
var dcp = operationsMetadata.GetCapabilities.dcp;
|
||||
url = 'http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?';
|
||||
expect(dcp.http.get[0].url).toEqual(url);
|
||||
expect(dcp.http.get[0].url).to.eql(url);
|
||||
dcp = operationsMetadata.GetCapabilities.dcp;
|
||||
expect(dcp.http.get[0].constraints.GetEncoding.allowedValues).toEqual(
|
||||
expect(dcp.http.get[0].constraints.GetEncoding.allowedValues).to.eql(
|
||||
{'KVP': true});
|
||||
url = 'http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?';
|
||||
dcp = operationsMetadata.GetFeatureInfo.dcp;
|
||||
expect(dcp.http.get[0].url).toEqual(url);
|
||||
expect(dcp.http.get[0].url).to.eql(url);
|
||||
dcp = operationsMetadata.GetFeatureInfo.dcp;
|
||||
expect(dcp.http.get[0].constraints).toBeUndefined();
|
||||
expect(dcp.http.get[0].constraints).to.be(undefined);
|
||||
url = 'http://www.miramon.uab.es/cgi-bin/MiraMon5_0.cgi?';
|
||||
expect(operationsMetadata.GetTile.dcp.http.get[0].url).toEqual(url);
|
||||
expect(operationsMetadata.GetTile.dcp.http.get[0].url).to.eql(url);
|
||||
dcp = operationsMetadata.GetTile.dcp;
|
||||
expect(dcp.http.get[0].constraints).toBeUndefined();
|
||||
expect(dcp.http.get[0].constraints).to.be(undefined);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
describe('test layers', function() {
|
||||
it('Test layers', function() {
|
||||
it('Test layers', function(done) {
|
||||
var obj, contents, layer, wgs84Bbox, dimensions;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
contents = obj.contents;
|
||||
layer = contents.layers[0];
|
||||
wgs84Bbox = layer.bounds;
|
||||
dimensions = layer.dimensions;
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
contents = obj.contents;
|
||||
layer = contents.layers[0];
|
||||
wgs84Bbox = layer.bounds;
|
||||
dimensions = layer.dimensions;
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(contents.layers.length).toEqual(1);
|
||||
expect(layer['abstract']).toEqual('Coastline/shorelines (BA010)');
|
||||
expect(layer.identifier).toEqual('coastlines');
|
||||
expect(layer.title).toEqual('Coastlines');
|
||||
expect(layer.formats.length).toEqual(2);
|
||||
expect(layer.formats[0]).toEqual('image/png');
|
||||
expect(layer.formats[1]).toEqual('image/gif');
|
||||
expect(layer.styles.length).toEqual(2);
|
||||
expect(layer.styles[0].identifier).toEqual('DarkBlue');
|
||||
expect(layer.styles[0].isDefault).toBeTruthy();
|
||||
expect(layer.styles[0].title).toEqual('Dark Blue');
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(contents.layers.length).to.eql(1);
|
||||
expect(layer['abstract']).to.eql('Coastline/shorelines (BA010)');
|
||||
expect(layer.identifier).to.eql('coastlines');
|
||||
expect(layer.title).to.eql('Coastlines');
|
||||
expect(layer.formats.length).to.eql(2);
|
||||
expect(layer.formats[0]).to.eql('image/png');
|
||||
expect(layer.formats[1]).to.eql('image/gif');
|
||||
expect(layer.styles.length).to.eql(2);
|
||||
expect(layer.styles[0].identifier).to.eql('DarkBlue');
|
||||
expect(layer.styles[0].isDefault).to.be.ok();
|
||||
expect(layer.styles[0].title).to.eql('Dark Blue');
|
||||
var url = 'http://www.miramon.uab.es/wmts/Coastlines/' +
|
||||
'coastlines_darkBlue.png';
|
||||
expect(layer.styles[0].legend.href).toEqual(url);
|
||||
expect(layer.styles[0].legend.format).toEqual('image/png');
|
||||
expect(layer.styles[1].identifier).toEqual('thickAndRed');
|
||||
expect(!layer.styles[1].isDefault).toBeTruthy();
|
||||
expect(layer.styles[1].title).toEqual('Thick And Red');
|
||||
expect(layer.styles[1].legend).toBeUndefined();
|
||||
expect(layer.tileMatrixSetLinks.length).toEqual(1);
|
||||
expect(layer.tileMatrixSetLinks[0].tileMatrixSet).toEqual('BigWorld');
|
||||
expect(wgs84Bbox instanceof ol.Extent).toBeTruthy();
|
||||
expect(wgs84Bbox.minX).toEqual(-180.0);
|
||||
expect(wgs84Bbox.maxX).toEqual(180.0);
|
||||
expect(wgs84Bbox.minY).toEqual(-90.0);
|
||||
expect(wgs84Bbox.maxY).toEqual(90.0);
|
||||
expect(layer.resourceUrls.hasOwnProperty('tile')).toBeTruthy();
|
||||
expect(layer.styles[0].legend.href).to.eql(url);
|
||||
expect(layer.styles[0].legend.format).to.eql('image/png');
|
||||
expect(layer.styles[1].identifier).to.eql('thickAndRed');
|
||||
expect(!layer.styles[1].isDefault).to.be.ok();
|
||||
expect(layer.styles[1].title).to.eql('Thick And Red');
|
||||
expect(layer.styles[1].legend).to.be(undefined);
|
||||
expect(layer.tileMatrixSetLinks.length).to.eql(1);
|
||||
expect(layer.tileMatrixSetLinks[0].tileMatrixSet).to.eql('BigWorld');
|
||||
expect(wgs84Bbox instanceof ol.Extent).to.be.ok();
|
||||
expect(wgs84Bbox.minX).to.eql(-180.0);
|
||||
expect(wgs84Bbox.maxX).to.eql(180.0);
|
||||
expect(wgs84Bbox.minY).to.eql(-90.0);
|
||||
expect(wgs84Bbox.maxY).to.eql(90.0);
|
||||
expect(layer.resourceUrls.hasOwnProperty('tile')).to.be.ok();
|
||||
var format = 'image/png';
|
||||
expect(layer.resourceUrls.tile.hasOwnProperty(format)).toBeTruthy();
|
||||
expect(layer.resourceUrls.tile[format].length).toEqual(2);
|
||||
expect(layer.resourceUrls.tile.hasOwnProperty(format)).to.be.ok();
|
||||
expect(layer.resourceUrls.tile[format].length).to.eql(2);
|
||||
var tpl = 'http://a.example.com/wmts/coastlines/{TileMatrix}/' +
|
||||
'{TileRow}/{TileCol}.png';
|
||||
expect(layer.resourceUrls.tile[format][0]).toEqual(tpl);
|
||||
expect(layer.resourceUrls.tile[format][0]).to.eql(tpl);
|
||||
tpl = 'http://b.example.com/wmts/coastlines/{TileMatrix}/' +
|
||||
'{TileRow}/{TileCol}.png';
|
||||
expect(layer.resourceUrls.tile[format][1]).toEqual(tpl);
|
||||
expect(layer.resourceUrls.hasOwnProperty('FeatureInfo')).toBeTruthy();
|
||||
expect(layer.resourceUrls.tile[format][1]).to.eql(tpl);
|
||||
expect(layer.resourceUrls.hasOwnProperty('FeatureInfo')).to.be.ok();
|
||||
format = 'application/gml+xml; version=3.1';
|
||||
expect(layer.resourceUrls.FeatureInfo.hasOwnProperty(format))
|
||||
.toBeTruthy();
|
||||
expect(layer.resourceUrls.FeatureInfo[format].length).toEqual(1);
|
||||
.to.be.ok();
|
||||
expect(layer.resourceUrls.FeatureInfo[format].length).to.eql(1);
|
||||
tpl = 'http://www.example.com/wmts/coastlines/{TileMatrixSet}/' +
|
||||
'{TileMatrix}/{TileRow}/{TileCol}/{J}/{I}.xml';
|
||||
expect(layer.resourceUrls.FeatureInfo[format][0]).toEqual(tpl);
|
||||
expect(dimensions.length).toEqual(1);
|
||||
expect(dimensions[0].title).toEqual('Time');
|
||||
expect(dimensions[0]['abstract']).toEqual('Monthly datasets');
|
||||
expect(dimensions[0].identifier).toEqual('TIME');
|
||||
expect(dimensions[0]['default']).toEqual('default');
|
||||
expect(dimensions[0].values.length).toEqual(3);
|
||||
expect(dimensions[0].values[0]).toEqual('2007-05');
|
||||
expect(dimensions[0].values[1]).toEqual('2007-06');
|
||||
expect(dimensions[0].values[1]).toEqual('2007-06');
|
||||
expect(dimensions[0].values[2]).toEqual('2007-07');
|
||||
expect(layer.resourceUrls.FeatureInfo[format][0]).to.eql(tpl);
|
||||
expect(dimensions.length).to.eql(1);
|
||||
expect(dimensions[0].title).to.eql('Time');
|
||||
expect(dimensions[0]['abstract']).to.eql('Monthly datasets');
|
||||
expect(dimensions[0].identifier).to.eql('TIME');
|
||||
expect(dimensions[0]['default']).to.eql('default');
|
||||
expect(dimensions[0].values.length).to.eql(3);
|
||||
expect(dimensions[0].values[0]).to.eql('2007-05');
|
||||
expect(dimensions[0].values[1]).to.eql('2007-06');
|
||||
expect(dimensions[0].values[1]).to.eql('2007-06');
|
||||
expect(dimensions[0].values[2]).to.eql('2007-07');
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
describe('test tileMatrixSets', function() {
|
||||
it('Test tileMatrixSets', function() {
|
||||
it('Test tileMatrixSets', function(done) {
|
||||
var obj, tileMatrixSets, bigWorld;
|
||||
runs(function() {
|
||||
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
tileMatrixSets = obj.contents.tileMatrixSets;
|
||||
bigWorld = tileMatrixSets['BigWorld'];
|
||||
});
|
||||
|
||||
var url = 'spec/ol/parser/ogc/xml/wmtscapabilities_v1_0_0/' +
|
||||
'ogcsample.xml';
|
||||
goog.net.XhrIo.send(url, function(e) {
|
||||
var xhr = e.target;
|
||||
obj = parser.read(xhr.getResponseXml());
|
||||
tileMatrixSets = obj.contents.tileMatrixSets;
|
||||
bigWorld = tileMatrixSets['BigWorld'];
|
||||
});
|
||||
|
||||
waitsFor(function() {
|
||||
return (obj !== undefined);
|
||||
}, 'XHR timeout', 1000);
|
||||
runs(function() {
|
||||
expect(bigWorld).toBeDefined();
|
||||
expect(bigWorld.identifier).toEqual('BigWorld');
|
||||
expect(bigWorld.matrixIds.length).toEqual(2);
|
||||
expect(bigWorld.matrixIds[0].identifier).toEqual('1e6');
|
||||
expect(bigWorld.matrixIds[0].matrixHeight).toEqual(50000);
|
||||
expect(bigWorld.matrixIds[0].matrixWidth).toEqual(60000);
|
||||
expect(bigWorld.matrixIds[0].scaleDenominator).toEqual(1000000);
|
||||
expect(bigWorld.matrixIds[0].tileWidth).toEqual(256);
|
||||
expect(bigWorld.matrixIds[0].tileHeight).toEqual(256);
|
||||
expect(bigWorld.matrixIds[0].topLeftCorner.x).toEqual(-180);
|
||||
expect(bigWorld.matrixIds[0].topLeftCorner.y).toEqual(84);
|
||||
expect(bigWorld.matrixIds[1].identifier).toEqual('2.5e6');
|
||||
expect(bigWorld.matrixIds[1].matrixHeight).toEqual(7000);
|
||||
expect(bigWorld.matrixIds[1].matrixWidth).toEqual(9000);
|
||||
expect(bigWorld.matrixIds[1].scaleDenominator).toEqual(2500000);
|
||||
expect(bigWorld.matrixIds[1].tileWidth).toEqual(256);
|
||||
expect(bigWorld.matrixIds[1].tileHeight).toEqual(256);
|
||||
expect(bigWorld.matrixIds[1].topLeftCorner.x).toEqual(-180);
|
||||
expect(bigWorld.matrixIds[1].topLeftCorner.y).toEqual(84);
|
||||
}, 'XHR timeout', 1000, function() {
|
||||
expect(bigWorld).to.not.be(undefined);
|
||||
expect(bigWorld.identifier).to.eql('BigWorld');
|
||||
expect(bigWorld.matrixIds.length).to.eql(2);
|
||||
expect(bigWorld.matrixIds[0].identifier).to.eql('1e6');
|
||||
expect(bigWorld.matrixIds[0].matrixHeight).to.eql(50000);
|
||||
expect(bigWorld.matrixIds[0].matrixWidth).to.eql(60000);
|
||||
expect(bigWorld.matrixIds[0].scaleDenominator).to.eql(1000000);
|
||||
expect(bigWorld.matrixIds[0].tileWidth).to.eql(256);
|
||||
expect(bigWorld.matrixIds[0].tileHeight).to.eql(256);
|
||||
expect(bigWorld.matrixIds[0].topLeftCorner.x).to.eql(-180);
|
||||
expect(bigWorld.matrixIds[0].topLeftCorner.y).to.eql(84);
|
||||
expect(bigWorld.matrixIds[1].identifier).to.eql('2.5e6');
|
||||
expect(bigWorld.matrixIds[1].matrixHeight).to.eql(7000);
|
||||
expect(bigWorld.matrixIds[1].matrixWidth).to.eql(9000);
|
||||
expect(bigWorld.matrixIds[1].scaleDenominator).to.eql(2500000);
|
||||
expect(bigWorld.matrixIds[1].tileWidth).to.eql(256);
|
||||
expect(bigWorld.matrixIds[1].tileHeight).to.eql(256);
|
||||
expect(bigWorld.matrixIds[1].topLeftCorner.x).to.eql(-180);
|
||||
expect(bigWorld.matrixIds[1].topLeftCorner.y).to.eql(84);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -34,7 +34,7 @@ describe('ol.parser.polyline', function() {
|
||||
var encodeFlatCoordinates = ol.parser.polyline.encodeFlatCoordinates;
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(encodeFlatCoordinates(flatPoints)).toEqual(encodedFlatPoints);
|
||||
expect(encodeFlatCoordinates(flatPoints)).to.eql(encodedFlatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -43,7 +43,7 @@ describe('ol.parser.polyline', function() {
|
||||
var decodeFlatCoordinates = ol.parser.polyline.decodeFlatCoordinates;
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(decodeFlatCoordinates(encodedFlatPoints)).toEqual(flatPoints);
|
||||
expect(decodeFlatCoordinates(encodedFlatPoints)).to.eql(flatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -53,7 +53,7 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var encodeDeltas = ol.parser.polyline.encodeDeltas;
|
||||
|
||||
expect(encodeDeltas(flatPoints, 2)).toEqual(encodedFlatPoints);
|
||||
expect(encodeDeltas(flatPoints, 2)).to.eql(encodedFlatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -61,7 +61,7 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var decodeDeltas = ol.parser.polyline.decodeDeltas;
|
||||
|
||||
expect(decodeDeltas(encodedFlatPoints, 2)).toEqual(flatPoints);
|
||||
expect(decodeDeltas(encodedFlatPoints, 2)).to.eql(flatPoints);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -71,12 +71,12 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var encodeFloats = ol.parser.polyline.encodeFloats;
|
||||
|
||||
expect(encodeFloats(smallFloats)).toEqual(encodedFloats);
|
||||
expect(encodeFloats(smallFloats)).to.eql(encodedFloats);
|
||||
|
||||
resetTestingData();
|
||||
expect(encodeFloats(smallFloats, 1e5)).toEqual(encodedFloats);
|
||||
expect(encodeFloats(smallFloats, 1e5)).to.eql(encodedFloats);
|
||||
|
||||
expect(encodeFloats(floats, 1e2)).toEqual(encodedFloats);
|
||||
expect(encodeFloats(floats, 1e2)).to.eql(encodedFloats);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -84,9 +84,9 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var decodeFloats = ol.parser.polyline.decodeFloats;
|
||||
|
||||
expect(decodeFloats(encodedFloats)).toEqual(smallFloats);
|
||||
expect(decodeFloats(encodedFloats, 1e5)).toEqual(smallFloats);
|
||||
expect(decodeFloats(encodedFloats, 1e2)).toEqual(floats);
|
||||
expect(decodeFloats(encodedFloats)).to.eql(smallFloats);
|
||||
expect(decodeFloats(encodedFloats, 1e5)).to.eql(smallFloats);
|
||||
expect(decodeFloats(encodedFloats, 1e2)).to.eql(floats);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -97,7 +97,7 @@ describe('ol.parser.polyline', function() {
|
||||
var encodeSignedIntegers = ol.parser.polyline.encodeSignedIntegers;
|
||||
|
||||
expect(encodeSignedIntegers(
|
||||
signedIntegers)).toEqual(encodedSignedIntegers);
|
||||
signedIntegers)).to.eql(encodedSignedIntegers);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -106,7 +106,7 @@ describe('ol.parser.polyline', function() {
|
||||
var decodeSignedIntegers = ol.parser.polyline.decodeSignedIntegers;
|
||||
|
||||
expect(decodeSignedIntegers(
|
||||
encodedSignedIntegers)).toEqual(signedIntegers);
|
||||
encodedSignedIntegers)).to.eql(signedIntegers);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -117,7 +117,7 @@ describe('ol.parser.polyline', function() {
|
||||
var encodeUnsignedIntegers = ol.parser.polyline.encodeUnsignedIntegers;
|
||||
|
||||
expect(encodeUnsignedIntegers(
|
||||
unsignedIntegers)).toEqual(encodedUnsignedIntegers);
|
||||
unsignedIntegers)).to.eql(encodedUnsignedIntegers);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -126,7 +126,7 @@ describe('ol.parser.polyline', function() {
|
||||
var decodeUnsignedIntegers = ol.parser.polyline.decodeUnsignedIntegers;
|
||||
|
||||
expect(decodeUnsignedIntegers(
|
||||
encodedUnsignedIntegers)).toEqual(unsignedIntegers);
|
||||
encodedUnsignedIntegers)).to.eql(unsignedIntegers);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -136,22 +136,22 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var encodeFloat = ol.parser.polyline.encodeFloat;
|
||||
|
||||
expect(encodeFloat(0.00000)).toEqual('?');
|
||||
expect(encodeFloat(-0.00001)).toEqual('@');
|
||||
expect(encodeFloat(0.00001)).toEqual('A');
|
||||
expect(encodeFloat(-0.00002)).toEqual('B');
|
||||
expect(encodeFloat(0.00002)).toEqual('C');
|
||||
expect(encodeFloat(0.00015)).toEqual(']');
|
||||
expect(encodeFloat(-0.00016)).toEqual('^');
|
||||
expect(encodeFloat(0.00000)).to.eql('?');
|
||||
expect(encodeFloat(-0.00001)).to.eql('@');
|
||||
expect(encodeFloat(0.00001)).to.eql('A');
|
||||
expect(encodeFloat(-0.00002)).to.eql('B');
|
||||
expect(encodeFloat(0.00002)).to.eql('C');
|
||||
expect(encodeFloat(0.00015)).to.eql(']');
|
||||
expect(encodeFloat(-0.00016)).to.eql('^');
|
||||
|
||||
expect(encodeFloat(-0.1, 10)).toEqual('@');
|
||||
expect(encodeFloat(0.1, 10)).toEqual('A');
|
||||
expect(encodeFloat(-0.1, 10)).to.eql('@');
|
||||
expect(encodeFloat(0.1, 10)).to.eql('A');
|
||||
|
||||
expect(encodeFloat(16 * 32 / 1e5)).toEqual('__@');
|
||||
expect(encodeFloat(16 * 32 * 32 / 1e5)).toEqual('___@');
|
||||
expect(encodeFloat(16 * 32 / 1e5)).to.eql('__@');
|
||||
expect(encodeFloat(16 * 32 * 32 / 1e5)).to.eql('___@');
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(encodeFloat(-179.9832104)).toEqual('`~oia@');
|
||||
expect(encodeFloat(-179.9832104)).to.eql('`~oia@');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -159,22 +159,22 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var decodeFloat = ol.parser.polyline.decodeFloat;
|
||||
|
||||
expect(decodeFloat('?')).toEqual(0.00000);
|
||||
expect(decodeFloat('@')).toEqual(-0.00001);
|
||||
expect(decodeFloat('A')).toEqual(0.00001);
|
||||
expect(decodeFloat('B')).toEqual(-0.00002);
|
||||
expect(decodeFloat('C')).toEqual(0.00002);
|
||||
expect(decodeFloat(']')).toEqual(0.00015);
|
||||
expect(decodeFloat('^')).toEqual(-0.00016);
|
||||
expect(decodeFloat('?')).to.eql(0.00000);
|
||||
expect(decodeFloat('@')).to.eql(-0.00001);
|
||||
expect(decodeFloat('A')).to.eql(0.00001);
|
||||
expect(decodeFloat('B')).to.eql(-0.00002);
|
||||
expect(decodeFloat('C')).to.eql(0.00002);
|
||||
expect(decodeFloat(']')).to.eql(0.00015);
|
||||
expect(decodeFloat('^')).to.eql(-0.00016);
|
||||
|
||||
expect(decodeFloat('@', 10)).toEqual(-0.1);
|
||||
expect(decodeFloat('A', 10)).toEqual(0.1);
|
||||
expect(decodeFloat('@', 10)).to.eql(-0.1);
|
||||
expect(decodeFloat('A', 10)).to.eql(0.1);
|
||||
|
||||
expect(decodeFloat('__@')).toEqual(16 * 32 / 1e5);
|
||||
expect(decodeFloat('___@')).toEqual(16 * 32 * 32 / 1e5);
|
||||
expect(decodeFloat('__@')).to.eql(16 * 32 / 1e5);
|
||||
expect(decodeFloat('___@')).to.eql(16 * 32 * 32 / 1e5);
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(decodeFloat('`~oia@')).toEqual(-179.98321);
|
||||
expect(decodeFloat('`~oia@')).to.eql(-179.98321);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -184,17 +184,17 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var encodeSignedInteger = ol.parser.polyline.encodeSignedInteger;
|
||||
|
||||
expect(encodeSignedInteger(0)).toEqual('?');
|
||||
expect(encodeSignedInteger(-1)).toEqual('@');
|
||||
expect(encodeSignedInteger(1)).toEqual('A');
|
||||
expect(encodeSignedInteger(-2)).toEqual('B');
|
||||
expect(encodeSignedInteger(2)).toEqual('C');
|
||||
expect(encodeSignedInteger(15)).toEqual(']');
|
||||
expect(encodeSignedInteger(-16)).toEqual('^');
|
||||
expect(encodeSignedInteger(0)).to.eql('?');
|
||||
expect(encodeSignedInteger(-1)).to.eql('@');
|
||||
expect(encodeSignedInteger(1)).to.eql('A');
|
||||
expect(encodeSignedInteger(-2)).to.eql('B');
|
||||
expect(encodeSignedInteger(2)).to.eql('C');
|
||||
expect(encodeSignedInteger(15)).to.eql(']');
|
||||
expect(encodeSignedInteger(-16)).to.eql('^');
|
||||
|
||||
expect(encodeSignedInteger(16)).toEqual('_@');
|
||||
expect(encodeSignedInteger(16 * 32)).toEqual('__@');
|
||||
expect(encodeSignedInteger(16 * 32 * 32)).toEqual('___@');
|
||||
expect(encodeSignedInteger(16)).to.eql('_@');
|
||||
expect(encodeSignedInteger(16 * 32)).to.eql('__@');
|
||||
expect(encodeSignedInteger(16 * 32 * 32)).to.eql('___@');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -202,17 +202,17 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var decodeSignedInteger = ol.parser.polyline.decodeSignedInteger;
|
||||
|
||||
expect(decodeSignedInteger('?')).toEqual(0);
|
||||
expect(decodeSignedInteger('@')).toEqual(-1);
|
||||
expect(decodeSignedInteger('A')).toEqual(1);
|
||||
expect(decodeSignedInteger('B')).toEqual(-2);
|
||||
expect(decodeSignedInteger('C')).toEqual(2);
|
||||
expect(decodeSignedInteger(']')).toEqual(15);
|
||||
expect(decodeSignedInteger('^')).toEqual(-16);
|
||||
expect(decodeSignedInteger('?')).to.eql(0);
|
||||
expect(decodeSignedInteger('@')).to.eql(-1);
|
||||
expect(decodeSignedInteger('A')).to.eql(1);
|
||||
expect(decodeSignedInteger('B')).to.eql(-2);
|
||||
expect(decodeSignedInteger('C')).to.eql(2);
|
||||
expect(decodeSignedInteger(']')).to.eql(15);
|
||||
expect(decodeSignedInteger('^')).to.eql(-16);
|
||||
|
||||
expect(decodeSignedInteger('_@')).toEqual(16);
|
||||
expect(decodeSignedInteger('__@')).toEqual(16 * 32);
|
||||
expect(decodeSignedInteger('___@')).toEqual(16 * 32 * 32);
|
||||
expect(decodeSignedInteger('_@')).to.eql(16);
|
||||
expect(decodeSignedInteger('__@')).to.eql(16 * 32);
|
||||
expect(decodeSignedInteger('___@')).to.eql(16 * 32 * 32);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -222,19 +222,19 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var encodeUnsignedInteger = ol.parser.polyline.encodeUnsignedInteger;
|
||||
|
||||
expect(encodeUnsignedInteger(0)).toEqual('?');
|
||||
expect(encodeUnsignedInteger(1)).toEqual('@');
|
||||
expect(encodeUnsignedInteger(2)).toEqual('A');
|
||||
expect(encodeUnsignedInteger(30)).toEqual(']');
|
||||
expect(encodeUnsignedInteger(31)).toEqual('^');
|
||||
expect(encodeUnsignedInteger(32)).toEqual('_@');
|
||||
expect(encodeUnsignedInteger(0)).to.eql('?');
|
||||
expect(encodeUnsignedInteger(1)).to.eql('@');
|
||||
expect(encodeUnsignedInteger(2)).to.eql('A');
|
||||
expect(encodeUnsignedInteger(30)).to.eql(']');
|
||||
expect(encodeUnsignedInteger(31)).to.eql('^');
|
||||
expect(encodeUnsignedInteger(32)).to.eql('_@');
|
||||
|
||||
expect(encodeUnsignedInteger(32 * 32)).toEqual('__@');
|
||||
expect(encodeUnsignedInteger(5 * 32 * 32)).toEqual('__D');
|
||||
expect(encodeUnsignedInteger(32 * 32 * 32)).toEqual('___@');
|
||||
expect(encodeUnsignedInteger(32 * 32)).to.eql('__@');
|
||||
expect(encodeUnsignedInteger(5 * 32 * 32)).to.eql('__D');
|
||||
expect(encodeUnsignedInteger(32 * 32 * 32)).to.eql('___@');
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(encodeUnsignedInteger(174)).toEqual('mD');
|
||||
expect(encodeUnsignedInteger(174)).to.eql('mD');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -242,19 +242,19 @@ describe('ol.parser.polyline', function() {
|
||||
it('returns expected value', function() {
|
||||
var decodeUnsignedInteger = ol.parser.polyline.decodeUnsignedInteger;
|
||||
|
||||
expect(decodeUnsignedInteger('?')).toEqual(0);
|
||||
expect(decodeUnsignedInteger('@')).toEqual(1);
|
||||
expect(decodeUnsignedInteger('A')).toEqual(2);
|
||||
expect(decodeUnsignedInteger(']')).toEqual(30);
|
||||
expect(decodeUnsignedInteger('^')).toEqual(31);
|
||||
expect(decodeUnsignedInteger('_@')).toEqual(32);
|
||||
expect(decodeUnsignedInteger('?')).to.eql(0);
|
||||
expect(decodeUnsignedInteger('@')).to.eql(1);
|
||||
expect(decodeUnsignedInteger('A')).to.eql(2);
|
||||
expect(decodeUnsignedInteger(']')).to.eql(30);
|
||||
expect(decodeUnsignedInteger('^')).to.eql(31);
|
||||
expect(decodeUnsignedInteger('_@')).to.eql(32);
|
||||
|
||||
expect(decodeUnsignedInteger('__@')).toEqual(32 * 32);
|
||||
expect(decodeUnsignedInteger('__D')).toEqual(5 * 32 * 32);
|
||||
expect(decodeUnsignedInteger('___@')).toEqual(32 * 32 * 32);
|
||||
expect(decodeUnsignedInteger('__@')).to.eql(32 * 32);
|
||||
expect(decodeUnsignedInteger('__D')).to.eql(5 * 32 * 32);
|
||||
expect(decodeUnsignedInteger('___@')).to.eql(32 * 32 * 32);
|
||||
|
||||
// from the "Encoded Polyline Algorithm Format" page at Google
|
||||
expect(decodeUnsignedInteger('mD')).toEqual(174);
|
||||
expect(decodeUnsignedInteger('mD')).to.eql(174);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -11,7 +11,7 @@ describe('ol.projection.EPSG3857', function() {
|
||||
var resolution = 19.11;
|
||||
var point = new ol.Coordinate(0, 0);
|
||||
expect(epsg3857.getPointResolution(resolution, point)).
|
||||
toRoughlyEqual(19.11, 1e-1);
|
||||
to.roughlyEqual(19.11, 1e-1);
|
||||
});
|
||||
|
||||
it('returns the correct point scale at the latitude of Toronto',
|
||||
@@ -23,7 +23,7 @@ describe('ol.projection.EPSG3857', function() {
|
||||
var point = ol.projection.transform(
|
||||
new ol.Coordinate(0, 43.65), epsg4326, epsg3857);
|
||||
expect(epsg3857.getPointResolution(resolution, point)).
|
||||
toRoughlyEqual(19.11 * Math.cos(Math.PI * 43.65 / 180), 1e-9);
|
||||
to.roughlyEqual(19.11 * Math.cos(Math.PI * 43.65 / 180), 1e-9);
|
||||
});
|
||||
|
||||
it('returns the correct point scale at various latitudes', function() {
|
||||
@@ -36,7 +36,7 @@ describe('ol.projection.EPSG3857', function() {
|
||||
var point = ol.projection.transform(
|
||||
new ol.Coordinate(0, latitude), epsg4326, epsg3857);
|
||||
expect(epsg3857.getPointResolution(resolution, point)).
|
||||
toRoughlyEqual(19.11 * Math.cos(Math.PI * latitude / 180), 1e-9);
|
||||
to.roughlyEqual(19.11 * Math.cos(Math.PI * latitude / 180), 1e-9);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@ goog.provide('ol.test.Projection');
|
||||
describe('ol.projection', function() {
|
||||
|
||||
beforeEach(function() {
|
||||
spyOn(ol.projection, 'addTransform').andCallThrough();
|
||||
sinon.spy(ol.projection, 'addTransform');
|
||||
});
|
||||
|
||||
afterEach(function() {
|
||||
var argsForCall = ol.projection.addTransform.argsForCall;
|
||||
var argsForCall = ol.projection.addTransform.args;
|
||||
for (var i = 0, ii = argsForCall.length; i < ii; ++i) {
|
||||
try {
|
||||
ol.projection.removeTransform.apply(
|
||||
@@ -21,6 +21,7 @@ describe('ol.projection', function() {
|
||||
}
|
||||
}
|
||||
}
|
||||
ol.projection.addTransform.restore();
|
||||
});
|
||||
|
||||
describe('projection equivalence', function() {
|
||||
@@ -29,7 +30,7 @@ describe('ol.projection', function() {
|
||||
var projections = goog.array.map(codes, ol.projection.get);
|
||||
goog.array.forEach(projections, function(source) {
|
||||
goog.array.forEach(projections, function(destination) {
|
||||
expect(ol.projection.equivalent(source, destination)).toBeTruthy();
|
||||
expect(ol.projection.equivalent(source, destination)).to.be.ok();
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -61,9 +62,9 @@ describe('ol.projection', function() {
|
||||
var sourcePoint = new ol.Coordinate(uniqueObject, uniqueObject);
|
||||
var destinationPoint = ol.projection.transform(
|
||||
sourcePoint, epsg4326, epsg4326);
|
||||
expect(sourcePoint === destinationPoint).toBeFalsy();
|
||||
expect(destinationPoint.x === sourcePoint.x).toBeTruthy();
|
||||
expect(destinationPoint.y === sourcePoint.y).toBeTruthy();
|
||||
expect(sourcePoint === destinationPoint).to.not.be();
|
||||
expect(destinationPoint.x === sourcePoint.x).to.be.ok();
|
||||
expect(destinationPoint.y === sourcePoint.y).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -72,9 +73,9 @@ describe('ol.projection', function() {
|
||||
it('returns expected value', function() {
|
||||
var point = ol.projection.transform(
|
||||
new ol.Coordinate(0, 0), 'EPSG:4326', 'EPSG:3857');
|
||||
expect(point).not.toBeUndefined();
|
||||
expect(point).not.toBeNull();
|
||||
expect(point.y).toRoughlyEqual(0, 1e-9);
|
||||
expect(point).not.to.be(undefined);
|
||||
expect(point).not.to.be(null);
|
||||
expect(point.y).to.roughlyEqual(0, 1e-9);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -83,10 +84,10 @@ describe('ol.projection', function() {
|
||||
it('returns expected value', function() {
|
||||
var point = ol.projection.transform(
|
||||
new ol.Coordinate(0, 0), 'EPSG:3857', 'EPSG:4326');
|
||||
expect(point).not.toBeUndefined();
|
||||
expect(point).not.toBeNull();
|
||||
expect(point.x).toEqual(0);
|
||||
expect(point.y).toEqual(0);
|
||||
expect(point).not.to.be(undefined);
|
||||
expect(point).not.to.be(null);
|
||||
expect(point.x).to.eql(0);
|
||||
expect(point.y).to.eql(0);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -98,10 +99,10 @@ describe('ol.projection', function() {
|
||||
new ol.Coordinate(-5.625, 52.4827802220782),
|
||||
'EPSG:4326',
|
||||
'EPSG:900913');
|
||||
expect(point).not.toBeUndefined();
|
||||
expect(point).not.toBeNull();
|
||||
expect(point.x).toRoughlyEqual(-626172.13571216376, 1e-9);
|
||||
expect(point.y).toRoughlyEqual(6887893.4928337997, 1e-8);
|
||||
expect(point).not.to.be(undefined);
|
||||
expect(point).not.to.be(null);
|
||||
expect(point.x).to.roughlyEqual(-626172.13571216376, 1e-9);
|
||||
expect(point.y).to.roughlyEqual(6887893.4928337997, 1e-8);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -113,10 +114,10 @@ describe('ol.projection', function() {
|
||||
new ol.Coordinate(-626172.13571216376, 6887893.4928337997),
|
||||
'EPSG:900913',
|
||||
'EPSG:4326');
|
||||
expect(point).not.toBeUndefined();
|
||||
expect(point).not.toBeNull();
|
||||
expect(point.x).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(point.y).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(point).not.to.be(undefined);
|
||||
expect(point).not.to.be(null);
|
||||
expect(point.x).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(point.y).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -127,8 +128,8 @@ describe('ol.projection', function() {
|
||||
new ol.Coordinate(-626172.13571216376, 6887893.4928337997),
|
||||
'GOOGLE',
|
||||
'WGS84');
|
||||
expect(point.x).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(point.y).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(point.x).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(point.y).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
});
|
||||
|
||||
it('allows new Proj4js projections to be defined', function() {
|
||||
@@ -140,8 +141,8 @@ describe('ol.projection', function() {
|
||||
new ol.Coordinate(7.439583333333333, 46.95240555555556),
|
||||
'EPSG:4326',
|
||||
'EPSG:21781');
|
||||
expect(point.x).toRoughlyEqual(600072.300, 1);
|
||||
expect(point.y).toRoughlyEqual(200146.976, 1);
|
||||
expect(point.x).to.roughlyEqual(600072.300, 1);
|
||||
expect(point.y).to.roughlyEqual(200146.976, 1);
|
||||
});
|
||||
|
||||
it('caches the new Proj4js projections given their srsCode', function() {
|
||||
@@ -153,17 +154,17 @@ describe('ol.projection', function() {
|
||||
var srsCode = 'EPSG:21781';
|
||||
var proj = ol.projection.get(code);
|
||||
expect(ol.projection.proj4jsProjections_.hasOwnProperty(code))
|
||||
.toBeTruthy();
|
||||
.to.be.ok();
|
||||
expect(ol.projection.proj4jsProjections_.hasOwnProperty(srsCode))
|
||||
.toBeTruthy();
|
||||
.to.be.ok();
|
||||
var proj2 = ol.projection.get(srsCode);
|
||||
expect(proj2).toBe(proj);
|
||||
expect(proj2).to.be(proj);
|
||||
});
|
||||
|
||||
it('numerically estimates point scale at the equator', function() {
|
||||
var googleProjection = ol.projection.get('GOOGLE');
|
||||
expect(googleProjection.getPointResolution(1, new ol.Coordinate(0, 0))).
|
||||
toRoughlyEqual(1, 1e-1);
|
||||
to.roughlyEqual(1, 1e-1);
|
||||
});
|
||||
|
||||
it('numerically estimates point scale at various latitudes', function() {
|
||||
@@ -172,7 +173,7 @@ describe('ol.projection', function() {
|
||||
var point, y;
|
||||
for (y = -20; y <= 20; ++y) {
|
||||
point = new ol.Coordinate(0, 1000000 * y);
|
||||
expect(googleProjection.getPointResolution(1, point)).toRoughlyEqual(
|
||||
expect(googleProjection.getPointResolution(1, point)).to.roughlyEqual(
|
||||
epsg3857Projection.getPointResolution(1, point), 1e-1);
|
||||
}
|
||||
});
|
||||
@@ -184,7 +185,7 @@ describe('ol.projection', function() {
|
||||
for (x = -20; x <= 20; ++x) {
|
||||
for (y = -20; y <= 20; ++y) {
|
||||
point = new ol.Coordinate(1000000 * x, 1000000 * y);
|
||||
expect(googleProjection.getPointResolution(1, point)).toRoughlyEqual(
|
||||
expect(googleProjection.getPointResolution(1, point)).to.roughlyEqual(
|
||||
epsg3857Projection.getPointResolution(1, point), 1e-1);
|
||||
}
|
||||
}
|
||||
@@ -199,24 +200,24 @@ describe('ol.projection', function() {
|
||||
|
||||
it('returns a transform function', function() {
|
||||
var transform = ol.projection.getTransformFromProjections(sm, gg);
|
||||
expect(typeof transform).toBe('function');
|
||||
expect(typeof transform).to.be('function');
|
||||
|
||||
var output = transform([-12000000, 5000000]);
|
||||
|
||||
expect(output[0]).toRoughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[1]).toRoughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[0]).to.roughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[1]).to.roughlyEqual(40.91627447067577, 1e-9);
|
||||
});
|
||||
|
||||
it('works for longer arrays', function() {
|
||||
var transform = ol.projection.getTransformFromProjections(sm, gg);
|
||||
expect(typeof transform).toBe('function');
|
||||
expect(typeof transform).to.be('function');
|
||||
|
||||
var output = transform([-12000000, 5000000, -12000000, 5000000]);
|
||||
|
||||
expect(output[0]).toRoughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[1]).toRoughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[2]).toRoughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[3]).toRoughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[0]).to.roughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[1]).to.roughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[2]).to.roughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[3]).to.roughlyEqual(40.91627447067577, 1e-9);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -225,23 +226,23 @@ describe('ol.projection', function() {
|
||||
|
||||
it('returns a function', function() {
|
||||
var transform = ol.projection.getTransform('GOOGLE', 'EPSG:4326');
|
||||
expect(typeof transform).toBe('function');
|
||||
expect(typeof transform).to.be('function');
|
||||
});
|
||||
|
||||
it('returns a transform function', function() {
|
||||
var transform = ol.projection.getTransform('GOOGLE', 'EPSG:4326');
|
||||
expect(typeof transform).toBe('function');
|
||||
expect(typeof transform).to.be('function');
|
||||
|
||||
var output = transform([-626172.13571216376, 6887893.4928337997]);
|
||||
|
||||
expect(output[0]).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(output[1]).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[0]).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(output[1]).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
|
||||
});
|
||||
|
||||
it('works for longer arrays of coordinate values', function() {
|
||||
var transform = ol.projection.getTransform('GOOGLE', 'EPSG:4326');
|
||||
expect(typeof transform).toBe('function');
|
||||
expect(typeof transform).to.be('function');
|
||||
|
||||
var output = transform([
|
||||
-626172.13571216376, 6887893.4928337997,
|
||||
@@ -249,12 +250,12 @@ describe('ol.projection', function() {
|
||||
-626172.13571216376, 6887893.4928337997
|
||||
]);
|
||||
|
||||
expect(output[0]).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(output[1]).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[2]).toRoughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[3]).toRoughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[4]).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(output[5]).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[0]).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(output[1]).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[2]).to.roughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[3]).to.roughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[4]).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(output[5]).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
});
|
||||
|
||||
it('accepts an optional destination array', function() {
|
||||
@@ -263,17 +264,17 @@ describe('ol.projection', function() {
|
||||
var output = [];
|
||||
|
||||
var got = transform(input, output);
|
||||
expect(got).toBe(output);
|
||||
expect(got).to.be(output);
|
||||
|
||||
expect(output[0]).toRoughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[1]).toRoughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[0]).to.roughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[1]).to.roughlyEqual(40.91627447067577, 1e-9);
|
||||
|
||||
expect(input).toEqual([-12000000, 5000000]);
|
||||
expect(input).to.eql([-12000000, 5000000]);
|
||||
});
|
||||
|
||||
it('accepts a dimension', function() {
|
||||
var transform = ol.projection.getTransform('GOOGLE', 'EPSG:4326');
|
||||
expect(typeof transform).toBe('function');
|
||||
expect(typeof transform).to.be('function');
|
||||
|
||||
var dimension = 3;
|
||||
var output = transform([
|
||||
@@ -282,15 +283,15 @@ describe('ol.projection', function() {
|
||||
-626172.13571216376, 6887893.4928337997, 300
|
||||
], undefined, dimension);
|
||||
|
||||
expect(output[0]).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(output[1]).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[2]).toBe(100);
|
||||
expect(output[3]).toRoughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[4]).toRoughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[5]).toBe(200);
|
||||
expect(output[6]).toRoughlyEqual(-5.625, 1e-9);
|
||||
expect(output[7]).toRoughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[8]).toBe(300);
|
||||
expect(output[0]).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(output[1]).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[2]).to.be(100);
|
||||
expect(output[3]).to.roughlyEqual(-107.79783409434258, 1e-9);
|
||||
expect(output[4]).to.roughlyEqual(40.91627447067577, 1e-9);
|
||||
expect(output[5]).to.be(200);
|
||||
expect(output[6]).to.roughlyEqual(-5.625, 1e-9);
|
||||
expect(output[7]).to.roughlyEqual(52.4827802220782, 1e-9);
|
||||
expect(output[8]).to.be(300);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -312,13 +313,13 @@ describe('ol.projection', function() {
|
||||
});
|
||||
var transform = function(input, output, dimension) {return input};
|
||||
ol.projection.addTransform(foo, bar, transform);
|
||||
expect(ol.projection.transforms_).not.toBeUndefined();
|
||||
expect(ol.projection.transforms_.foo).not.toBeUndefined();
|
||||
expect(ol.projection.transforms_.foo.bar).toBe(transform);
|
||||
expect(ol.projection.transforms_).not.to.be(undefined);
|
||||
expect(ol.projection.transforms_.foo).not.to.be(undefined);
|
||||
expect(ol.projection.transforms_.foo.bar).to.be(transform);
|
||||
|
||||
var removed = ol.projection.removeTransform(foo, bar);
|
||||
expect(removed).toBe(transform);
|
||||
expect(ol.projection.transforms_.foo).toBeUndefined();
|
||||
expect(removed).to.be(transform);
|
||||
expect(ol.projection.transforms_.foo).to.be(undefined);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -327,7 +328,7 @@ describe('ol.projection', function() {
|
||||
|
||||
it('returns value in meters', function() {
|
||||
var epsg4326 = ol.projection.get('EPSG:4326');
|
||||
expect(epsg4326.getMetersPerUnit()).toEqual(111194.87428468118);
|
||||
expect(epsg4326.getMetersPerUnit()).to.eql(111194.87428468118);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -345,10 +346,10 @@ describe('ol.projection', function() {
|
||||
code: 'EPSG:21781',
|
||||
extent: extent
|
||||
});
|
||||
expect(epsg21781.getCode()).toEqual('EPSG:21781');
|
||||
expect(epsg21781.getExtent()).toBe(extent);
|
||||
expect(epsg21781.getUnits()).toBe(ol.ProjectionUnits.METERS);
|
||||
expect(epsg21781.isGlobal()).toBeFalsy();
|
||||
expect(epsg21781.getCode()).to.eql('EPSG:21781');
|
||||
expect(epsg21781.getExtent()).to.be(extent);
|
||||
expect(epsg21781.getUnits()).to.be(ol.ProjectionUnits.METERS);
|
||||
expect(epsg21781.isGlobal()).to.not.be();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -6,8 +6,8 @@ describe('ol.Rectangle', function() {
|
||||
it('returns the expected center', function() {
|
||||
var rectangle = new ol.Rectangle(1, 2, 3, 4);
|
||||
var center = rectangle.getCenter();
|
||||
expect(center.x).toEqual(2);
|
||||
expect(center.y).toEqual(3);
|
||||
expect(center.x).to.eql(2);
|
||||
expect(center.y).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -17,41 +17,39 @@ describe('ol.Rectangle', function() {
|
||||
|
||||
beforeEach(function() {
|
||||
rectangle1 = new ol.Rectangle(50, 50, 100, 100);
|
||||
this.addMatchers({
|
||||
toIntersects: function(other) {
|
||||
return this.actual.intersects(other);
|
||||
}
|
||||
});
|
||||
expect.Assertion.prototype.intersectWith = function(other) {
|
||||
return this.obj.intersects(other);
|
||||
};
|
||||
});
|
||||
|
||||
it('returns the expected value', function() {
|
||||
expect(rectangle1).toIntersects(rectangle1);
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(20, 20, 80, 80));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(20, 50, 80, 100));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(20, 80, 80, 120));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(50, 20, 100, 80));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(50, 80, 100, 120));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(80, 20, 120, 80));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(80, 50, 120, 100));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(80, 80, 120, 120));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(20, 20, 120, 120));
|
||||
expect(rectangle1).toIntersects(new ol.Rectangle(70, 70, 80, 80));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(10, 10, 30, 30));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(30, 10, 70, 30));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(50, 10, 100, 30));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(80, 10, 120, 30));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(120, 10, 140, 30));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(10, 30, 30, 70));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(120, 30, 140, 70));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(10, 50, 30, 100));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(120, 50, 140, 100));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(10, 80, 30, 120));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(120, 80, 140, 120));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(10, 120, 30, 140));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(30, 120, 70, 140));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(50, 120, 100, 140));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(80, 120, 120, 140));
|
||||
expect(rectangle1).not.toIntersects(new ol.Rectangle(120, 120, 140, 140));
|
||||
expect(rectangle1).to.intersectWith(rectangle1);
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(20, 20, 80, 80));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(20, 50, 80, 100));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(20, 80, 80, 120));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(50, 20, 100, 80));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(50, 80, 100, 120));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(80, 20, 120, 80));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(80, 50, 120, 100));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(80, 80, 120, 120));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(20, 20, 120, 120));
|
||||
expect(rectangle1).to.intersectWith(new ol.Rectangle(70, 70, 80, 80));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(10, 10, 30, 30));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(30, 10, 70, 30));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(50, 10, 100, 30));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(80, 10, 120, 30));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(120, 10, 140, 30));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(10, 30, 30, 70));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(120, 30, 140, 70));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(10, 50, 30, 100));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(120, 50, 140, 100));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(10, 80, 30, 120));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(120, 80, 140, 120));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(10, 120, 30, 140));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(30, 120, 70, 140));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(50, 120, 100, 140));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(80, 120, 120, 140));
|
||||
expect(rectangle1).to.not.intersectWith(new ol.Rectangle(120, 120, 140, 140));
|
||||
});
|
||||
});
|
||||
|
||||
@@ -59,8 +57,8 @@ describe('ol.Rectangle', function() {
|
||||
it('returns the expected size', function() {
|
||||
var rectangle = new ol.Rectangle(0, 1, 2, 4);
|
||||
var size = rectangle.getSize();
|
||||
expect(size.width).toEqual(2);
|
||||
expect(size.height).toEqual(3);
|
||||
expect(size.width).to.eql(2);
|
||||
expect(size.height).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -70,31 +68,31 @@ describe('ol.Rectangle', function() {
|
||||
var coordinate;
|
||||
|
||||
coordinate = rectangle.normalize(new ol.Coordinate(1, 2));
|
||||
expect(coordinate.x).toEqual(0.5);
|
||||
expect(coordinate.y).toEqual(0.5);
|
||||
expect(coordinate.x).to.eql(0.5);
|
||||
expect(coordinate.y).to.eql(0.5);
|
||||
|
||||
coordinate = rectangle.normalize(new ol.Coordinate(0, 3));
|
||||
expect(coordinate.x).toEqual(0);
|
||||
expect(coordinate.y).toEqual(1);
|
||||
expect(coordinate.x).to.eql(0);
|
||||
expect(coordinate.y).to.eql(1);
|
||||
|
||||
coordinate = rectangle.normalize(new ol.Coordinate(2, 1));
|
||||
expect(coordinate.x).toEqual(1);
|
||||
expect(coordinate.y).toEqual(0);
|
||||
expect(coordinate.x).to.eql(1);
|
||||
expect(coordinate.y).to.eql(0);
|
||||
|
||||
coordinate = rectangle.normalize(new ol.Coordinate(0, 0));
|
||||
expect(coordinate.x).toEqual(0);
|
||||
expect(coordinate.y).toEqual(-0.5);
|
||||
expect(coordinate.x).to.eql(0);
|
||||
expect(coordinate.y).to.eql(-0.5);
|
||||
|
||||
coordinate = rectangle.normalize(new ol.Coordinate(-1, 1));
|
||||
expect(coordinate.x).toEqual(-0.5);
|
||||
expect(coordinate.y).toEqual(0);
|
||||
expect(coordinate.x).to.eql(-0.5);
|
||||
expect(coordinate.y).to.eql(0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('toString', function() {
|
||||
it('returns the expected string', function() {
|
||||
var rectangle = new ol.Rectangle(0, 1, 2, 3);
|
||||
expect(rectangle.toString()).toEqual('(0, 1, 2, 3)');
|
||||
expect(rectangle.toString()).to.eql('(0, 1, 2, 3)');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -102,10 +100,10 @@ describe('ol.Rectangle', function() {
|
||||
it('scales the extent from its center', function() {
|
||||
var rectangle = new ol.Rectangle(1, 1, 3, 3);
|
||||
rectangle.scaleFromCenter(2);
|
||||
expect(rectangle.minX).toEqual(0);
|
||||
expect(rectangle.minY).toEqual(0);
|
||||
expect(rectangle.maxX).toEqual(4);
|
||||
expect(rectangle.maxY).toEqual(4);
|
||||
expect(rectangle.minX).to.eql(0);
|
||||
expect(rectangle.minY).to.eql(0);
|
||||
expect(rectangle.maxX).to.eql(4);
|
||||
expect(rectangle.maxY).to.eql(4);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -50,28 +50,28 @@ describe('ol.renderer.webgl.ImageLayer', function() {
|
||||
|
||||
input = goog.vec.Vec4.createFromValues(-1, -1, 0, 1);
|
||||
goog.vec.Mat4.multVec4(matrix, input, output);
|
||||
expect(output[0]).toEqual(-3);
|
||||
expect(output[1]).toEqual(-3);
|
||||
expect(output[0]).to.eql(-3);
|
||||
expect(output[1]).to.eql(-3);
|
||||
|
||||
input = goog.vec.Vec4.createFromValues(1, -1, 0, 1);
|
||||
goog.vec.Mat4.multVec4(matrix, input, output);
|
||||
expect(output[0]).toEqual(1);
|
||||
expect(output[1]).toEqual(-3);
|
||||
expect(output[0]).to.eql(1);
|
||||
expect(output[1]).to.eql(-3);
|
||||
|
||||
input = goog.vec.Vec4.createFromValues(-1, 1, 0, 1);
|
||||
goog.vec.Mat4.multVec4(matrix, input, output);
|
||||
expect(output[0]).toEqual(-3);
|
||||
expect(output[1]).toEqual(3);
|
||||
expect(output[0]).to.eql(-3);
|
||||
expect(output[1]).to.eql(3);
|
||||
|
||||
input = goog.vec.Vec4.createFromValues(1, 1, 0, 1);
|
||||
goog.vec.Mat4.multVec4(matrix, input, output);
|
||||
expect(output[0]).toEqual(1);
|
||||
expect(output[1]).toEqual(3);
|
||||
expect(output[0]).to.eql(1);
|
||||
expect(output[1]).to.eql(3);
|
||||
|
||||
input = goog.vec.Vec4.createFromValues(0, 0, 0, 1);
|
||||
goog.vec.Mat4.multVec4(matrix, input, output);
|
||||
expect(output[0]).toEqual(-1);
|
||||
expect(output[1]).toEqual(0);
|
||||
expect(output[0]).to.eql(-1);
|
||||
expect(output[1]).to.eql(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -13,28 +13,28 @@ describe('ol.ResolutionConstraint', function() {
|
||||
|
||||
describe('delta 0', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1000, 0)).toEqual(1000);
|
||||
expect(resolutionConstraint(500, 0)).toEqual(500);
|
||||
expect(resolutionConstraint(250, 0)).toEqual(250);
|
||||
expect(resolutionConstraint(100, 0)).toEqual(100);
|
||||
expect(resolutionConstraint(1000, 0)).to.eql(1000);
|
||||
expect(resolutionConstraint(500, 0)).to.eql(500);
|
||||
expect(resolutionConstraint(250, 0)).to.eql(250);
|
||||
expect(resolutionConstraint(100, 0)).to.eql(100);
|
||||
});
|
||||
});
|
||||
|
||||
describe('zoom in', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1000, 1)).toEqual(500);
|
||||
expect(resolutionConstraint(500, 1)).toEqual(250);
|
||||
expect(resolutionConstraint(250, 1)).toEqual(100);
|
||||
expect(resolutionConstraint(100, 1)).toEqual(100);
|
||||
expect(resolutionConstraint(1000, 1)).to.eql(500);
|
||||
expect(resolutionConstraint(500, 1)).to.eql(250);
|
||||
expect(resolutionConstraint(250, 1)).to.eql(100);
|
||||
expect(resolutionConstraint(100, 1)).to.eql(100);
|
||||
});
|
||||
});
|
||||
|
||||
describe('zoom out', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1000, -1)).toEqual(1000);
|
||||
expect(resolutionConstraint(500, -1)).toEqual(1000);
|
||||
expect(resolutionConstraint(250, -1)).toEqual(500);
|
||||
expect(resolutionConstraint(100, -1)).toEqual(250);
|
||||
expect(resolutionConstraint(1000, -1)).to.eql(1000);
|
||||
expect(resolutionConstraint(500, -1)).to.eql(1000);
|
||||
expect(resolutionConstraint(250, -1)).to.eql(500);
|
||||
expect(resolutionConstraint(100, -1)).to.eql(250);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -51,40 +51,40 @@ describe('ol.ResolutionConstraint', function() {
|
||||
|
||||
describe('delta 0', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1050, 0)).toEqual(1000);
|
||||
expect(resolutionConstraint(950, 0)).toEqual(1000);
|
||||
expect(resolutionConstraint(550, 0)).toEqual(500);
|
||||
expect(resolutionConstraint(400, 0)).toEqual(500);
|
||||
expect(resolutionConstraint(300, 0)).toEqual(250);
|
||||
expect(resolutionConstraint(200, 0)).toEqual(250);
|
||||
expect(resolutionConstraint(150, 0)).toEqual(100);
|
||||
expect(resolutionConstraint(50, 0)).toEqual(100);
|
||||
expect(resolutionConstraint(1050, 0)).to.eql(1000);
|
||||
expect(resolutionConstraint(950, 0)).to.eql(1000);
|
||||
expect(resolutionConstraint(550, 0)).to.eql(500);
|
||||
expect(resolutionConstraint(400, 0)).to.eql(500);
|
||||
expect(resolutionConstraint(300, 0)).to.eql(250);
|
||||
expect(resolutionConstraint(200, 0)).to.eql(250);
|
||||
expect(resolutionConstraint(150, 0)).to.eql(100);
|
||||
expect(resolutionConstraint(50, 0)).to.eql(100);
|
||||
});
|
||||
});
|
||||
|
||||
describe('zoom in', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1050, 1)).toEqual(500);
|
||||
expect(resolutionConstraint(950, 1)).toEqual(500);
|
||||
expect(resolutionConstraint(550, 1)).toEqual(250);
|
||||
expect(resolutionConstraint(450, 1)).toEqual(250);
|
||||
expect(resolutionConstraint(300, 1)).toEqual(100);
|
||||
expect(resolutionConstraint(200, 1)).toEqual(100);
|
||||
expect(resolutionConstraint(150, 1)).toEqual(100);
|
||||
expect(resolutionConstraint(50, 1)).toEqual(100);
|
||||
expect(resolutionConstraint(1050, 1)).to.eql(500);
|
||||
expect(resolutionConstraint(950, 1)).to.eql(500);
|
||||
expect(resolutionConstraint(550, 1)).to.eql(250);
|
||||
expect(resolutionConstraint(450, 1)).to.eql(250);
|
||||
expect(resolutionConstraint(300, 1)).to.eql(100);
|
||||
expect(resolutionConstraint(200, 1)).to.eql(100);
|
||||
expect(resolutionConstraint(150, 1)).to.eql(100);
|
||||
expect(resolutionConstraint(50, 1)).to.eql(100);
|
||||
});
|
||||
});
|
||||
|
||||
describe('zoom out', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1050, -1)).toEqual(1000);
|
||||
expect(resolutionConstraint(950, -1)).toEqual(1000);
|
||||
expect(resolutionConstraint(550, -1)).toEqual(1000);
|
||||
expect(resolutionConstraint(450, -1)).toEqual(1000);
|
||||
expect(resolutionConstraint(300, -1)).toEqual(500);
|
||||
expect(resolutionConstraint(200, -1)).toEqual(500);
|
||||
expect(resolutionConstraint(150, -1)).toEqual(250);
|
||||
expect(resolutionConstraint(50, -1)).toEqual(250);
|
||||
expect(resolutionConstraint(1050, -1)).to.eql(1000);
|
||||
expect(resolutionConstraint(950, -1)).to.eql(1000);
|
||||
expect(resolutionConstraint(550, -1)).to.eql(1000);
|
||||
expect(resolutionConstraint(450, -1)).to.eql(1000);
|
||||
expect(resolutionConstraint(300, -1)).to.eql(500);
|
||||
expect(resolutionConstraint(200, -1)).to.eql(500);
|
||||
expect(resolutionConstraint(150, -1)).to.eql(250);
|
||||
expect(resolutionConstraint(50, -1)).to.eql(250);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -100,49 +100,49 @@ describe('ol.ResolutionConstraint', function() {
|
||||
|
||||
describe('delta 0', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1024, 0)).toEqual(1024);
|
||||
expect(resolutionConstraint(512, 0)).toEqual(512);
|
||||
expect(resolutionConstraint(256, 0)).toEqual(256);
|
||||
expect(resolutionConstraint(128, 0)).toEqual(128);
|
||||
expect(resolutionConstraint(64, 0)).toEqual(64);
|
||||
expect(resolutionConstraint(32, 0)).toEqual(32);
|
||||
expect(resolutionConstraint(16, 0)).toEqual(16);
|
||||
expect(resolutionConstraint(8, 0)).toEqual(8);
|
||||
expect(resolutionConstraint(4, 0)).toEqual(4);
|
||||
expect(resolutionConstraint(2, 0)).toEqual(2);
|
||||
expect(resolutionConstraint(1, 0)).toEqual(1);
|
||||
expect(resolutionConstraint(1024, 0)).to.eql(1024);
|
||||
expect(resolutionConstraint(512, 0)).to.eql(512);
|
||||
expect(resolutionConstraint(256, 0)).to.eql(256);
|
||||
expect(resolutionConstraint(128, 0)).to.eql(128);
|
||||
expect(resolutionConstraint(64, 0)).to.eql(64);
|
||||
expect(resolutionConstraint(32, 0)).to.eql(32);
|
||||
expect(resolutionConstraint(16, 0)).to.eql(16);
|
||||
expect(resolutionConstraint(8, 0)).to.eql(8);
|
||||
expect(resolutionConstraint(4, 0)).to.eql(4);
|
||||
expect(resolutionConstraint(2, 0)).to.eql(2);
|
||||
expect(resolutionConstraint(1, 0)).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('zoom in', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1024, 1)).toEqual(512);
|
||||
expect(resolutionConstraint(512, 1)).toEqual(256);
|
||||
expect(resolutionConstraint(256, 1)).toEqual(128);
|
||||
expect(resolutionConstraint(128, 1)).toEqual(64);
|
||||
expect(resolutionConstraint(64, 1)).toEqual(32);
|
||||
expect(resolutionConstraint(32, 1)).toEqual(16);
|
||||
expect(resolutionConstraint(16, 1)).toEqual(8);
|
||||
expect(resolutionConstraint(8, 1)).toEqual(4);
|
||||
expect(resolutionConstraint(4, 1)).toEqual(2);
|
||||
expect(resolutionConstraint(2, 1)).toEqual(1);
|
||||
expect(resolutionConstraint(1, 1)).toEqual(1);
|
||||
expect(resolutionConstraint(1024, 1)).to.eql(512);
|
||||
expect(resolutionConstraint(512, 1)).to.eql(256);
|
||||
expect(resolutionConstraint(256, 1)).to.eql(128);
|
||||
expect(resolutionConstraint(128, 1)).to.eql(64);
|
||||
expect(resolutionConstraint(64, 1)).to.eql(32);
|
||||
expect(resolutionConstraint(32, 1)).to.eql(16);
|
||||
expect(resolutionConstraint(16, 1)).to.eql(8);
|
||||
expect(resolutionConstraint(8, 1)).to.eql(4);
|
||||
expect(resolutionConstraint(4, 1)).to.eql(2);
|
||||
expect(resolutionConstraint(2, 1)).to.eql(1);
|
||||
expect(resolutionConstraint(1, 1)).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('zoom out', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1024, -1)).toEqual(1024);
|
||||
expect(resolutionConstraint(512, -1)).toEqual(1024);
|
||||
expect(resolutionConstraint(256, -1)).toEqual(512);
|
||||
expect(resolutionConstraint(128, -1)).toEqual(256);
|
||||
expect(resolutionConstraint(64, -1)).toEqual(128);
|
||||
expect(resolutionConstraint(32, -1)).toEqual(64);
|
||||
expect(resolutionConstraint(16, -1)).toEqual(32);
|
||||
expect(resolutionConstraint(8, -1)).toEqual(16);
|
||||
expect(resolutionConstraint(4, -1)).toEqual(8);
|
||||
expect(resolutionConstraint(2, -1)).toEqual(4);
|
||||
expect(resolutionConstraint(1, -1)).toEqual(2);
|
||||
expect(resolutionConstraint(1024, -1)).to.eql(1024);
|
||||
expect(resolutionConstraint(512, -1)).to.eql(1024);
|
||||
expect(resolutionConstraint(256, -1)).to.eql(512);
|
||||
expect(resolutionConstraint(128, -1)).to.eql(256);
|
||||
expect(resolutionConstraint(64, -1)).to.eql(128);
|
||||
expect(resolutionConstraint(32, -1)).to.eql(64);
|
||||
expect(resolutionConstraint(16, -1)).to.eql(32);
|
||||
expect(resolutionConstraint(8, -1)).to.eql(16);
|
||||
expect(resolutionConstraint(4, -1)).to.eql(8);
|
||||
expect(resolutionConstraint(2, -1)).to.eql(4);
|
||||
expect(resolutionConstraint(1, -1)).to.eql(2);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -158,28 +158,28 @@ describe('ol.ResolutionConstraint', function() {
|
||||
|
||||
describe('delta 0', function() {
|
||||
it('returns expected resolution value', function() {
|
||||
expect(resolutionConstraint(1050, 0)).toEqual(1024);
|
||||
expect(resolutionConstraint(9050, 0)).toEqual(1024);
|
||||
expect(resolutionConstraint(550, 0)).toEqual(512);
|
||||
expect(resolutionConstraint(450, 0)).toEqual(512);
|
||||
expect(resolutionConstraint(300, 0)).toEqual(256);
|
||||
expect(resolutionConstraint(250, 0)).toEqual(256);
|
||||
expect(resolutionConstraint(150, 0)).toEqual(128);
|
||||
expect(resolutionConstraint(100, 0)).toEqual(128);
|
||||
expect(resolutionConstraint(75, 0)).toEqual(64);
|
||||
expect(resolutionConstraint(50, 0)).toEqual(64);
|
||||
expect(resolutionConstraint(40, 0)).toEqual(32);
|
||||
expect(resolutionConstraint(30, 0)).toEqual(32);
|
||||
expect(resolutionConstraint(20, 0)).toEqual(16);
|
||||
expect(resolutionConstraint(12, 0)).toEqual(16);
|
||||
expect(resolutionConstraint(9, 0)).toEqual(8);
|
||||
expect(resolutionConstraint(7, 0)).toEqual(8);
|
||||
expect(resolutionConstraint(5, 0)).toEqual(4);
|
||||
expect(resolutionConstraint(3.5, 0)).toEqual(4);
|
||||
expect(resolutionConstraint(2.1, 0)).toEqual(2);
|
||||
expect(resolutionConstraint(1.9, 0)).toEqual(2);
|
||||
expect(resolutionConstraint(1.1, 0)).toEqual(1);
|
||||
expect(resolutionConstraint(0.9, 0)).toEqual(1);
|
||||
expect(resolutionConstraint(1050, 0)).to.eql(1024);
|
||||
expect(resolutionConstraint(9050, 0)).to.eql(1024);
|
||||
expect(resolutionConstraint(550, 0)).to.eql(512);
|
||||
expect(resolutionConstraint(450, 0)).to.eql(512);
|
||||
expect(resolutionConstraint(300, 0)).to.eql(256);
|
||||
expect(resolutionConstraint(250, 0)).to.eql(256);
|
||||
expect(resolutionConstraint(150, 0)).to.eql(128);
|
||||
expect(resolutionConstraint(100, 0)).to.eql(128);
|
||||
expect(resolutionConstraint(75, 0)).to.eql(64);
|
||||
expect(resolutionConstraint(50, 0)).to.eql(64);
|
||||
expect(resolutionConstraint(40, 0)).to.eql(32);
|
||||
expect(resolutionConstraint(30, 0)).to.eql(32);
|
||||
expect(resolutionConstraint(20, 0)).to.eql(16);
|
||||
expect(resolutionConstraint(12, 0)).to.eql(16);
|
||||
expect(resolutionConstraint(9, 0)).to.eql(8);
|
||||
expect(resolutionConstraint(7, 0)).to.eql(8);
|
||||
expect(resolutionConstraint(5, 0)).to.eql(4);
|
||||
expect(resolutionConstraint(3.5, 0)).to.eql(4);
|
||||
expect(resolutionConstraint(2.1, 0)).to.eql(2);
|
||||
expect(resolutionConstraint(1.9, 0)).to.eql(2);
|
||||
expect(resolutionConstraint(1.1, 0)).to.eql(1);
|
||||
expect(resolutionConstraint(0.9, 0)).to.eql(1);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -7,27 +7,27 @@ describe('ol.RotationConstraint', function() {
|
||||
it('returns expected rotation value', function() {
|
||||
var rotationConstraint = ol.RotationConstraint.createSnapToZero(0.3);
|
||||
|
||||
expect(rotationConstraint(0.1, 0)).toEqual(0);
|
||||
expect(rotationConstraint(0.2, 0)).toEqual(0);
|
||||
expect(rotationConstraint(0.3, 0)).toEqual(0);
|
||||
expect(rotationConstraint(0.4, 0)).toEqual(0.4);
|
||||
expect(rotationConstraint(0.1, 0)).to.eql(0);
|
||||
expect(rotationConstraint(0.2, 0)).to.eql(0);
|
||||
expect(rotationConstraint(0.3, 0)).to.eql(0);
|
||||
expect(rotationConstraint(0.4, 0)).to.eql(0.4);
|
||||
|
||||
expect(rotationConstraint(-0.1, 0)).toEqual(0);
|
||||
expect(rotationConstraint(-0.2, 0)).toEqual(0);
|
||||
expect(rotationConstraint(-0.3, 0)).toEqual(0);
|
||||
expect(rotationConstraint(-0.4, 0)).toEqual(-0.4);
|
||||
expect(rotationConstraint(-0.1, 0)).to.eql(0);
|
||||
expect(rotationConstraint(-0.2, 0)).to.eql(0);
|
||||
expect(rotationConstraint(-0.3, 0)).to.eql(0);
|
||||
expect(rotationConstraint(-0.4, 0)).to.eql(-0.4);
|
||||
|
||||
expect(rotationConstraint(1, -0.9)).toEqual(0);
|
||||
expect(rotationConstraint(1, -0.8)).toEqual(0);
|
||||
expect(rotationConstraint(1, -0.9)).to.eql(0);
|
||||
expect(rotationConstraint(1, -0.8)).to.eql(0);
|
||||
// floating-point arithmetic
|
||||
expect(rotationConstraint(1, -0.7)).not.toEqual(0);
|
||||
expect(rotationConstraint(1, -0.6)).toEqual(0.4);
|
||||
expect(rotationConstraint(1, -0.7)).not.to.eql(0);
|
||||
expect(rotationConstraint(1, -0.6)).to.eql(0.4);
|
||||
|
||||
expect(rotationConstraint(-1, 0.9)).toEqual(0);
|
||||
expect(rotationConstraint(-1, 0.8)).toEqual(0);
|
||||
expect(rotationConstraint(-1, 0.9)).to.eql(0);
|
||||
expect(rotationConstraint(-1, 0.8)).to.eql(0);
|
||||
// floating-point arithmetic
|
||||
expect(rotationConstraint(-1, 0.7)).not.toEqual(0);
|
||||
expect(rotationConstraint(-1, 0.6)).toEqual(-0.4);
|
||||
expect(rotationConstraint(-1, 0.7)).not.to.eql(0);
|
||||
expect(rotationConstraint(-1, 0.6)).to.eql(-0.4);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
@@ -7,8 +7,8 @@ describe('ol.source.TileSource', function() {
|
||||
var source = new ol.source.TileSource({
|
||||
projection: ol.projection.get('EPSG:4326')
|
||||
});
|
||||
expect(source).toBeA(ol.source.Source);
|
||||
expect(source).toBeA(ol.source.TileSource);
|
||||
expect(source).to.be.a(ol.source.Source);
|
||||
expect(source).to.be.a(ol.source.TileSource);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -30,7 +30,7 @@ describe('ol.source.TileSource', function() {
|
||||
source.findLoadedTiles(loadedTilesByZ, getTileIfLoaded, 3, range);
|
||||
|
||||
var keys = goog.object.getKeys(loadedTilesByZ);
|
||||
expect(keys.length).toBe(0);
|
||||
expect(keys.length).to.be(0);
|
||||
});
|
||||
|
||||
it('adds loaded tiles to the lookup (z: 0)', function() {
|
||||
@@ -51,10 +51,10 @@ describe('ol.source.TileSource', function() {
|
||||
}
|
||||
source.findLoadedTiles(loadedTilesByZ, getTileIfLoaded, 0, range);
|
||||
var keys = goog.object.getKeys(loadedTilesByZ);
|
||||
expect(keys.length).toBe(1);
|
||||
expect(keys.length).to.be(1);
|
||||
var tile = loadedTilesByZ['0']['0/0/0'];
|
||||
expect(tile).toBeA(ol.Tile);
|
||||
expect(tile.state).toBe(ol.TileState.LOADED);
|
||||
expect(tile).to.be.a(ol.Tile);
|
||||
expect(tile.state).to.be(ol.TileState.LOADED);
|
||||
});
|
||||
|
||||
it('adds loaded tiles to the lookup (z: 1)', function() {
|
||||
@@ -75,10 +75,10 @@ describe('ol.source.TileSource', function() {
|
||||
}
|
||||
source.findLoadedTiles(loadedTilesByZ, getTileIfLoaded, 1, range);
|
||||
var keys = goog.object.getKeys(loadedTilesByZ);
|
||||
expect(keys.length).toBe(1);
|
||||
expect(keys.length).to.be(1);
|
||||
var tile = loadedTilesByZ['1']['1/0/0'];
|
||||
expect(tile).toBeA(ol.Tile);
|
||||
expect(tile.state).toBe(ol.TileState.LOADED);
|
||||
expect(tile).to.be.a(ol.Tile);
|
||||
expect(tile.state).to.be(ol.TileState.LOADED);
|
||||
});
|
||||
|
||||
it('returns true when all tiles are already loaded', function() {
|
||||
@@ -100,7 +100,7 @@ describe('ol.source.TileSource', function() {
|
||||
}
|
||||
var loaded = source.findLoadedTiles(
|
||||
loadedTilesByZ, getTileIfLoaded, 1, range);
|
||||
expect(loaded).toBe(true);
|
||||
expect(loaded).to.be(true);
|
||||
});
|
||||
|
||||
it('returns true when all tiles are already loaded (part 2)', function() {
|
||||
@@ -126,7 +126,7 @@ describe('ol.source.TileSource', function() {
|
||||
}
|
||||
var loaded = source.findLoadedTiles(
|
||||
loadedTilesByZ, getTileIfLoaded, 1, range);
|
||||
expect(loaded).toBe(true);
|
||||
expect(loaded).to.be(true);
|
||||
});
|
||||
|
||||
it('returns false when all tiles are already loaded', function() {
|
||||
@@ -149,7 +149,7 @@ describe('ol.source.TileSource', function() {
|
||||
}
|
||||
var loaded = source.findLoadedTiles(
|
||||
loadedTilesByZ, getTileIfLoaded, 1, range);
|
||||
expect(loaded).toBe(false);
|
||||
expect(loaded).to.be(false);
|
||||
});
|
||||
|
||||
it('returns false when all tiles are already loaded (part 2)', function() {
|
||||
@@ -174,7 +174,7 @@ describe('ol.source.TileSource', function() {
|
||||
}
|
||||
var loaded = source.findLoadedTiles(
|
||||
loadedTilesByZ, getTileIfLoaded, 1, range);
|
||||
expect(loaded).toBe(false);
|
||||
expect(loaded).to.be(false);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -231,8 +231,8 @@ describe('ol.test.source.MockTileSource', function() {
|
||||
describe('constructor', function() {
|
||||
it('creates a tile source', function() {
|
||||
var source = new ol.test.source.MockTileSource({});
|
||||
expect(source).toBeA(ol.source.TileSource);
|
||||
expect(source).toBeA(ol.test.source.MockTileSource);
|
||||
expect(source).to.be.a(ol.source.TileSource);
|
||||
expect(source).to.be.a(ol.test.source.MockTileSource);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -246,18 +246,18 @@ describe('ol.test.source.MockTileSource', function() {
|
||||
|
||||
// check a loaded tile
|
||||
tile = source.getTile(new ol.TileCoord(0, 0, 0));
|
||||
expect(tile).toBeA(ol.Tile);
|
||||
expect(tile.state).toBe(ol.TileState.LOADED);
|
||||
expect(tile).to.be.a(ol.Tile);
|
||||
expect(tile.state).to.be(ol.TileState.LOADED);
|
||||
|
||||
// check a tile that is not loaded
|
||||
tile = source.getTile(new ol.TileCoord(1, 0, -1));
|
||||
expect(tile).toBeA(ol.Tile);
|
||||
expect(tile.state).toBe(ol.TileState.IDLE);
|
||||
expect(tile).to.be.a(ol.Tile);
|
||||
expect(tile.state).to.be(ol.TileState.IDLE);
|
||||
|
||||
// check another loaded tile
|
||||
tile = source.getTile(new ol.TileCoord(1, 0, 0));
|
||||
expect(tile).toBeA(ol.Tile);
|
||||
expect(tile.state).toBe(ol.TileState.LOADED);
|
||||
expect(tile).to.be.a(ol.Tile);
|
||||
expect(tile.state).to.be(ol.TileState.LOADED);
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -20,44 +20,44 @@ describe('ol.source.XYZ', function() {
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 0));
|
||||
expect(tileUrl).toEqual('0/0/0');
|
||||
expect(tileUrl).to.eql('0/0/0');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 1));
|
||||
expect(tileUrl).toEqual('1/1/0');
|
||||
expect(tileUrl).to.eql('1/1/0');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 2));
|
||||
expect(tileUrl).toEqual('2/2/1');
|
||||
expect(tileUrl).to.eql('2/2/1');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 3));
|
||||
expect(tileUrl).toEqual('3/4/2');
|
||||
expect(tileUrl).to.eql('3/4/2');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 4));
|
||||
expect(tileUrl).toEqual('4/8/5');
|
||||
expect(tileUrl).to.eql('4/8/5');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 5));
|
||||
expect(tileUrl).toEqual('5/16/11');
|
||||
expect(tileUrl).to.eql('5/16/11');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(
|
||||
tileGrid.getTileCoordForCoordAndZ(coordinate, 6));
|
||||
expect(tileUrl).toEqual('6/33/22');
|
||||
expect(tileUrl).to.eql('6/33/22');
|
||||
});
|
||||
|
||||
describe('wrap x', function() {
|
||||
it('returns the expected URL', function() {
|
||||
var tileUrl = xyzTileSource.tileUrlFunction(
|
||||
new ol.TileCoord(6, -31, -23));
|
||||
expect(tileUrl).toEqual('6/33/22');
|
||||
expect(tileUrl).to.eql('6/33/22');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(new ol.TileCoord(6, 33, -23));
|
||||
expect(tileUrl).toEqual('6/33/22');
|
||||
expect(tileUrl).to.eql('6/33/22');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(new ol.TileCoord(6, 97, -23));
|
||||
expect(tileUrl).toEqual('6/33/22');
|
||||
expect(tileUrl).to.eql('6/33/22');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -65,13 +65,13 @@ describe('ol.source.XYZ', function() {
|
||||
it('returns the expected URL', function() {
|
||||
var tileUrl = xyzTileSource.tileUrlFunction(
|
||||
new ol.TileCoord(6, 33, -87));
|
||||
expect(tileUrl).toBeUndefined();
|
||||
expect(tileUrl).to.be(undefined);
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(new ol.TileCoord(6, 33, -23));
|
||||
expect(tileUrl).toEqual('6/33/22');
|
||||
expect(tileUrl).to.eql('6/33/22');
|
||||
|
||||
tileUrl = xyzTileSource.tileUrlFunction(new ol.TileCoord(6, 33, 41));
|
||||
expect(tileUrl).toBeUndefined();
|
||||
expect(tileUrl).to.be(undefined);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -90,38 +90,38 @@ describe('ol.source.XYZ', function() {
|
||||
return false;
|
||||
});
|
||||
|
||||
expect(zs.length).toEqual(5);
|
||||
expect(tileRanges.length).toEqual(5);
|
||||
expect(zs.length).to.eql(5);
|
||||
expect(tileRanges.length).to.eql(5);
|
||||
|
||||
expect(zs[0]).toEqual(4);
|
||||
expect(tileRanges[0].minX).toEqual(5);
|
||||
expect(tileRanges[0].minY).toEqual(10);
|
||||
expect(tileRanges[0].maxX).toEqual(5);
|
||||
expect(tileRanges[0].maxY).toEqual(10);
|
||||
expect(zs[0]).to.eql(4);
|
||||
expect(tileRanges[0].minX).to.eql(5);
|
||||
expect(tileRanges[0].minY).to.eql(10);
|
||||
expect(tileRanges[0].maxX).to.eql(5);
|
||||
expect(tileRanges[0].maxY).to.eql(10);
|
||||
|
||||
expect(zs[1]).toEqual(3);
|
||||
expect(tileRanges[1].minX).toEqual(2);
|
||||
expect(tileRanges[1].minY).toEqual(5);
|
||||
expect(tileRanges[1].maxX).toEqual(2);
|
||||
expect(tileRanges[1].maxY).toEqual(5);
|
||||
expect(zs[1]).to.eql(3);
|
||||
expect(tileRanges[1].minX).to.eql(2);
|
||||
expect(tileRanges[1].minY).to.eql(5);
|
||||
expect(tileRanges[1].maxX).to.eql(2);
|
||||
expect(tileRanges[1].maxY).to.eql(5);
|
||||
|
||||
expect(zs[2]).toEqual(2);
|
||||
expect(tileRanges[2].minX).toEqual(1);
|
||||
expect(tileRanges[2].minY).toEqual(2);
|
||||
expect(tileRanges[2].maxX).toEqual(1);
|
||||
expect(tileRanges[2].maxY).toEqual(2);
|
||||
expect(zs[2]).to.eql(2);
|
||||
expect(tileRanges[2].minX).to.eql(1);
|
||||
expect(tileRanges[2].minY).to.eql(2);
|
||||
expect(tileRanges[2].maxX).to.eql(1);
|
||||
expect(tileRanges[2].maxY).to.eql(2);
|
||||
|
||||
expect(zs[3]).toEqual(1);
|
||||
expect(tileRanges[3].minX).toEqual(0);
|
||||
expect(tileRanges[3].minY).toEqual(1);
|
||||
expect(tileRanges[3].maxX).toEqual(0);
|
||||
expect(tileRanges[3].maxY).toEqual(1);
|
||||
expect(zs[3]).to.eql(1);
|
||||
expect(tileRanges[3].minX).to.eql(0);
|
||||
expect(tileRanges[3].minY).to.eql(1);
|
||||
expect(tileRanges[3].maxX).to.eql(0);
|
||||
expect(tileRanges[3].maxY).to.eql(1);
|
||||
|
||||
expect(zs[4]).toEqual(0);
|
||||
expect(tileRanges[4].minX).toEqual(0);
|
||||
expect(tileRanges[4].minY).toEqual(0);
|
||||
expect(tileRanges[4].maxX).toEqual(0);
|
||||
expect(tileRanges[4].maxY).toEqual(0);
|
||||
expect(zs[4]).to.eql(0);
|
||||
expect(tileRanges[4].minX).to.eql(0);
|
||||
expect(tileRanges[4].minY).to.eql(0);
|
||||
expect(tileRanges[4].maxX).to.eql(0);
|
||||
expect(tileRanges[4].maxY).to.eql(0);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -468,7 +468,7 @@ describe('ol.Sphere', function() {
|
||||
var e, i;
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
e = expected[i];
|
||||
expect(sphere.cosineDistance(e.c1, e.c2)).toRoughlyEqual(
|
||||
expect(sphere.cosineDistance(e.c1, e.c2)).to.roughlyEqual(
|
||||
e.cosineDistance, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -481,7 +481,7 @@ describe('ol.Sphere', function() {
|
||||
var e, i;
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
e = expected[i];
|
||||
expect(sphere.equirectangularDistance(e.c1, e.c2)).toRoughlyEqual(
|
||||
expect(sphere.equirectangularDistance(e.c1, e.c2)).to.roughlyEqual(
|
||||
e.equirectangularDistance, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -494,7 +494,7 @@ describe('ol.Sphere', function() {
|
||||
var e, i;
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
e = expected[i];
|
||||
expect(sphere.finalBearing(e.c1, e.c2)).toRoughlyEqual(
|
||||
expect(sphere.finalBearing(e.c1, e.c2)).to.roughlyEqual(
|
||||
e.finalBearing, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -507,7 +507,7 @@ describe('ol.Sphere', function() {
|
||||
var e, i;
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
e = expected[i];
|
||||
expect(sphere.haversineDistance(e.c1, e.c2)).toRoughlyEqual(
|
||||
expect(sphere.haversineDistance(e.c1, e.c2)).to.roughlyEqual(
|
||||
e.haversineDistance, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -520,7 +520,7 @@ describe('ol.Sphere', function() {
|
||||
var e, i;
|
||||
for (i = 0; i < expected.length; ++i) {
|
||||
e = expected[i];
|
||||
expect(sphere.initialBearing(e.c1, e.c2)).toRoughlyEqual(
|
||||
expect(sphere.initialBearing(e.c1, e.c2)).to.roughlyEqual(
|
||||
e.initialBearing, 1e-9);
|
||||
}
|
||||
});
|
||||
@@ -536,9 +536,9 @@ describe('ol.Sphere', function() {
|
||||
midpoint = sphere.midpoint(e.c1, e.c2);
|
||||
// Test modulo 360 to avoid unnecessary expensive modulo operations
|
||||
// in our implementation.
|
||||
expect(goog.math.modulo(midpoint.x, 360)).toRoughlyEqual(
|
||||
expect(goog.math.modulo(midpoint.x, 360)).to.roughlyEqual(
|
||||
goog.math.modulo(e.midpoint.x, 360), 1e-9);
|
||||
expect(midpoint.y).toRoughlyEqual(e.midpoint.y, 1e-9);
|
||||
expect(midpoint.y).to.roughlyEqual(e.midpoint.y, 1e-9);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -5,18 +5,18 @@ describe('ol.TileCoord', function() {
|
||||
describe('create', function() {
|
||||
it('sets x y z properties as expected', function() {
|
||||
var tc = new ol.TileCoord(1, 2, 3);
|
||||
expect(tc.z).toEqual(1);
|
||||
expect(tc.x).toEqual(2);
|
||||
expect(tc.y).toEqual(3);
|
||||
expect(tc.z).to.eql(1);
|
||||
expect(tc.x).to.eql(2);
|
||||
expect(tc.y).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
describe('create from quad key', function() {
|
||||
it('sets x y z properties as expected', function() {
|
||||
var tc = ol.TileCoord.createFromQuadKey('213');
|
||||
expect(tc.z).toEqual(3);
|
||||
expect(tc.x).toEqual(3);
|
||||
expect(tc.y).toEqual(5);
|
||||
expect(tc.z).to.eql(3);
|
||||
expect(tc.x).to.eql(3);
|
||||
expect(tc.y).to.eql(5);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -24,9 +24,9 @@ describe('ol.TileCoord', function() {
|
||||
it('sets x y z properties as expected', function() {
|
||||
var str = '1/2/3';
|
||||
var tc = ol.TileCoord.createFromString(str);
|
||||
expect(tc.z).toEqual(1);
|
||||
expect(tc.x).toEqual(2);
|
||||
expect(tc.y).toEqual(3);
|
||||
expect(tc.z).to.eql(1);
|
||||
expect(tc.x).to.eql(2);
|
||||
expect(tc.y).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -34,7 +34,7 @@ describe('ol.TileCoord', function() {
|
||||
it('returns expected string', function() {
|
||||
var tc = new ol.TileCoord(3, 3, 5);
|
||||
var s = tc.quadKey();
|
||||
expect(s).toEqual('213');
|
||||
expect(s).to.eql('213');
|
||||
});
|
||||
});
|
||||
|
||||
@@ -42,7 +42,7 @@ describe('ol.TileCoord', function() {
|
||||
it('produces different hashes for different tile coords', function() {
|
||||
var tc1 = new ol.TileCoord(3, 2, 1);
|
||||
var tc2 = new ol.TileCoord(3, 1, 1);
|
||||
expect(tc1.hash()).not.toEqual(tc2.hash());
|
||||
expect(tc1.hash()).not.to.eql(tc2.hash());
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -24,7 +24,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origin: origin,
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).not.toThrow();
|
||||
}).not.to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -37,7 +37,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origin: origin,
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -51,7 +51,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origin: origin,
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -64,7 +64,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origins: [origin, origin, origin, origin],
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).not.toThrow();
|
||||
}).not.to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -78,7 +78,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origin: origin,
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -91,7 +91,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origins: [origin, origin, origin],
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -104,7 +104,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
origins: [origin, origin, origin, origin, origin],
|
||||
tileSize: tileSize
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -117,7 +117,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
tileSizes: [tileSize, tileSize, tileSize, tileSize],
|
||||
origin: origin
|
||||
});
|
||||
}).not.toThrow();
|
||||
}).not.to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -131,7 +131,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
tileSize: tileSize,
|
||||
origin: origin
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -144,7 +144,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
tileSizes: [tileSize, tileSize, tileSize],
|
||||
origin: origin
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -157,7 +157,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
tileSizes: [tileSize, tileSize, tileSize, tileSize, tileSize],
|
||||
origin: origin
|
||||
});
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -166,28 +166,28 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
it('allows easier creation of a tile grid', function() {
|
||||
var projection = ol.projection.get('EPSG:3857');
|
||||
var grid = ol.tilegrid.createForProjection(projection);
|
||||
expect(grid).toBeA(ol.tilegrid.TileGrid);
|
||||
expect(grid).to.be.a(ol.tilegrid.TileGrid);
|
||||
|
||||
var resolutions = grid.getResolutions();
|
||||
expect(resolutions.length).toBe(ol.DEFAULT_MAX_ZOOM + 1);
|
||||
expect(resolutions.length).to.be(ol.DEFAULT_MAX_ZOOM + 1);
|
||||
});
|
||||
|
||||
it('accepts a number of zoom levels', function() {
|
||||
var projection = ol.projection.get('EPSG:3857');
|
||||
var grid = ol.tilegrid.createForProjection(projection, 18);
|
||||
expect(grid).toBeA(ol.tilegrid.TileGrid);
|
||||
expect(grid).to.be.a(ol.tilegrid.TileGrid);
|
||||
|
||||
var resolutions = grid.getResolutions();
|
||||
expect(resolutions.length).toBe(19);
|
||||
expect(resolutions.length).to.be(19);
|
||||
});
|
||||
|
||||
it('accepts a big number of zoom levels', function() {
|
||||
var projection = ol.projection.get('EPSG:3857');
|
||||
var grid = ol.tilegrid.createForProjection(projection, 23);
|
||||
expect(grid).toBeA(ol.tilegrid.TileGrid);
|
||||
expect(grid).to.be.a(ol.tilegrid.TileGrid);
|
||||
|
||||
var resolutions = grid.getResolutions();
|
||||
expect(resolutions.length).toBe(24);
|
||||
expect(resolutions.length).to.be(24);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -197,11 +197,11 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
it('gets the default tile grid for a projection', function() {
|
||||
var projection = ol.projection.get('EPSG:3857');
|
||||
var grid = ol.tilegrid.getForProjection(projection);
|
||||
expect(grid).toBeA(ol.tilegrid.TileGrid);
|
||||
expect(grid).to.be.a(ol.tilegrid.TileGrid);
|
||||
|
||||
var resolutions = grid.getResolutions();
|
||||
expect(resolutions.length).toBe(ol.DEFAULT_MAX_ZOOM + 1);
|
||||
expect(grid.getTileSize().toString()).toBe('(256 x 256)');
|
||||
expect(resolutions.length).to.be(ol.DEFAULT_MAX_ZOOM + 1);
|
||||
expect(grid.getTileSize().toString()).to.be('(256 x 256)');
|
||||
});
|
||||
|
||||
it('stores the default tile grid on a projection', function() {
|
||||
@@ -209,7 +209,7 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
var grid = ol.tilegrid.getForProjection(projection);
|
||||
var gridAgain = ol.tilegrid.getForProjection(projection);
|
||||
|
||||
expect(grid).toBe(gridAgain);
|
||||
expect(grid).to.be(gridAgain);
|
||||
});
|
||||
|
||||
});
|
||||
@@ -229,27 +229,27 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(0, 0), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(0, 100000), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(10);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(10);
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(100000, 0), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(10);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(10);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(100000, 100000), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(10);
|
||||
expect(tileCoord.y).toEqual(10);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(10);
|
||||
expect(tileCoord.y).to.eql(10);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -266,27 +266,27 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(0, 0), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(-10);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(-10);
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(0, 100000), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(100000, 0), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(10);
|
||||
expect(tileCoord.y).toEqual(-10);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(10);
|
||||
expect(tileCoord.y).to.eql(-10);
|
||||
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndZ(
|
||||
new ol.Coordinate(100000, 100000), 3);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(10);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(10);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -308,73 +308,73 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
coordinate = new ol.Coordinate(0, 0);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
// gets one tile northwest of the origin
|
||||
coordinate = new ol.Coordinate(-1280, 1280);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(-1);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(-1);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
// gets one tile northeast of the origin
|
||||
coordinate = new ol.Coordinate(1280, 1280);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
// gets one tile southeast of the origin
|
||||
coordinate = new ol.Coordinate(1280, -1280);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
|
||||
// gets one tile southwest of the origin
|
||||
coordinate = new ol.Coordinate(-1280, -1280);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(-1);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(-1);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
|
||||
// gets the tile to the east when on the edge
|
||||
coordinate = new ol.Coordinate(2560, -1280);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(1);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(1);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
|
||||
// gets the tile to the north when on the edge
|
||||
coordinate = new ol.Coordinate(1280, -2560);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
|
||||
// pixels are top aligned to the origin
|
||||
coordinate = new ol.Coordinate(1280, -2559.999);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
|
||||
// pixels are left aligned to the origin
|
||||
coordinate = new ol.Coordinate(2559.999, -1280);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution(
|
||||
coordinate, 10);
|
||||
expect(tileCoord.z).toEqual(0);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(0);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -395,17 +395,17 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
coordinate = new ol.Coordinate(0, 0);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution_(
|
||||
coordinate, 100);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(0);
|
||||
expect(tileCoord.y).toEqual(0);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(0);
|
||||
expect(tileCoord.y).to.eql(0);
|
||||
|
||||
// gets higher tile for edge intersection
|
||||
coordinate = new ol.Coordinate(100000, 100000);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution_(
|
||||
coordinate, 100);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(10);
|
||||
expect(tileCoord.y).toEqual(10);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(10);
|
||||
expect(tileCoord.y).to.eql(10);
|
||||
|
||||
});
|
||||
|
||||
@@ -424,17 +424,17 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
coordinate = new ol.Coordinate(0, 0);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution_(
|
||||
coordinate, 100, true);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(-1);
|
||||
expect(tileCoord.y).toEqual(-1);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(-1);
|
||||
expect(tileCoord.y).to.eql(-1);
|
||||
|
||||
// gets higher tile for edge intersection
|
||||
coordinate = new ol.Coordinate(100000, 100000);
|
||||
tileCoord = tileGrid.getTileCoordForCoordAndResolution_(
|
||||
coordinate, 100, true);
|
||||
expect(tileCoord.z).toEqual(3);
|
||||
expect(tileCoord.x).toEqual(9);
|
||||
expect(tileCoord.y).toEqual(9);
|
||||
expect(tileCoord.z).to.eql(3);
|
||||
expect(tileCoord.x).to.eql(9);
|
||||
expect(tileCoord.y).to.eql(9);
|
||||
|
||||
});
|
||||
|
||||
@@ -451,16 +451,16 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
var center;
|
||||
|
||||
center = tileGrid.getTileCoordCenter(new ol.TileCoord(0, 0, 0));
|
||||
expect(center.x).toEqual(50000);
|
||||
expect(center.y).toEqual(50000);
|
||||
expect(center.x).to.eql(50000);
|
||||
expect(center.y).to.eql(50000);
|
||||
|
||||
center = tileGrid.getTileCoordCenter(new ol.TileCoord(3, 0, 0));
|
||||
expect(center.x).toEqual(5000);
|
||||
expect(center.y).toEqual(5000);
|
||||
expect(center.x).to.eql(5000);
|
||||
expect(center.y).to.eql(5000);
|
||||
|
||||
center = tileGrid.getTileCoordCenter(new ol.TileCoord(3, 9, 9));
|
||||
expect(center.x).toEqual(95000);
|
||||
expect(center.y).toEqual(95000);
|
||||
expect(center.x).to.eql(95000);
|
||||
expect(center.y).to.eql(95000);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -475,22 +475,22 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
var tileCoordExtent;
|
||||
|
||||
tileCoordExtent = tileGrid.getTileCoordExtent(new ol.TileCoord(0, 0, 0));
|
||||
expect(tileCoordExtent.minX).toEqual(0);
|
||||
expect(tileCoordExtent.minY).toEqual(0);
|
||||
expect(tileCoordExtent.maxX).toEqual(100000);
|
||||
expect(tileCoordExtent.maxY).toEqual(100000);
|
||||
expect(tileCoordExtent.minX).to.eql(0);
|
||||
expect(tileCoordExtent.minY).to.eql(0);
|
||||
expect(tileCoordExtent.maxX).to.eql(100000);
|
||||
expect(tileCoordExtent.maxY).to.eql(100000);
|
||||
|
||||
tileCoordExtent = tileGrid.getTileCoordExtent(new ol.TileCoord(3, 9, 0));
|
||||
expect(tileCoordExtent.minX).toEqual(90000);
|
||||
expect(tileCoordExtent.minY).toEqual(0);
|
||||
expect(tileCoordExtent.maxX).toEqual(100000);
|
||||
expect(tileCoordExtent.maxY).toEqual(10000);
|
||||
expect(tileCoordExtent.minX).to.eql(90000);
|
||||
expect(tileCoordExtent.minY).to.eql(0);
|
||||
expect(tileCoordExtent.maxX).to.eql(100000);
|
||||
expect(tileCoordExtent.maxY).to.eql(10000);
|
||||
|
||||
tileCoordExtent = tileGrid.getTileCoordExtent(new ol.TileCoord(3, 0, 9));
|
||||
expect(tileCoordExtent.minX).toEqual(0);
|
||||
expect(tileCoordExtent.minY).toEqual(90000);
|
||||
expect(tileCoordExtent.maxX).toEqual(10000);
|
||||
expect(tileCoordExtent.maxY).toEqual(100000);
|
||||
expect(tileCoordExtent.minX).to.eql(0);
|
||||
expect(tileCoordExtent.minY).to.eql(90000);
|
||||
expect(tileCoordExtent.maxX).to.eql(10000);
|
||||
expect(tileCoordExtent.maxY).to.eql(100000);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -506,31 +506,31 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndResolution(extent,
|
||||
resolutions[0]);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.minX).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(0);
|
||||
expect(tileRange.maxY).toEqual(0);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.minX).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(0);
|
||||
expect(tileRange.maxY).to.eql(0);
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndResolution(extent,
|
||||
resolutions[1]);
|
||||
expect(tileRange.minX).toEqual(0);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(1);
|
||||
expect(tileRange.maxY).toEqual(1);
|
||||
expect(tileRange.minX).to.eql(0);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(1);
|
||||
expect(tileRange.maxY).to.eql(1);
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndResolution(extent,
|
||||
resolutions[2]);
|
||||
expect(tileRange.minX).toEqual(0);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(3);
|
||||
expect(tileRange.maxY).toEqual(3);
|
||||
expect(tileRange.minX).to.eql(0);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(3);
|
||||
expect(tileRange.maxY).to.eql(3);
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndResolution(extent,
|
||||
resolutions[3]);
|
||||
expect(tileRange.minX).toEqual(0);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(9);
|
||||
expect(tileRange.maxY).toEqual(9);
|
||||
expect(tileRange.minX).to.eql(0);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(9);
|
||||
expect(tileRange.maxY).to.eql(9);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -546,28 +546,28 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
var tileRange;
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndZ(e, 0);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.minX).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(0);
|
||||
expect(tileRange.maxY).toEqual(0);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.minX).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(0);
|
||||
expect(tileRange.maxY).to.eql(0);
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndZ(e, 1);
|
||||
expect(tileRange.minX).toEqual(0);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(1);
|
||||
expect(tileRange.maxY).toEqual(0);
|
||||
expect(tileRange.minX).to.eql(0);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(1);
|
||||
expect(tileRange.maxY).to.eql(0);
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndZ(e, 2);
|
||||
expect(tileRange.minX).toEqual(1);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(2);
|
||||
expect(tileRange.maxY).toEqual(0);
|
||||
expect(tileRange.minX).to.eql(1);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(2);
|
||||
expect(tileRange.maxY).to.eql(0);
|
||||
|
||||
tileRange = tileGrid.getTileRangeForExtentAndZ(e, 3);
|
||||
expect(tileRange.minX).toEqual(4);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(5);
|
||||
expect(tileRange.maxY).toEqual(1);
|
||||
expect(tileRange.minX).to.eql(4);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(5);
|
||||
expect(tileRange.maxY).to.eql(1);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -589,26 +589,26 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
return false;
|
||||
});
|
||||
|
||||
expect(zs.length).toEqual(3);
|
||||
expect(tileRanges.length).toEqual(3);
|
||||
expect(zs.length).to.eql(3);
|
||||
expect(tileRanges.length).to.eql(3);
|
||||
|
||||
expect(zs[0]).toEqual(2);
|
||||
expect(tileRanges[0].minX).toEqual(2);
|
||||
expect(tileRanges[0].minY).toEqual(1);
|
||||
expect(tileRanges[0].maxX).toEqual(3);
|
||||
expect(tileRanges[0].maxY).toEqual(1);
|
||||
expect(zs[0]).to.eql(2);
|
||||
expect(tileRanges[0].minX).to.eql(2);
|
||||
expect(tileRanges[0].minY).to.eql(1);
|
||||
expect(tileRanges[0].maxX).to.eql(3);
|
||||
expect(tileRanges[0].maxY).to.eql(1);
|
||||
|
||||
expect(zs[1]).toEqual(1);
|
||||
expect(tileRanges[1].minX).toEqual(1);
|
||||
expect(tileRanges[1].minY).toEqual(0);
|
||||
expect(tileRanges[1].maxX).toEqual(1);
|
||||
expect(tileRanges[1].maxY).toEqual(0);
|
||||
expect(zs[1]).to.eql(1);
|
||||
expect(tileRanges[1].minX).to.eql(1);
|
||||
expect(tileRanges[1].minY).to.eql(0);
|
||||
expect(tileRanges[1].maxX).to.eql(1);
|
||||
expect(tileRanges[1].maxY).to.eql(0);
|
||||
|
||||
expect(zs[2]).toEqual(0);
|
||||
expect(tileRanges[2].minX).toEqual(0);
|
||||
expect(tileRanges[2].minY).toEqual(0);
|
||||
expect(tileRanges[2].maxX).toEqual(0);
|
||||
expect(tileRanges[2].maxY).toEqual(0);
|
||||
expect(zs[2]).to.eql(0);
|
||||
expect(tileRanges[2].minX).to.eql(0);
|
||||
expect(tileRanges[2].minY).to.eql(0);
|
||||
expect(tileRanges[2].maxX).to.eql(0);
|
||||
expect(tileRanges[2].maxY).to.eql(0);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -621,10 +621,10 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
tileSize: tileSize
|
||||
});
|
||||
|
||||
expect(tileGrid.getZForResolution(1000)).toEqual(0);
|
||||
expect(tileGrid.getZForResolution(500)).toEqual(1);
|
||||
expect(tileGrid.getZForResolution(250)).toEqual(2);
|
||||
expect(tileGrid.getZForResolution(100)).toEqual(3);
|
||||
expect(tileGrid.getZForResolution(1000)).to.eql(0);
|
||||
expect(tileGrid.getZForResolution(500)).to.eql(1);
|
||||
expect(tileGrid.getZForResolution(250)).to.eql(2);
|
||||
expect(tileGrid.getZForResolution(100)).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -637,19 +637,19 @@ describe('ol.tilegrid.TileGrid', function() {
|
||||
tileSize: tileSize
|
||||
});
|
||||
|
||||
expect(tileGrid.getZForResolution(2000)).toEqual(0);
|
||||
expect(tileGrid.getZForResolution(1000)).toEqual(0);
|
||||
expect(tileGrid.getZForResolution(900)).toEqual(0);
|
||||
expect(tileGrid.getZForResolution(750)).toEqual(1);
|
||||
expect(tileGrid.getZForResolution(625)).toEqual(1);
|
||||
expect(tileGrid.getZForResolution(500)).toEqual(1);
|
||||
expect(tileGrid.getZForResolution(475)).toEqual(1);
|
||||
expect(tileGrid.getZForResolution(375)).toEqual(2);
|
||||
expect(tileGrid.getZForResolution(250)).toEqual(2);
|
||||
expect(tileGrid.getZForResolution(200)).toEqual(2);
|
||||
expect(tileGrid.getZForResolution(125)).toEqual(3);
|
||||
expect(tileGrid.getZForResolution(100)).toEqual(3);
|
||||
expect(tileGrid.getZForResolution(50)).toEqual(3);
|
||||
expect(tileGrid.getZForResolution(2000)).to.eql(0);
|
||||
expect(tileGrid.getZForResolution(1000)).to.eql(0);
|
||||
expect(tileGrid.getZForResolution(900)).to.eql(0);
|
||||
expect(tileGrid.getZForResolution(750)).to.eql(1);
|
||||
expect(tileGrid.getZForResolution(625)).to.eql(1);
|
||||
expect(tileGrid.getZForResolution(500)).to.eql(1);
|
||||
expect(tileGrid.getZForResolution(475)).to.eql(1);
|
||||
expect(tileGrid.getZForResolution(375)).to.eql(2);
|
||||
expect(tileGrid.getZForResolution(250)).to.eql(2);
|
||||
expect(tileGrid.getZForResolution(200)).to.eql(2);
|
||||
expect(tileGrid.getZForResolution(125)).to.eql(3);
|
||||
expect(tileGrid.getZForResolution(100)).to.eql(3);
|
||||
expect(tileGrid.getZForResolution(50)).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ describe('ol.TileQueue', function() {
|
||||
addRandomPriorityTiles(tq, 100);
|
||||
|
||||
tq.heapify_();
|
||||
expect(isHeap(tq)).toBeTruthy();
|
||||
expect(isHeap(tq)).to.be.ok();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -61,8 +61,8 @@ describe('ol.TileQueue', function() {
|
||||
};
|
||||
|
||||
tq.reprioritize();
|
||||
expect(tq.heap_.length).toEqual(50);
|
||||
expect(isHeap(tq)).toBeTruthy();
|
||||
expect(tq.heap_.length).to.eql(50);
|
||||
expect(isHeap(tq)).to.be.ok();
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,45 +5,45 @@ describe('ol.TileRange', function() {
|
||||
describe('constructor', function() {
|
||||
it('creates a range', function() {
|
||||
var range = new ol.TileRange(1, 2, 3, 4);
|
||||
expect(range).toBeA(ol.TileRange);
|
||||
expect(range).to.be.a(ol.TileRange);
|
||||
});
|
||||
|
||||
it('can represent a range of one tile', function() {
|
||||
var range = new ol.TileRange(2, 3, 2, 3);
|
||||
expect(range).toBeA(ol.TileRange);
|
||||
expect(range.getHeight()).toBe(1);
|
||||
expect(range.getWidth()).toBe(1);
|
||||
expect(range).to.be.a(ol.TileRange);
|
||||
expect(range.getHeight()).to.be(1);
|
||||
expect(range.getWidth()).to.be(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('contains', function() {
|
||||
it('returns the expected value', function() {
|
||||
var tileRange = new ol.TileRange(1, 1, 3, 3);
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 0))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 1))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 2))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 3))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 4))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 0))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 1))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 2))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 3))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 4))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 0))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 1))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 2))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 3))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 4))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 0))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 1))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 2))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 3))).toBeTruthy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 4))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 0))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 1))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 2))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 3))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 4))).toBeFalsy();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 0))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 1))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 2))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 3))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 0, 4))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 0))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 1))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 2))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 3))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 1, 4))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 0))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 1))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 2))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 3))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 2, 4))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 0))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 1))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 2))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 3))).to.be.ok();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 3, 4))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 0))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 1))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 2))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 3))).to.not.be();
|
||||
expect(tileRange.contains(new ol.TileCoord(0, 4, 4))).to.not.be();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -52,10 +52,10 @@ describe('ol.TileRange', function() {
|
||||
var tileRange = new ol.TileRange.boundingTileRange(
|
||||
new ol.TileCoord(3, 1, 3),
|
||||
new ol.TileCoord(3, 2, 0));
|
||||
expect(tileRange.minX).toEqual(1);
|
||||
expect(tileRange.minY).toEqual(0);
|
||||
expect(tileRange.maxX).toEqual(2);
|
||||
expect(tileRange.maxY).toEqual(3);
|
||||
expect(tileRange.minX).to.eql(1);
|
||||
expect(tileRange.minY).to.eql(0);
|
||||
expect(tileRange.maxX).to.eql(2);
|
||||
expect(tileRange.maxY).to.eql(3);
|
||||
});
|
||||
|
||||
describe('with mixed z', function() {
|
||||
@@ -63,7 +63,7 @@ describe('ol.TileRange', function() {
|
||||
var tileRange = new ol.TileRange.boundingTileRange(
|
||||
new ol.TileCoord(3, 1, 3),
|
||||
new ol.TileCoord(4, 2, 0));
|
||||
}).toThrow();
|
||||
}).to.throwException();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -75,11 +75,11 @@ describe('ol.TileRange', function() {
|
||||
var diff2 = new ol.TileRange(0, 1, 3, 4);
|
||||
var diff3 = new ol.TileRange(0, 2, 2, 4);
|
||||
var diff4 = new ol.TileRange(1, 1, 2, 4);
|
||||
expect(one.equals(same)).toBe(true);
|
||||
expect(one.equals(diff1)).toBe(false);
|
||||
expect(one.equals(diff2)).toBe(false);
|
||||
expect(one.equals(diff3)).toBe(false);
|
||||
expect(one.equals(diff4)).toBe(false);
|
||||
expect(one.equals(same)).to.be(true);
|
||||
expect(one.equals(diff1)).to.be(false);
|
||||
expect(one.equals(diff2)).to.be(false);
|
||||
expect(one.equals(diff3)).to.be(false);
|
||||
expect(one.equals(diff4)).to.be(false);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -89,10 +89,10 @@ describe('ol.TileRange', function() {
|
||||
var other = new ol.TileRange(-1, 10, -3, 12);
|
||||
one.extend(other);
|
||||
|
||||
expect(one.minX).toBe(-1);
|
||||
expect(one.minY).toBe(1);
|
||||
expect(one.maxX).toBe(2);
|
||||
expect(one.maxY).toBe(12);
|
||||
expect(one.minX).to.be(-1);
|
||||
expect(one.minY).to.be(1);
|
||||
expect(one.maxX).to.be(2);
|
||||
expect(one.maxY).to.be(12);
|
||||
|
||||
});
|
||||
});
|
||||
@@ -101,8 +101,8 @@ describe('ol.TileRange', function() {
|
||||
it('returns the expected size', function() {
|
||||
var tileRange = new ol.TileRange(0, 1, 2, 4);
|
||||
var size = tileRange.getSize();
|
||||
expect(size.width).toEqual(3);
|
||||
expect(size.height).toEqual(4);
|
||||
expect(size.width).to.eql(3);
|
||||
expect(size.height).to.eql(4);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -113,19 +113,19 @@ describe('ol.TileRange', function() {
|
||||
var overlapsLeft = new ol.TileRange(-3, 1, 0, 4);
|
||||
var overlapsTop = new ol.TileRange(0, 4, 2, 5);
|
||||
var overlapsBottom = new ol.TileRange(0, -3, 2, 1);
|
||||
expect(one.intersects(overlapsLeft)).toBe(true);
|
||||
expect(one.intersects(overlapsRight)).toBe(true);
|
||||
expect(one.intersects(overlapsTop)).toBe(true);
|
||||
expect(one.intersects(overlapsBottom)).toBe(true);
|
||||
expect(one.intersects(overlapsLeft)).to.be(true);
|
||||
expect(one.intersects(overlapsRight)).to.be(true);
|
||||
expect(one.intersects(overlapsTop)).to.be(true);
|
||||
expect(one.intersects(overlapsBottom)).to.be(true);
|
||||
|
||||
var right = new ol.TileRange(3, 1, 5, 4);
|
||||
var left = new ol.TileRange(-3, 1, -1, 4);
|
||||
var above = new ol.TileRange(0, 5, 2, 6);
|
||||
var below = new ol.TileRange(0, -3, 2, 0);
|
||||
expect(one.intersects(right)).toBe(false);
|
||||
expect(one.intersects(left)).toBe(false);
|
||||
expect(one.intersects(above)).toBe(false);
|
||||
expect(one.intersects(below)).toBe(false);
|
||||
expect(one.intersects(right)).to.be(false);
|
||||
expect(one.intersects(left)).to.be(false);
|
||||
expect(one.intersects(above)).to.be(false);
|
||||
expect(one.intersects(below)).to.be(false);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ describe('ol.TileUrlFunction', function() {
|
||||
describe('createFromTemplate', function() {
|
||||
it('creates expected URL', function() {
|
||||
var tileUrl = ol.TileUrlFunction.createFromTemplate('{z}/{x}/{y}');
|
||||
expect(tileUrl(new ol.TileCoord(3, 2, 1))).toEqual('3/2/1');
|
||||
expect(tileUrl(null)).toBeUndefined();
|
||||
expect(tileUrl(new ol.TileCoord(3, 2, 1))).to.eql('3/2/1');
|
||||
expect(tileUrl(null)).to.be(undefined);
|
||||
});
|
||||
describe('with number range', function() {
|
||||
it('creates expected URL', function() {
|
||||
@@ -14,11 +14,11 @@ describe('ol.TileUrlFunction', function() {
|
||||
var tileUrlFunction = ol.TileUrlFunction.createFromTemplate(template);
|
||||
var tileCoord = new ol.TileCoord(3, 2, 1);
|
||||
tileCoord.hash = function() { return 3; };
|
||||
expect(tileUrlFunction(tileCoord)).toEqual('http://tile-1/3/2/1');
|
||||
expect(tileUrlFunction(tileCoord)).to.eql('http://tile-1/3/2/1');
|
||||
tileCoord.hash = function() { return 2; };
|
||||
expect(tileUrlFunction(tileCoord)).toEqual('http://tile-3/3/2/1');
|
||||
expect(tileUrlFunction(tileCoord)).to.eql('http://tile-3/3/2/1');
|
||||
tileCoord.hash = function() { return 1; };
|
||||
expect(tileUrlFunction(tileCoord)).toEqual('http://tile-2/3/2/1');
|
||||
expect(tileUrlFunction(tileCoord)).to.eql('http://tile-2/3/2/1');
|
||||
});
|
||||
});
|
||||
describe('with character range', function() {
|
||||
@@ -27,11 +27,11 @@ describe('ol.TileUrlFunction', function() {
|
||||
var tileUrlFunction = ol.TileUrlFunction.createFromTemplate(template);
|
||||
var tileCoord = new ol.TileCoord(3, 2, 1);
|
||||
tileCoord.hash = function() { return 3; };
|
||||
expect(tileUrlFunction(tileCoord)).toEqual('http://tile-c/3/2/1');
|
||||
expect(tileUrlFunction(tileCoord)).to.eql('http://tile-c/3/2/1');
|
||||
tileCoord.hash = function() { return 2; };
|
||||
expect(tileUrlFunction(tileCoord)).toEqual('http://tile-e/3/2/1');
|
||||
expect(tileUrlFunction(tileCoord)).to.eql('http://tile-e/3/2/1');
|
||||
tileCoord.hash = function() { return 1; };
|
||||
expect(tileUrlFunction(tileCoord)).toEqual('http://tile-d/3/2/1');
|
||||
expect(tileUrlFunction(tileCoord)).to.eql('http://tile-d/3/2/1');
|
||||
});
|
||||
});
|
||||
});
|
||||
@@ -43,8 +43,8 @@ describe('ol.TileUrlFunction', function() {
|
||||
return new ol.TileCoord(tileCoord.z, tileCoord.x, -tileCoord.y);
|
||||
},
|
||||
ol.TileUrlFunction.createFromTemplate('{z}/{x}/{y}'));
|
||||
expect(tileUrl(new ol.TileCoord(3, 2, -1))).toEqual('3/2/1');
|
||||
expect(tileUrl(null)).toBeUndefined();
|
||||
expect(tileUrl(new ol.TileCoord(3, 2, -1))).to.eql('3/2/1');
|
||||
expect(tileUrl(null)).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -56,8 +56,8 @@ describe('ol.TileUrlFunction', function() {
|
||||
]);
|
||||
var tileUrl1 = tileUrl(new ol.TileCoord(1, 0, 0));
|
||||
var tileUrl2 = tileUrl(new ol.TileCoord(1, 0, 1));
|
||||
expect(tileUrl1).not.toEqual(tileUrl2);
|
||||
expect(tileUrl(null)).toBeUndefined();
|
||||
expect(tileUrl1).not.to.eql(tileUrl2);
|
||||
expect(tileUrl(null)).to.be(undefined);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -78,7 +78,7 @@ describe('ol.TileUrlFunction', function() {
|
||||
'GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&WIDTH=256&HEIGHT=256&' +
|
||||
'STYLES=&CRS=EPSG%3A3857&BBOX=-20037508.342789244%2C2' +
|
||||
'0037508.342789244%2C0%2C40075016.68557849';
|
||||
expect(tileUrl).toEqual(expected);
|
||||
expect(tileUrl).to.eql(expected);
|
||||
});
|
||||
it('creates expected URL respecting axis orientation', function() {
|
||||
var epsg4326 = ol.projection.get('EPSG:4326');
|
||||
@@ -90,7 +90,7 @@ describe('ol.TileUrlFunction', function() {
|
||||
'GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&WIDTH=256&HEIGHT=256&' +
|
||||
'STYLES=&CRS=EPSG%3A4326&BBOX=20037508.342789244%2C' +
|
||||
'-20037508.342789244%2C40075016.68557849%2C0';
|
||||
expect(tileUrl).toEqual(expected);
|
||||
expect(tileUrl).to.eql(expected);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -10,9 +10,9 @@ describe('ol.View2D', function() {
|
||||
var options = {};
|
||||
var fn = ol.View2D.createConstraints_(options).resolution;
|
||||
expect(fn(156543.03392804097, 0))
|
||||
.toRoughlyEqual(156543.03392804097, 1e-9);
|
||||
.to.roughlyEqual(156543.03392804097, 1e-9);
|
||||
expect(fn(78271.51696402048, 0))
|
||||
.toRoughlyEqual(78271.51696402048, 1e-10);
|
||||
.to.roughlyEqual(78271.51696402048, 1e-10);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -25,12 +25,12 @@ describe('ol.View2D', function() {
|
||||
zoomFactor: 3
|
||||
};
|
||||
var fn = ol.View2D.createConstraints_(options).resolution;
|
||||
expect(fn(82, 0)).toEqual(81);
|
||||
expect(fn(81, 0)).toEqual(81);
|
||||
expect(fn(27, 0)).toEqual(27);
|
||||
expect(fn(9, 0)).toEqual(9);
|
||||
expect(fn(3, 0)).toEqual(3);
|
||||
expect(fn(2, 0)).toEqual(3);
|
||||
expect(fn(82, 0)).to.eql(81);
|
||||
expect(fn(81, 0)).to.eql(81);
|
||||
expect(fn(27, 0)).to.eql(27);
|
||||
expect(fn(9, 0)).to.eql(9);
|
||||
expect(fn(3, 0)).to.eql(3);
|
||||
expect(fn(2, 0)).to.eql(3);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -40,11 +40,11 @@ describe('ol.View2D', function() {
|
||||
resolutions: [97, 76, 65, 54, 0.45]
|
||||
};
|
||||
var fn = ol.View2D.createConstraints_(options).resolution;
|
||||
expect(fn(97, 0)).toEqual(97);
|
||||
expect(fn(76, 0)).toEqual(76);
|
||||
expect(fn(65, 0)).toEqual(65);
|
||||
expect(fn(54, 0)).toEqual(54);
|
||||
expect(fn(0.45, 0)).toEqual(0.45);
|
||||
expect(fn(97, 0)).to.eql(97);
|
||||
expect(fn(76, 0)).to.eql(76);
|
||||
expect(fn(65, 0)).to.eql(65);
|
||||
expect(fn(54, 0)).to.eql(54);
|
||||
expect(fn(0.45, 0)).to.eql(0.45);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -54,8 +54,8 @@ describe('ol.View2D', function() {
|
||||
it('gives a correct rotation constraint function', function() {
|
||||
var options = {};
|
||||
var fn = ol.View2D.createConstraints_(options).rotation;
|
||||
expect(fn(0.01, 0)).toEqual(0);
|
||||
expect(fn(0.15, 0)).toEqual(0.15);
|
||||
expect(fn(0.01, 0)).to.eql(0);
|
||||
expect(fn(0.15, 0)).to.eql(0.15);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -10,26 +10,26 @@ describe('ol.tilegrid.XYZ', function() {
|
||||
var xyzTileGrid = new ol.tilegrid.XYZ({
|
||||
maxZoom: 22
|
||||
});
|
||||
expect(xyzTileGrid.getResolution(0)).toRoughlyEqual(156543.04, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(1)).toRoughlyEqual(78271.52, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(2)).toRoughlyEqual(39135.76, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(3)).toRoughlyEqual(19567.88, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(4)).toRoughlyEqual(9783.94, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(5)).toRoughlyEqual(4891.97, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(6)).toRoughlyEqual(2445.98, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(7)).toRoughlyEqual(1222.99, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(8)).toRoughlyEqual(611.50, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(9)).toRoughlyEqual(305.75, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(10)).toRoughlyEqual(152.87, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(11)).toRoughlyEqual(76.44, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(12)).toRoughlyEqual(38.22, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(13)).toRoughlyEqual(19.11, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(14)).toRoughlyEqual(9.55, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(15)).toRoughlyEqual(4.78, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(16)).toRoughlyEqual(2.39, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(17)).toRoughlyEqual(1.19, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(18)).toRoughlyEqual(0.60, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(19)).toRoughlyEqual(0.30, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(0)).to.roughlyEqual(156543.04, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(1)).to.roughlyEqual(78271.52, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(2)).to.roughlyEqual(39135.76, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(3)).to.roughlyEqual(19567.88, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(4)).to.roughlyEqual(9783.94, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(5)).to.roughlyEqual(4891.97, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(6)).to.roughlyEqual(2445.98, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(7)).to.roughlyEqual(1222.99, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(8)).to.roughlyEqual(611.50, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(9)).to.roughlyEqual(305.75, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(10)).to.roughlyEqual(152.87, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(11)).to.roughlyEqual(76.44, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(12)).to.roughlyEqual(38.22, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(13)).to.roughlyEqual(19.11, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(14)).to.roughlyEqual(9.55, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(15)).to.roughlyEqual(4.78, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(16)).to.roughlyEqual(2.39, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(17)).to.roughlyEqual(1.19, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(18)).to.roughlyEqual(0.60, 1e-2);
|
||||
expect(xyzTileGrid.getResolution(19)).to.roughlyEqual(0.30, 1e-2);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
24
test/test-extensions.js
Normal file
24
test/test-extensions.js
Normal file
@@ -0,0 +1,24 @@
|
||||
function waitsFor(condition, message, timeout, callback) {
|
||||
var timeWaiting = 0;
|
||||
|
||||
function inner() {
|
||||
if (condition()) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
if (timeWaiting >= timeout) {
|
||||
throw new Error(message);
|
||||
}
|
||||
|
||||
timeWaiting += 10;
|
||||
setTimeout(inner, 10);
|
||||
}
|
||||
|
||||
inner();
|
||||
}
|
||||
|
||||
|
||||
expect.Assertion.prototype.roughlyEqual = function(other, tol) {
|
||||
return Math.abs(this.actual - other) <= tol;
|
||||
};
|
||||
Reference in New Issue
Block a user