diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f949965 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +end_of_line = lf +insert_final_newline = true + +# Matches multiple files with brace expansion notation +# Set default charset +[*.{js,css,html,dust}] +charset = utf-8 + +# 2 space indentation +[*.js,*.json,*.yml,*.css,*.html,*.dust] +indent_style = space +indent_size = 2 diff --git a/.travis.yml b/.travis.yml index 18ae2d8..564ee66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,13 @@ language: node_js node_js: - - "0.11" - - "0.10" + - "10.10" +cache: + directories: + - "node_modules" +before_deploy: "npm test" +deploy: + provider: npm + email: $NPM_EMAIL + api_key: $NPM_TOKEN + on: + tags: true diff --git a/Gruntfile.js b/Gruntfile.js index 3c21f7a..8250524 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -4,7 +4,7 @@ module.exports = function (grunt) { pkg: '', jshint: { - files: ['app.js', 'lib/*.js', 'public/js/*.js', 'test/**/*.js'], + files: ['app.js', 'src/*.js', 'public/js/*.js', 'test/**/*.js'], options: { bitwise: true, eqeqeq: true, @@ -24,10 +24,7 @@ module.exports = function (grunt) { grunt.loadNpmTasks('grunt-contrib-jshint'); - grunt.registerTask('selenium', 'Run Selenum tests', function () { - require('./test/selenium/basic-test.js')(this.async()); - }); - grunt.registerTask('test', ['jshint', 'selenium']); + grunt.registerTask('test', ['jshint']); grunt.registerTask('default', ['test']); }; diff --git a/package.json b/package.json index 284506c..43f8783 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,6 @@ "underscore": "1.4.2" }, "devDependencies": { - "grunt": "0.4.1", - "grunt-contrib-jshint": "0.5.4", "wd": "0.0.32" }, "engines": { diff --git a/src/avrodoc.js b/src/avrodoc.js new file mode 100644 index 0000000..e69de29 diff --git a/src/cli.js b/src/cli.js index 8fc5f5b..1f0f53b 100644 --- a/src/cli.js +++ b/src/cli.js @@ -35,7 +35,7 @@ if (argv.output) { } //valid input? -if (!inputFiles || inputFiles.length === 0 || outputFile == null) { +if (!inputFiles || inputFiles.length === 0 || outputFile === null) { sys.error('Usage: avrodoc [-i rootfolder] [my-schema.avsc [another-schema.avsc...]] [-o=my-documentation.html]'); process.exit(1); } diff --git a/test/sauce_connect.sh b/test/sauce_connect.sh deleted file mode 100755 index 1279d57..0000000 --- a/test/sauce_connect.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -# Setup and start Sauce Connect for your TravisCI build -# This script requires your .travis.yml to include the following two private env variables: -# SAUCE_USERNAME -# SAUCE_ACCESS_KEY -# Follow the steps at https://saucelabs.com/opensource/travis to set that up. - -set -e - -: ${SAUCE_USERNAME:?"Environment variable SAUCE_USERNAME must be set"} -: ${SAUCE_ACCESS_KEY:?"Environment variable SAUCE_ACCESS_KEY must be set"} - -CONNECT_URL="http://saucelabs.com/downloads/Sauce-Connect-latest.zip" -CONNECT_DIR="/tmp/sauce-connect-$RANDOM" -CONNECT_DOWNLOAD="$CONNECT_DIR/Sauce_Connect.zip" -READY_FILE="$CONNECT_DIR/connect-ready-$RANDOM" - -if [ -n "$TRAVIS" ] && [ -n "$TRAVIS_JOB_NUMBER" ]; then - # If running on travis, use a tunnel identifier - TUNNEL_IDENTIFIER="--tunnel-identifier $TRAVIS_JOB_NUMBER" -else - TUNNEL_IDENTIFIER="" -fi - -# Get Connect and start it -mkdir -p $CONNECT_DIR -curl -fsS -o $CONNECT_DOWNLOAD $CONNECT_URL -unzip -d $CONNECT_DIR $CONNECT_DOWNLOAD -rm $CONNECT_DOWNLOAD -java -jar $CONNECT_DIR/Sauce-Connect.jar -P 4444 -p 8124:8124 \ - --readyfile $READY_FILE \ - $TUNNEL_IDENTIFIER \ - $SAUCE_USERNAME $SAUCE_ACCESS_KEY & - -# Start the web app (assume that this takes less time than Sauce Connect takes to start) -PORT=8124 node app & - -# Wait for Connect to be ready before exiting -while [ ! -f $READY_FILE ]; do - sleep .5 -done diff --git a/test/selenium/basic-test.js b/test/selenium/basic-test.js deleted file mode 100644 index 21b76db..0000000 --- a/test/selenium/basic-test.js +++ /dev/null @@ -1,41 +0,0 @@ -/*jshint node:true, evil:true */ - -var wd = require('wd'); -var assert = require('assert'); -var browser = wd.promiseRemote(); - -browser.on('status', function (info) { - console.log('\x1b[36m%s\x1b[0m', info); -}); - -browser.on('command', function (meth, path, data) { - console.log(' > \x1b[33m%s\x1b[0m: %s', meth, path, data || ''); -}); - -module.exports = function (finish) { - var environment = {browserName: 'chrome'}; - if (process.env.TRAVIS && process.env.TRAVIS_JOB_NUMBER) { - environment['tunnel-identifier'] = process.env.TRAVIS_JOB_NUMBER; - environment.build = process.env.TRAVIS_BUILD_NUMBER; - environment.tags = ['Travis']; - } - - browser.init(environment).then(function () { - return browser.get('http://localhost:8124/'); - }).then(function () { - return browser.setImplicitWaitTimeout(10000); - }).then(function () { - return browser.title(); - }).then(function (title) { - assert.ok(title.indexOf('Avrodoc') >= 0, 'Wrong title!'); - return browser.elementByXPath('//ul[@class="types"]//a[.="ToDoItem"]'); - }).then(function (el) { - return browser.clickElement(el); - }).then(function () { - return browser.eval('window.location.href'); - }).then(function (href) { - assert.ok(href.indexOf('#/schema/com.example.avro.ToDoItem') >= 0); - }).fin(function () { - browser.quit(); - }).done(finish, finish); -};