summaryrefslogtreecommitdiffstats
path: root/base/bind_unittest.nc
Commit message (Collapse)AuthorAgeFilesLines
* Fix no-compile tests in base.dcheng@chromium.org2013-01-231-5/+5
| | | | | | | | | | | | | | | - Fixed a nocompile test wasn't ever no compiled (probably a side effect of http://crrev.com/111889) and never worked. - Updated the error messages to those used by gcc 4.6 in Precise - Minor improvement to the nocompile driver that makes the compiler output more friendly when the regex includes a single quote. Hopefully no one needs to match a double quote for awhile... TBR=darin Review URL: https://codereview.chromium.org/12040055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178434 0039d316-1c4b-4281-b951-d872f2087c98
* Callback API Change: Reimplement Bind(); support IgnoreResult, full ↵ajwong@chromium.org2011-11-211-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | currying, and use less types. The main API change IgnoreResult() and fully currying. See unittest for what the new API looks like. The rest of the changes are done to support that. Previously, IgnoreReturn could not be used with WeakPtr<> Bind()s as it was applied after the fact to the Callback object. Now, IgnoreResult() wraps the function like Unretained(). As an incidental benefit, the new implementation gave us fully currying for free. Also, the new implementation scales better when supporting higher arities of functions. The new type growth is: (n^2 + 20n) / 2 as opposed to (3n^2 + 17n) / 2 where n == arity. For n = 6 and n=10, the new implementation has 81 and 155 templates respectively. The old implementation had 105 and 235 templates respectively. BUG=35233,98919,98542 TEST=existing unittests Review URL: http://codereview.chromium.org/8483003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110975 0039d316-1c4b-4281-b951-d872f2087c98
* Make Callback.Equals() only work when comparing against the same type.ajwong@chromium.org2011-09-101-21/+0
| | | | | | | | | | | Previously, we were using the base class's comparator to check equality, which allows us to make comparisons across callbacks of different types. This disallows such a thing. BUG=none TEST=New no-compile test. Review URL: http://codereview.chromium.org/7780016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100565 0039d316-1c4b-4281-b951-d872f2087c98
* Create a "no compile" drivers script in python to unittest compile time asserts.ajwong@chromium.org2011-09-101-0/+223
BUG=87341 TEST=enable some of the existing no-compile tests and run on try bots. Review URL: http://codereview.chromium.org/7458012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100564 0039d316-1c4b-4281-b951-d872f2087c98