diff --git a/tests/defaultarg.cfc b/tests/defaultarg.cfc index f1fcd93..b388980 100644 --- a/tests/defaultarg.cfc +++ b/tests/defaultarg.cfc @@ -11,4 +11,18 @@ component extends="mxunit.framework.TestCase" { assertEquals( 0, user37b.getID() ); } + function checkDefaultInitArgThreeArgs() { + var factory = new ioc( "/tests/model", { constants = { dsn = "sample" } } ); + var user37c = factory.getBean( "user37c" ); + assertEquals( "sample", user37c.getDSN() ); + assertEquals( 0, user37c.getID() ); + assertEquals( "Bob", user37c.getName() ); + + factory = new ioc( "/tests/model", { constants = { dsn = "sample", name="John" } } ); + user37c = factory.getBean( "user37c" ); + assertEquals( "sample", user37c.getDSN() ); + assertEquals( 0, user37c.getID() ); + assertEquals( "John", user37c.getName() ); + + } } diff --git a/tests/model/beans/user37c.cfc b/tests/model/beans/user37c.cfc new file mode 100644 index 0000000..9013522 --- /dev/null +++ b/tests/model/beans/user37c.cfc @@ -0,0 +1,13 @@ +component accessors="true" { + property name="DSN"; + property name="ID"; + property name="name"; + + // to reveal an ordering bug changed ID to cd just so it comes before dsn + public any function init( dsn, ID = 0, NAME = "Bob") { + variables.dsn = dsn; + variables.ID = ID; + variables.name = name; + return this; + } +}