Add a spec and some minor corrections

This commit is contained in:
Roguelearg 2017-09-13 16:51:11 +02:00
parent d555556e54
commit 94f317673f
6 changed files with 46 additions and 29 deletions

View file

@ -1,21 +1,21 @@
require "bundler/gem_tasks" require "bundler/gem_tasks"
require "rake/testtask" require "rake/testtask"
require 'rubocop/rake_task' # require 'rubocop/rake_task'
# Add additional test suite definitions to the default test task here # Add additional test suite definitions to the default test task here
namespace :spec do # namespace :spec do
desc 'Runs RuboCop on specified directories' # desc 'Runs RuboCop on specified directories'
RuboCop::RakeTask.new(:rubocop) do |task| # RuboCop::RakeTask.new(:rubocop) do |task|
# Dirs: app, lib, test # # Dirs: app, lib, test
task.patterns = ['exe/**/*.rb', 'lib/**/*.rb', 'spec/**/*_spec.rb'] # task.patterns = ['exe/**/*.rb', 'lib/**/*.rb', 'spec/**/*_spec.rb']
#
# Make it easier to disable cops. # # Make it easier to disable cops.
task.options << "--display-cop-names" # task.options << "--display-cop-names"
#
# Abort on failures (fix your code first) # # Abort on failures (fix your code first)
task.fail_on_error = true # task.fail_on_error = true
end # end
end # end
Rake::TestTask.new(:spec) do |t| Rake::TestTask.new(:spec) do |t|
t.libs << "spec" t.libs << "spec"

View file

@ -16,12 +16,14 @@ module Mm2ep
def parse(infile, *vars) def parse(infile, *vars)
line = File.read(infile).gsub(/\n/,'') line = File.read(infile).gsub(/\n/,'')
parser = Parser.new(Lexer.new) parser = Parser.new(Lexer.new)
vartruc = {} tab_vars = {}
vars.each do |var| vars.each do |var|
vartruc[var.split('=')[0]] = var.split('=')[1] tab_vars[var.split('=')[0]] = var.split('=')[1]
end end
puts vartruc
parser.names(vartruc) # Give vars name and value from shell command to parser
parser.names(tab_vars)
token = parser.parse(line.chomp, true) token = parser.parse(line.chomp, true)
pp token pp token
puts "RAW : #{line}" puts "RAW : #{line}"

View file

@ -5,6 +5,7 @@ module Mm2epDepend
# Your code goes here... # Your code goes here...
end end
require 'rly'
require 'mm2ep_depend/lexer' require 'mm2ep_depend/lexer'
require 'mm2ep_depend/parser' require 'mm2ep_depend/parser'

View file

@ -0,0 +1,20 @@
require 'spec_helper'
require 'mm2ep_depend'
describe Mm2ep::Depend::Parser do
it 'has to evaluate expression and give right answer' do
line = File.read(testfile('test2.txt')).gsub(/\n/,'')
parser = Mm2ep::Depend::Parser.new(Mm2ep::Depend::Lexer.new)
parser.names({'truc_bidule' => 'true',
'machin' => 'true',
'truc' => 'false'
})
token = parser.parse(line.chomp)
assert_equal(false, token.compute)
end
# it 'has to be true' do
#
# end
end

View file

@ -1,11 +0,0 @@
require "test_helper"
class Mm2epDependTest < Minitest::Test
def test_that_it_has_a_version_number
refute_nil ::Mm2epDepend::VERSION
end
def test_it_does_something_useful
assert false
end
end

View file

@ -2,3 +2,8 @@ $LOAD_PATH.unshift File.expand_path("../../lib", __FILE__)
require "mm2ep_depend" require "mm2ep_depend"
require "minitest/autorun" require "minitest/autorun"
require 'pathname'
def testfile(name)
Pathname.new(__FILE__).dirname.join('files', name)
end