diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..e7542fab --- /dev/null +++ b/.travis.yml @@ -0,0 +1,9 @@ +language: node_js +node_js: + - 10 +before_install: + - npm install +before_script: + - "export DISPLAY=:99.0" + - "sh -e /etc/init.d/xvfb start" +script: karma start karma.conf.js --single-run \ No newline at end of file diff --git a/karma.conf.js b/karma.conf.js new file mode 100644 index 00000000..7894f51e --- /dev/null +++ b/karma.conf.js @@ -0,0 +1,71 @@ +// Karma configuration +// Generated on Tue Mar 12 2019 18:02:39 GMT+0800 (GMT+08:00) + +module.exports = function (config) { + config.set({ + + // base path that will be used to resolve all patterns (eg. files, exclude) + basePath: '', + + + // frameworks to use + // available frameworks: https://npmjs.org/browse/keyword/karma-adapter + frameworks: ['mocha'], + + + // list of files / patterns to load in the browser + files: [ + 'https://cdn.bootcss.com/jquery/2.2.4/jquery.js', + 'node_modules/should/should.js', + 'test/**.js' + ], + + + // list of files to exclude + exclude: [ + ], + + + // preprocess matching files before serving them to the browser + // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor + preprocessors: { + }, + + + // test results reporter to use + // possible values: 'dots', 'progress' + // available reporters: https://npmjs.org/browse/keyword/karma-reporter + reporters: ['progress'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // start these browsers + // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher + browsers: ['Chrome'], + + + // Continuous Integration mode + // if true, Karma captures browsers, runs the tests and exits + singleRun: false, + + // Concurrency level + // how many browser should be started simultaneous + concurrency: Infinity + }) +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..02fd792c --- /dev/null +++ b/package-lock.json @@ -0,0 +1,424 @@ +{ + "name": "exercise3", + "version": "0.0.1", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "jasmine-core": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.3.0.tgz", + "integrity": "sha512-3/xSmG/d35hf80BEN66Y6g9Ca5l/Isdeg/j6zvbTYlTzeKinzmaTM4p9am5kYqOmE05D7s1t8FGjzdSnbUbceA==", + "dev": true + }, + "karma": { + "version": "1.7.1", + "resolved": "http://registry.npm.taobao.org/karma/download/karma-1.7.1.tgz", + "dev": true, + "dependencies": { + "bluebird": { + "version": "http://registry.npm.taobao.org/bluebird/download/bluebird-3.5.3.tgz", + "bundled": true + }, + "body-parser": { + "version": "http://registry.npm.taobao.org/body-parser/download/body-parser-1.18.3.tgz", + "bundled": true, + "dependencies": { + "bytes": { + "version": "http://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", + "bundled": true + }, + "content-type": { + "version": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", + "bundled": true + }, + "debug": { + "version": "http://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz", + "bundled": true + }, + "depd": { + "version": "http://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", + "bundled": true + }, + "http-errors": { + "version": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", + "bundled": true + }, + "iconv-lite": { + "version": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.23.tgz", + "bundled": true, + "dependencies": { + "safer-buffer": { + "version": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "bundled": true + } + } + }, + "on-finished": { + "version": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", + "bundled": true, + "dependencies": { + "ee-first": { + "version": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", + "bundled": true + } + } + }, + "qs": { + "version": "http://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz", + "bundled": true + }, + "raw-body": { + "version": "http://registry.npm.taobao.org/raw-body/download/raw-body-2.3.3.tgz", + "bundled": true + }, + "type-is": { + "version": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.16.tgz", + "bundled": true + } + } + }, + "chokidar": { + "version": "http://registry.npm.taobao.org/chokidar/download/chokidar-1.7.0.tgz", + "bundled": true, + "dependencies": { + "anymatch": { + "version": "http://registry.npm.taobao.org/anymatch/download/anymatch-1.3.2.tgz", + "bundled": true + }, + "async-each": { + "version": "http://registry.npm.taobao.org/async-each/download/async-each-1.0.1.tgz", + "bundled": true + }, + "glob-parent": { + "version": "http://registry.npm.taobao.org/glob-parent/download/glob-parent-2.0.0.tgz", + "bundled": true, + "dependencies": { + "is-glob": { + "version": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", + "dependencies": { + "is-extglob": { + "version": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz" + } + } + } + } + }, + "inherits": { + "version": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "bundled": true + }, + "is-binary-path": { + "version": "http://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", + "bundled": true + }, + "is-glob": { + "version": "http://registry.npm.taobao.org/is-glob/download/is-glob-2.0.1.tgz", + "bundled": true, + "dependencies": { + "is-extglob": { + "version": "http://registry.npm.taobao.org/is-extglob/download/is-extglob-1.0.0.tgz" + } + } + }, + "path-is-absolute": { + "version": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "bundled": true + }, + "readdirp": { + "version": "http://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz", + "bundled": true + } + } + }, + "colors": { + "version": "http://registry.npm.taobao.org/colors/download/colors-1.3.3.tgz", + "bundled": true + }, + "combine-lists": { + "version": "http://registry.npm.taobao.org/combine-lists/download/combine-lists-1.0.1.tgz", + "bundled": true + }, + "connect": { + "version": "http://registry.npm.taobao.org/connect/download/connect-3.6.6.tgz", + "bundled": true + }, + "core-js": { + "version": "http://registry.npm.taobao.org/core-js/download/core-js-2.6.5.tgz", + "bundled": true + }, + "di": { + "version": "http://registry.npm.taobao.org/di/download/di-0.0.1.tgz", + "bundled": true + }, + "dom-serialize": { + "version": "http://registry.npm.taobao.org/dom-serialize/download/dom-serialize-2.2.1.tgz", + "bundled": true + }, + "expand-braces": { + "version": "http://registry.npm.taobao.org/expand-braces/download/expand-braces-0.1.2.tgz", + "bundled": true + }, + "glob": { + "version": "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz", + "bundled": true + }, + "graceful-fs": { + "version": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-4.1.15.tgz", + "bundled": true + }, + "http-proxy": { + "version": "http://registry.npm.taobao.org/http-proxy/download/http-proxy-1.17.0.tgz", + "bundled": true + }, + "isbinaryfile": { + "version": "http://registry.npm.taobao.org/isbinaryfile/download/isbinaryfile-3.0.3.tgz", + "bundled": true + }, + "lodash": { + "version": "http://registry.npm.taobao.org/lodash/download/lodash-3.10.1.tgz", + "bundled": true + }, + "log4js": { + "version": "http://registry.npm.taobao.org/log4js/download/log4js-0.6.38.tgz", + "bundled": true + }, + "mime": { + "version": "http://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz", + "bundled": true + }, + "minimatch": { + "version": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "bundled": true, + "dependencies": { + "brace-expansion": { + "version": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz" + } + } + }, + "optimist": { + "version": "http://registry.npm.taobao.org/optimist/download/optimist-0.6.1.tgz", + "bundled": true + }, + "qjobs": { + "version": "http://registry.npm.taobao.org/qjobs/download/qjobs-1.2.0.tgz", + "bundled": true + }, + "range-parser": { + "version": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz", + "bundled": true + }, + "rimraf": { + "version": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.6.3.tgz", + "bundled": true, + "dependencies": { + "glob": { + "version": "http://registry.npm.taobao.org/glob/download/glob-7.1.3.tgz", + "bundled": true, + "dependencies": { + "fs.realpath": { + "version": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", + "bundled": true + }, + "inflight": { + "version": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "bundled": true + }, + "inherits": { + "version": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz", + "bundled": true + }, + "minimatch": { + "version": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", + "bundled": true, + "dependencies": { + "brace-expansion": { + "version": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz" + } + } + }, + "once": { + "version": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "bundled": true, + "dependencies": { + "wrappy": { + "version": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz" + } + } + }, + "path-is-absolute": { + "version": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", + "bundled": true + } + } + } + } + }, + "safe-buffer": { + "version": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "bundled": true + }, + "socket.io": { + "version": "http://registry.npm.taobao.org/socket.io/download/socket.io-1.7.3.tgz", + "bundled": true + }, + "source-map": { + "version": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", + "bundled": true + }, + "tmp": { + "version": "http://registry.npm.taobao.org/tmp/download/tmp-0.0.31.tgz", + "bundled": true + }, + "useragent": { + "version": "http://registry.npm.taobao.org/useragent/download/useragent-2.3.0.tgz", + "bundled": true + } + } + }, + "karma-chrome-launcher": { + "version": "2.2.0", + "resolved": "http://registry.npm.taobao.org/karma-chrome-launcher/download/karma-chrome-launcher-2.2.0.tgz", + "dev": true, + "dependencies": { + "fs-access": { + "version": "http://registry.npm.taobao.org/fs-access/download/fs-access-1.0.1.tgz", + "dependencies": { + "null-check": { + "version": "http://registry.npm.taobao.org/null-check/download/null-check-1.0.0.tgz", + "bundled": true + } + } + }, + "which": { + "version": "http://registry.npm.taobao.org/which/download/which-1.3.1.tgz" + } + } + }, + "karma-jasmine": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz", + "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==", + "dev": true, + "requires": { + "jasmine-core": "^3.3" + } + }, + "karma-mocha": { + "version": "1.3.0", + "resolved": "http://registry.npm.taobao.org/karma-mocha/download/karma-mocha-1.3.0.tgz", + "dev": true, + "dependencies": { + "minimist": { + "version": "http://registry.npm.taobao.org/minimist/download/minimist-1.2.0.tgz", + "bundled": true + } + } + }, + "mocha": { + "version": "3.5.3", + "resolved": "http://registry.npm.taobao.org/mocha/download/mocha-3.5.3.tgz", + "dev": true, + "dependencies": { + "browser-stdout": { + "version": "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz" + }, + "commander": { + "version": "http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz" + }, + "debug": { + "version": "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz" + }, + "diff": { + "version": "http://registry.npm.taobao.org/diff/download/diff-3.2.0.tgz" + }, + "escape-string-regexp": { + "version": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz" + }, + "glob": { + "version": "http://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz", + "dependencies": { + "fs.realpath": { + "version": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz" + }, + "inflight": { + "version": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", + "dependencies": { + "once": { + "version": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz" + }, + "wrappy": { + "version": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz" + } + } + }, + "inherits": { + "version": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz" + }, + "minimatch": { + "version": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz" + }, + "once": { + "version": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz", + "dependencies": { + "wrappy": { + "version": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz" + } + } + }, + "path-is-absolute": { + "version": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz" + } + } + }, + "growl": { + "version": "http://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz" + }, + "he": { + "version": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz" + }, + "json3": { + "version": "http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz" + }, + "lodash.create": { + "version": "http://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz" + }, + "mkdirp": { + "version": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz" + }, + "supports-color": { + "version": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz" + } + } + }, + "should": { + "version": "11.2.1", + "resolved": "http://registry.npm.taobao.org/should/download/should-11.2.1.tgz", + "dev": true, + "dependencies": { + "should-equal": { + "version": "http://registry.npm.taobao.org/should-equal/download/should-equal-1.0.1.tgz" + }, + "should-format": { + "version": "http://registry.npm.taobao.org/should-format/download/should-format-3.0.3.tgz" + }, + "should-type": { + "version": "http://registry.npm.taobao.org/should-type/download/should-type-1.4.0.tgz" + }, + "should-type-adaptors": { + "version": "http://registry.npm.taobao.org/should-type-adaptors/download/should-type-adaptors-1.1.0.tgz", + "dependencies": { + "should-type": { + "version": "http://registry.npm.taobao.org/should-type/download/should-type-1.4.0.tgz" + }, + "should-util": { + "version": "http://registry.npm.taobao.org/should-util/download/should-util-1.0.0.tgz" + } + } + }, + "should-util": { + "version": "http://registry.npm.taobao.org/should-util/download/should-util-1.0.0.tgz" + } + } + } + } +} diff --git a/package.json b/package.json index 71c96b0c..0178d3aa 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "devDependencies": { "karma": "^1.7.0", "karma-chrome-launcher": "^2.2.0", + "karma-jasmine": "^2.0.1", "karma-mocha": "^1.3.0", "mocha": "^3.5.0", "should": "^11.2.1" diff --git a/test/test.js b/test/test.js index 7c01938c..cee7f764 100644 --- a/test/test.js +++ b/test/test.js @@ -15,6 +15,7 @@ describe('jQuery', function () { var ele before(function () { ele = document.createElement('button') + ele.innerHTML = "click" document.body.appendChild(ele) }) @@ -32,5 +33,12 @@ describe('jQuery', function () { it('should able to request https://raw.githubusercontent.com/FE-star/exercise1/master/test/test.js', function (done) { // 使用 jQuery.ajax 请求 https://raw.githubusercontent.com/FE-star/exercise1/master/test/test.js,并验证是否拿到文件 + $.ajax({ + url: "https://raw.githubusercontent.com/FE-star/exercise1/master/test/test.js", + type: "get", + success: function (res) { + done() + } + }) }) }) \ No newline at end of file