/**
* @license Apache-2.0
*
* Copyright (c) 2018 The Stdlib Authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*    http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

'use strict';

var Linter = require( 'eslint' ).Linter;
var rule = require( './../lib' );

var linter = new Linter();
var result;
var code;

// Generate our source code:
code = [
	'/**',
	'* Beep boop.',
	'*',
	'* Additional   ',
	'* information.',
	'*',
	'* @param {string} str - input value',
	'* @returns {string} output value',
	'*',
	'* @example',
	'* var out = beep( "boop" );',
	'* // returns "beepboop"',
	'*/',
	'function beep( str ) {',
	'\treturn "beep" + str;',
	'}'
].join( '\n' );

// Register the ESLint rule:
linter.defineRule( 'jsdoc-hard-break-spaces', rule );

// Lint the code:
result = linter.verify( code, {
	'rules': {
		'jsdoc-hard-break-spaces': 'error'
	}
});
console.log( result );
/* =>
	[
		{
			'ruleId': 'jsdoc-hard-break-spaces',
			'severity': 2,
			'message': 'Use two spaces for hard line breaks',
			'line': 4,
			'column': 13,
			'nodeType': null,
			'source': '* Additional   ',
			'endLine': 13,
			'endColumn': 3
		}
	]
*/
