MemoryPackageTest.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <?php
  2. /*
  3. * This file is part of Composer.
  4. *
  5. * (c) Nils Adermann <naderman@naderman.de>
  6. * Jordi Boggiano <j.boggiano@seld.be>
  7. *
  8. * For the full copyright and license information, please view the LICENSE
  9. * file that was distributed with this source code.
  10. */
  11. namespace Composer\Test\Package;
  12. use Composer\Package\MemoryPackage;
  13. class MemoryPackageTest extends \PHPUnit_Framework_TestCase
  14. {
  15. /**
  16. * Memory package naming, versioning, and marshalling semantics provider
  17. *
  18. * demonstrates several versioning schemes
  19. */
  20. public function ProviderVersioningSchemes()
  21. {
  22. $provider[] = array('foo', '1-beta', 'foo-1-beta');
  23. $provider[] = array('node', '0.5.6', 'node-0.5.6');
  24. $provider[] = array('li3', '0.10', 'li3-0.10');
  25. $provider[] = array('mongodb_odm', '1.0.0BETA3', 'mongodb_odm-1.0.0BETA3');
  26. $provider[] = array('DoctrineCommon', '2.2.0-DEV', 'doctrinecommon-2.2.0-DEV');
  27. return $provider;
  28. }
  29. /**
  30. * Tests memory package naming semantics
  31. *
  32. * @dataProvider ProviderVersioningSchemes
  33. */
  34. public function testMemoryPackageHasExpectedNamingSemantics($name, $version, $marshalled)
  35. {
  36. $package = new MemoryPackage($name, $version);
  37. $this->assertEquals(strtolower($name), $package->getName());
  38. }
  39. /**
  40. * Tests memory package versioning semantics
  41. *
  42. * @dataProvider ProviderVersioningSchemes
  43. */
  44. public function testMemoryPackageHasExpectedVersioningSemantics($name, $version, $marshalled)
  45. {
  46. $package = new MemoryPackage($name, $version);
  47. $this->assertEquals($version, $package->getVersion());
  48. }
  49. /**
  50. * Tests memory package marshalling/serialization semantics
  51. *
  52. * @dataProvider ProviderVersioningSchemes
  53. */
  54. public function testMemoryPackageHasExpectedMarshallingSemantics($name, $version, $marshalled)
  55. {
  56. $package = new MemoryPackage($name, $version);
  57. $this->assertEquals($marshalled, (string) $package);
  58. }
  59. }