mirror of
https://github.com/ThrowTheSwitch/CMock.git
synced 2026-10-09 02:17:33 +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
|
end
|
||||||
|
|
||||||
def parse(name, source)
|
def parse(name, source)
|
||||||
@module_name = name
|
@module_name = name.gsub(/\W/,'')
|
||||||
@typedefs = []
|
@typedefs = []
|
||||||
@funcs = []
|
@funcs = []
|
||||||
function_names = []
|
function_names = []
|
||||||
|
|||||||
@@ -425,19 +425,25 @@ class CMockHeaderParserTest < Test::Unit::TestCase
|
|||||||
|
|
||||||
# ensure it's expected type of exception
|
# ensure it's expected type of exception
|
||||||
assert_raise RuntimeError do
|
assert_raise RuntimeError do
|
||||||
@parser.parse("module", "")
|
@parser.parse("module", source)
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_equal([], @parser.funcs)
|
assert_equal([], @parser.funcs)
|
||||||
|
|
||||||
# verify exception message
|
# verify exception message
|
||||||
begin
|
begin
|
||||||
@parser.parse("module", "")
|
@parser.parse("module", source)
|
||||||
rescue RuntimeError => e
|
rescue RuntimeError => e
|
||||||
assert_equal("ERROR: No function prototypes found!", e.message)
|
assert_equal("ERROR: No function prototypes found!", e.message)
|
||||||
end
|
end
|
||||||
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
|
should "raise upon no function prototypes found in file" do
|
||||||
source =
|
source =
|
||||||
|
|||||||
Reference in New Issue
Block a user