Ember 1.12 support

This commit is contained in:
Robin Ward
2015-08-11 17:34:02 -04:00
parent 02a968bd27
commit 22844b9e46
39 changed files with 10322 additions and 61875 deletions

View File

@@ -1,107 +0,0 @@
module("JSHint");
<%= "const JSHINT_OPTS = #{File.read(File.join(Rails.root, '.jshintrc'))};" %>
var qHint = function(name, sourceFile) {
return asyncTestDiscourse(name, function() {
if (typeof window.__jshintSrc !== "undefined") {
var src = window.__jshintSrc[sourceFile];
if (src) {
start();
qHint.validateFile(src, JSHINT_OPTS);
return;
}
}
});
};
qHint.validateFile = function (source, options, globals) {
var i, len, err;
source = source.replace(/^[^]*\/\/ IIFE Wrapped Content Begins:\n\n/m, "");
source = source.replace(/\n\n\/\/ IIFE Wrapped Content Ends[^]*$/m, "");
if (JSHINT(source, options, globals)) {
ok(true);
return;
}
for (i = 0, len = JSHINT.errors.length; i < len; i++) {
err = JSHINT.errors[i];
if (!err) {
continue;
}
ok(false, err.reason +
" on line " + err.line +
", character " + err.character);
}
};
var XMLHttpFactories = [
function () { return new XMLHttpRequest(); },
function () { return new ActiveXObject("Msxml2.XMLHTTP"); },
function () { return new ActiveXObject("Msxml3.XMLHTTP"); },
function () { return new ActiveXObject("Microsoft.XMLHTTP"); }
];
function createXMLHTTPObject() {
for (var i = 0; i < XMLHttpFactories.length; i++) {
try {
return XMLHttpFactories[i]();
} catch (e) {}
}
return false;
}
// modified version of XHR script by PPK
// http://www.quirksmode.org/js/xmlhttp.html
// attached to qHint to allow substitution / mocking
qHint.sendRequest = function (url, callback) {
var req = createXMLHTTPObject();
if (!req) {
return;
}
var method = "GET";
req.open(method,url + "?" + (new Date().getTime()),true);
req.onreadystatechange = function () {
if (req.readyState != 4) {
return;
}
callback(req);
};
if (req.readyState == 4) {
return;
}
req.send();
};
<%
TO_IGNORE = File.read("#{Rails.root}/.jshintignore").split("\n")
def jshint(dir, remove)
result = ""
Dir.glob(dir).each do |f|
filename = f.sub("#{Rails.root}/#{remove}", "")
ok = true
TO_IGNORE.each do |ig|
ok = false unless (filename.index(ig.sub(remove, '')).nil?)
end
depend_on filename
result << "qHint('#{filename}', '/assets/#{filename}', JSHINT_OPTS);\n" if ok
end
result
end
%>
<%= jshint("#{Rails.root}/test/**/*.js", "test/javascripts/") %>
<%= jshint("#{Rails.root}/app/assets/javascripts/**/*.js", "app/assets/javascripts/") %>
<%= jshint("#{Rails.root}/app/assets/javascripts/**/*.es6", "app/assets/javascripts/") %>

View File

@@ -75,7 +75,7 @@ test("removes the href and put it as a data attribute", function() {
ok(DiscourseURL.redirectTo.calledOnce);
});
asyncTest("restores the href after a while", function() {
asyncTestDiscourse("restores the href after a while", function() {
expect(1);
track(generateClickEventOn('a'));

View File

@@ -1,4 +1,3 @@
/*jshint maxlen:250 */
/*global document, sinon, QUnit, Logster */
//= require env
@@ -12,7 +11,7 @@
//= require jquery.debug
//= require jquery.ui.widget
//= require handlebars
//= require ember.custom.debug
//= require ember.debug
//= require message-bus
//= require ember-qunit
//= require fake_xml_http_request
@@ -36,7 +35,6 @@
//= require sinon-1.7.1
//= require sinon-qunit-1.0.0
//= require jshint
//= require helpers/qunit-helpers
//= require helpers/assertions