/test/setup/tests/io/FileUtilTest.php

https://github.com/tokushima/rhaco1 · PHP · 146 lines · 125 code · 21 blank · 0 comment · 1 complexity · ea5d29c59378b934ff05e1322e35974a MD5 · raw file

  1. <?php
  2. Rhaco::import("util.UnitTest");
  3. Rhaco::import("io.FileUtil");
  4. Rhaco::import("lang.Variable");
  5. class FileUtilTest extends UnitTest {
  6. var $io;
  7. function tearDown(){
  8. FileUtil::rm(Rhaco::resource("tests"));
  9. }
  10. function setUp(){
  11. FileUtil::rm(Rhaco::resource("tests"));
  12. FileUtil::write(Rhaco::resource("tests/hoge1"),"hoge1");
  13. FileUtil::write(Rhaco::resource("tests/hoge2"),"hoge2");
  14. FileUtil::write(Rhaco::resource("tests/hoge3"),"hoge3");
  15. }
  16. function testRead(){
  17. $this->assertEquals("hoge1",FileUtil::read(Rhaco::resource("tests/hoge1")));
  18. }
  19. function testWrite(){
  20. FileUtil::write(Rhaco::resource("tests/hoge4"),"hoge4");
  21. $this->assertEquals("hoge4",FileUtil::read(Rhaco::resource("tests/hoge4")));
  22. }
  23. function testAppend(){
  24. FileUtil::write(Rhaco::resource("tests/hoge5"),"hoge5");
  25. $this->assertEquals("hoge5",FileUtil::read(Rhaco::resource("tests/hoge5")));
  26. FileUtil::append(Rhaco::resource("tests/hoge5"),"mogo");
  27. $this->assertEquals("hoge5mogo",FileUtil::read(Rhaco::resource("tests/hoge5")));
  28. }
  29. function testExist(){
  30. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/hoge6")));
  31. FileUtil::write(Rhaco::resource("tests/hoge6"),"hoge6");
  32. $this->assertTrue(FileUtil::exist(Rhaco::resource("tests/hoge6")));
  33. }
  34. function testLs(){
  35. $ls1 = FileUtil::ls(Rhaco::resource("tests"));
  36. foreach($ls1 as $file){
  37. $this->assertTrue(Variable::istype("file",$file));
  38. }
  39. FileUtil::write(Rhaco::resource("tests/mogo/mogo1"),"mogo1");
  40. $ls2 = FileUtil::ls(Rhaco::resource("tests"));
  41. $this->assertEquals(sizeof($ls1),sizeof($ls2));
  42. $ls3 = FileUtil::ls(Rhaco::resource("tests"),true);
  43. $this->assertTrue(sizeof($ls1) < sizeof($ls3));
  44. }
  45. function testDirs(){
  46. $dir1 = FileUtil::dirs(Rhaco::resource("tests"));
  47. $this->assertEquals(0,sizeof($dir1));
  48. FileUtil::write(Rhaco::resource("tests/mogo/fugo/hugo1"),"fugo2");
  49. $dir2 = FileUtil::dirs(Rhaco::resource("tests"));
  50. $this->assertEquals(1,sizeof($dir2));
  51. $dir3 = FileUtil::dirs(Rhaco::resource("tests"),true);
  52. $this->assertEquals(2,sizeof($dir3));
  53. }
  54. function testTransaction(){
  55. $this->io = new FileUtil();
  56. FileUtil::write(Rhaco::resource("tests/hoge7"),"hoge7");
  57. $this->io->setTransaction(true);
  58. $this->assertEquals("hoge7",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  59. $this->io->fputs(Rhaco::resource("tests/hoge7"),"hoge");
  60. $this->assertEquals("hoge7hoge",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  61. $this->assertEquals("hoge7",FileUtil::read(Rhaco::resource("tests/hoge7")));
  62. $this->io->fwrite(Rhaco::resource("tests/hoge7"),"mogo");
  63. $this->assertEquals("mogo",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  64. $this->assertEquals("hoge7",FileUtil::read(Rhaco::resource("tests/hoge7")));
  65. $this->io->rollback(Rhaco::resource("tests/hoge7"));
  66. $this->assertEquals("hoge7",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  67. $this->assertEquals("hoge7",FileUtil::read(Rhaco::resource("tests/hoge7")));
  68. $this->io->fwrite(Rhaco::resource("tests/hoge7"),"mogo");
  69. $this->assertEquals("mogo",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  70. $this->assertEquals("hoge7",FileUtil::read(Rhaco::resource("tests/hoge7")));
  71. $this->io->commit(Rhaco::resource("tests/hoge7"));
  72. $this->assertEquals("mogo",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  73. $this->assertEquals("mogo",FileUtil::read(Rhaco::resource("tests/hoge7")));
  74. $this->io->fputs(Rhaco::resource("tests/hoge7"),"hoge");
  75. $this->assertEquals("mogohoge",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  76. $this->assertEquals("mogo",FileUtil::read(Rhaco::resource("tests/hoge7")));
  77. $this->io->close(Rhaco::resource("tests/hoge7"));
  78. $this->assertEquals("mogohoge",$this->io->fgets(Rhaco::resource("tests/hoge7")));
  79. $this->assertEquals("mogohoge",FileUtil::read(Rhaco::resource("tests/hoge7")));
  80. $this->io->close();
  81. }
  82. function testCp(){
  83. FileUtil::write(Rhaco::resource("tests/hoge8"),"hoge8");
  84. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/hoge9")));
  85. FileUtil::cp(Rhaco::resource("tests/hoge8"),Rhaco::resource("tests/hoge9"));
  86. $this->assertTrue(FileUtil::exist(Rhaco::resource("tests/hoge9")));
  87. $this->assertEquals("hoge8",FileUtil::read(Rhaco::resource("tests/hoge9")));
  88. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/logo/logo1")));
  89. FileUtil::cp(Rhaco::resource("tests/hoge8"),Rhaco::resource("tests/logo/logo1"));
  90. $this->assertTrue(FileUtil::exist(Rhaco::resource("tests/logo/logo1")));
  91. $this->assertEquals("hoge8",FileUtil::read(Rhaco::resource("tests/logo/logo1")));
  92. }
  93. function testRm(){
  94. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/hoge10")));
  95. FileUtil::write(Rhaco::resource("tests/hoge10"),"hoge10");
  96. $this->assertTrue(FileUtil::exist(Rhaco::resource("tests/hoge10")));
  97. FileUtil::rm(Rhaco::resource("tests/hoge10"),"hoge10");
  98. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/hoge10")));
  99. }
  100. function testMkdir(){
  101. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/mkdir")));
  102. FileUtil::mkdir(Rhaco::resource("tests/mkdir"));
  103. $this->assertTrue(FileUtil::exist(Rhaco::resource("tests/mkdir")));
  104. }
  105. function testMv(){
  106. FileUtil::write(Rhaco::resource("tests/hoge11"),"hoge11");
  107. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/hoge12")));
  108. FileUtil::mv(Rhaco::resource("tests/hoge11"),Rhaco::resource("tests/hoge12"));
  109. $this->assertTrue(FileUtil::exist(Rhaco::resource("tests/hoge12")));
  110. $this->assertEquals("hoge11",FileUtil::read(Rhaco::resource("tests/hoge12")));
  111. $this->assertFalse(FileUtil::exist(Rhaco::resource("tests/hoge11")));
  112. }
  113. function testFind(){
  114. FileUtil::write(Rhaco::resource("tests/find/rhaco.dat"),"hoge");
  115. FileUtil::write(Rhaco::resource("tests/find/django.dat"),"hoge");
  116. FileUtil::write(Rhaco::resource("tests/find/rails.bak"),"hoge");
  117. $find = FileUtil::find("/\.dat$/",Rhaco::resource("tests/find"));
  118. $this->assertEquals(2,sizeof($find));
  119. foreach($find as $file){
  120. $this->assertTrue(Variable::istype("file",$file));
  121. $this->assertTrue(true == preg_match("/\.dat$/",$file->name));
  122. }
  123. }
  124. }
  125. ?>