mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-06-05 21:15:20 +00:00
- Remove unacceptable characters from module names
git-svn-id: http://cmock.svn.sourceforge.net/svnroot/cmock/trunk@224 bf332499-1b4d-0410-844d-d2d48d5cc64c
This commit is contained in:
@@ -24,7 +24,7 @@ class CMockHeaderParser
|
||||
end
|
||||
|
||||
def parse(name, source)
|
||||
@module_name = name
|
||||
@module_name = name.gsub(/\W/,'')
|
||||
@typedefs = []
|
||||
@funcs = []
|
||||
function_names = []
|
||||
|
||||
@@ -425,19 +425,25 @@ class CMockHeaderParserTest < Test::Unit::TestCase
|
||||
|
||||
# ensure it's expected type of exception
|
||||
assert_raise RuntimeError do
|
||||
@parser.parse("module", "")
|
||||
@parser.parse("module", source)
|
||||
end
|
||||
|
||||
assert_equal([], @parser.funcs)
|
||||
|
||||
# verify exception message
|
||||
begin
|
||||
@parser.parse("module", "")
|
||||
@parser.parse("module", source)
|
||||
rescue RuntimeError => e
|
||||
assert_equal("ERROR: No function prototypes found!", e.message)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
should "clean up module names that contain spaces, dashes, and such" do
|
||||
source = 'void meh(int (*func)(int));'
|
||||
|
||||
retval = @parser.parse("C:\Ugly Module-Name", source)
|
||||
assert (retval[:typedefs][0] =~ /CUglyModuleName/)
|
||||
end
|
||||
|
||||
should "raise upon no function prototypes found in file" do
|
||||
source =
|
||||
|
||||
Reference in New Issue
Block a user