Skip to content

Commit 026ab2d

Browse files
committed
Fix issues with tests
1 parent dc85bea commit 026ab2d

File tree

3 files changed

+135
-133
lines changed

3 files changed

+135
-133
lines changed

modules/yup_core/files/yup_File.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -803,6 +803,9 @@ bool File::startAsProcess (const String& parameters, const StringPairArray& envi
803803
//==============================================================================
804804
std::unique_ptr<FileInputStream> File::createInputStream() const
805805
{
806+
if (isDirectory())
807+
return nullptr;
808+
806809
auto fin = std::make_unique<FileInputStream> (*this);
807810

808811
if (fin->openedOk())
@@ -813,6 +816,9 @@ std::unique_ptr<FileInputStream> File::createInputStream() const
813816

814817
std::unique_ptr<FileOutputStream> File::createOutputStream (size_t bufferSize) const
815818
{
819+
if (isDirectory())
820+
return nullptr;
821+
816822
auto fout = std::make_unique<FileOutputStream> (*this, bufferSize);
817823

818824
if (fout->openedOk())

modules/yup_python/scripting/yup_ScriptEngine.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ std::unique_ptr<PyConfig> ScriptEngine::prepareScriptingHome (
114114
zip.uncompressTo (libFolder.getParentDirectory());
115115
}
116116

117-
for (auto entry : RangedDirectoryIterator (destinationFolder, true, "*", File::findFiles, File::FollowSymlinks::no))
118-
YUP_DBG (entry.getFile().getFullPathName());
117+
//for (auto entry : RangedDirectoryIterator (destinationFolder, true, "*", File::findFiles, File::FollowSymlinks::no))
118+
// YUP_DBG (entry.getFile().getFullPathName());
119119

120120
PyPreConfig preconfig;
121121
PyPreConfig_InitIsolatedConfig (&preconfig);

tests/yup_core/yup_URL.cpp

Lines changed: 127 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -617,62 +617,6 @@ TEST_F (URLTests, StaticUtilityMethods)
617617
EXPECT_EQ (unparsedUrl.toString (false), urlWithParams);
618618
}
619619

620-
#if ! YUP_WASM
621-
TEST_F (URLTests, LocalFileStreams)
622-
{
623-
URL fileUrl (testFile);
624-
625-
// Test input stream
626-
if (auto inputStream = fileUrl.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress)))
627-
{
628-
EXPECT_EQ (inputStream->getTotalLength(), testFile.getSize());
629-
630-
MemoryBlock readData;
631-
inputStream->readIntoMemoryBlock (readData);
632-
EXPECT_EQ (readData.toString(), "Test content");
633-
}
634-
635-
// Test output stream
636-
File tempFile = File::getSpecialLocation (File::tempDirectory).getChildFile ("test_output.txt");
637-
URL outputUrl (tempFile);
638-
639-
if (auto outputStream = outputUrl.createOutputStream())
640-
{
641-
outputStream->writeText ("Test output", false, false, nullptr);
642-
outputStream.reset();
643-
644-
EXPECT_TRUE (tempFile.existsAsFile());
645-
EXPECT_EQ (tempFile.loadFileAsString(), "Test output");
646-
tempFile.deleteFile();
647-
}
648-
649-
// Test readEntireBinaryStream
650-
MemoryBlock binaryData;
651-
EXPECT_TRUE (fileUrl.readEntireBinaryStream (binaryData, false));
652-
EXPECT_EQ (binaryData.toString(), "Test content");
653-
654-
// Test readEntireTextStream
655-
String textData = fileUrl.readEntireTextStream (false);
656-
EXPECT_EQ (textData, "Test content");
657-
658-
// Test readEntireXmlStream with XML content
659-
File xmlFile = File::getSpecialLocation (File::tempDirectory).getChildFile ("test.xml");
660-
xmlFile.replaceWithText ("<?xml version=\"1.0\"?><root><child attr=\"value\">content</child></root>");
661-
URL xmlUrl (xmlFile);
662-
663-
if (auto xml = xmlUrl.readEntireXmlStream (false))
664-
{
665-
EXPECT_EQ (xml->getTagName(), "root");
666-
if (auto child = xml->getChildByName ("child"))
667-
{
668-
EXPECT_EQ (child->getStringAttribute ("attr"), "value");
669-
EXPECT_EQ (child->getAllSubText(), "content");
670-
}
671-
}
672-
xmlFile.deleteFile();
673-
}
674-
#endif
675-
676620
// Additional edge cases
677621
TEST_F (URLTests, EdgeCases)
678622
{
@@ -700,45 +644,6 @@ TEST_F (URLTests, EdgeCases)
700644
EXPECT_EQ (fullUrl.getAnchorString(), "#section");
701645
}
702646

703-
#if ! YUP_WASM
704-
TEST_F (URLTests, ReadEntireStreams)
705-
{
706-
// Test with local file
707-
URL fileUrl (testFile);
708-
709-
// readEntireBinaryStream
710-
MemoryBlock binaryData;
711-
bool success = fileUrl.readEntireBinaryStream (binaryData, false);
712-
EXPECT_TRUE (success);
713-
EXPECT_EQ (binaryData.getSize(), testFile.getSize());
714-
EXPECT_EQ (String::fromUTF8 ((const char*) binaryData.getData(), (int) binaryData.getSize()), "Test content");
715-
716-
// readEntireTextStream
717-
String textData = fileUrl.readEntireTextStream (false);
718-
EXPECT_EQ (textData, "Test content");
719-
720-
// Test with POST flag
721-
String textDataPost = fileUrl.readEntireTextStream (true);
722-
EXPECT_EQ (textDataPost, "Test content");
723-
724-
// readEntireXmlStream with valid XML
725-
File xmlFile = testDir.getChildFile ("test.xml");
726-
xmlFile.replaceWithText ("<?xml version=\"1.0\"?><root><element>value</element></root>");
727-
URL xmlUrl (xmlFile);
728-
729-
auto xmlDoc = xmlUrl.readEntireXmlStream (false);
730-
EXPECT_NE (xmlDoc, nullptr);
731-
if (xmlDoc != nullptr)
732-
{
733-
EXPECT_EQ (xmlDoc->getTagName(), "root");
734-
auto* element = xmlDoc->getChildByName ("element");
735-
EXPECT_NE (element, nullptr);
736-
if (element != nullptr)
737-
EXPECT_EQ (element->getAllSubText(), "value");
738-
}
739-
}
740-
#endif
741-
742647
TEST_F (URLTests, LaunchInDefaultBrowser)
743648
{
744649
/*
@@ -804,42 +709,6 @@ TEST_F (URLTests, DownloadTaskOptions)
804709
EXPECT_TRUE (chained.usePost);
805710
}
806711

807-
#if ! YUP_WASM
808-
TEST_F (URLTests, DownloadTask)
809-
{
810-
// Create a test file to serve as download source
811-
File sourceFile = testDir.getChildFile ("source.txt");
812-
sourceFile.replaceWithText ("Download content");
813-
814-
URL sourceUrl (sourceFile);
815-
File targetFile = testDir.getChildFile ("downloaded.txt");
816-
817-
// Test basic download
818-
URL::DownloadTaskOptions options;
819-
auto task = sourceUrl.downloadToFile (targetFile, options);
820-
821-
if (task != nullptr)
822-
{
823-
// Wait for download to complete
824-
int maxWait = 50; // 5 seconds max
825-
while (! task->isFinished() && maxWait-- > 0)
826-
Thread::sleep (100);
827-
828-
EXPECT_TRUE (task->isFinished());
829-
EXPECT_FALSE (task->hadError());
830-
EXPECT_GT (task->getTotalLength(), 0);
831-
EXPECT_EQ (task->getLengthDownloaded(), task->getTotalLength());
832-
EXPECT_EQ (task->getTargetLocation().getFullPathName(), targetFile.getFullPathName());
833-
834-
// Verify downloaded content
835-
if (targetFile.existsAsFile())
836-
{
837-
EXPECT_EQ (targetFile.loadFileAsString(), "Download content");
838-
}
839-
}
840-
}
841-
#endif
842-
843712
TEST_F (URLTests, URLWithComplexEscaping)
844713
{
845714
// Test various escape sequences in different parts of URL
@@ -1004,3 +873,130 @@ TEST_F (URLTests, DataURLs)
1004873
URL imageUrl ("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==");
1005874
EXPECT_TRUE (imageUrl.isWellFormed());
1006875
}
876+
877+
#if ! YUP_WASM
878+
TEST_F (URLTests, LocalFileStreams)
879+
{
880+
URL fileUrl (testFile);
881+
882+
// Test input stream
883+
if (auto inputStream = fileUrl.createInputStream (URL::InputStreamOptions (URL::ParameterHandling::inAddress)))
884+
{
885+
EXPECT_EQ (inputStream->getTotalLength(), testFile.getSize());
886+
887+
MemoryBlock readData;
888+
inputStream->readIntoMemoryBlock (readData);
889+
EXPECT_EQ (readData.toString(), "Test content");
890+
}
891+
892+
// Test output stream
893+
File tempFile = File::getSpecialLocation (File::tempDirectory).getChildFile ("test_output.txt");
894+
URL outputUrl (tempFile);
895+
896+
if (auto outputStream = outputUrl.createOutputStream())
897+
{
898+
outputStream->writeText ("Test output", false, false, nullptr);
899+
outputStream.reset();
900+
901+
EXPECT_TRUE (tempFile.existsAsFile());
902+
EXPECT_EQ (tempFile.loadFileAsString(), "Test output");
903+
tempFile.deleteFile();
904+
}
905+
906+
// Test readEntireBinaryStream
907+
MemoryBlock binaryData;
908+
EXPECT_TRUE (fileUrl.readEntireBinaryStream (binaryData, false));
909+
EXPECT_EQ (binaryData.toString(), "Test content");
910+
911+
// Test readEntireTextStream
912+
String textData = fileUrl.readEntireTextStream (false);
913+
EXPECT_EQ (textData, "Test content");
914+
915+
// Test readEntireXmlStream with XML content
916+
File xmlFile = File::getSpecialLocation (File::tempDirectory).getChildFile ("test.xml");
917+
xmlFile.replaceWithText ("<?xml version=\"1.0\"?><root><child attr=\"value\">content</child></root>");
918+
URL xmlUrl (xmlFile);
919+
920+
if (auto xml = xmlUrl.readEntireXmlStream (false))
921+
{
922+
EXPECT_EQ (xml->getTagName(), "root");
923+
if (auto child = xml->getChildByName ("child"))
924+
{
925+
EXPECT_EQ (child->getStringAttribute ("attr"), "value");
926+
EXPECT_EQ (child->getAllSubText(), "content");
927+
}
928+
}
929+
xmlFile.deleteFile();
930+
}
931+
932+
TEST_F (URLTests, ReadEntireStreams)
933+
{
934+
// Test with local file
935+
URL fileUrl (testFile);
936+
937+
// readEntireBinaryStream
938+
MemoryBlock binaryData;
939+
bool success = fileUrl.readEntireBinaryStream (binaryData, false);
940+
EXPECT_TRUE (success);
941+
EXPECT_EQ (binaryData.getSize(), testFile.getSize());
942+
EXPECT_EQ (String::fromUTF8 ((const char*) binaryData.getData(), (int) binaryData.getSize()), "Test content");
943+
944+
// readEntireTextStream
945+
String textData = fileUrl.readEntireTextStream (false);
946+
EXPECT_EQ (textData, "Test content");
947+
948+
// Test with POST flag
949+
String textDataPost = fileUrl.readEntireTextStream (true);
950+
EXPECT_EQ (textDataPost, "Test content");
951+
952+
// readEntireXmlStream with valid XML
953+
File xmlFile = testDir.getChildFile ("test.xml");
954+
xmlFile.replaceWithText ("<?xml version=\"1.0\"?><root><element>value</element></root>");
955+
URL xmlUrl (xmlFile);
956+
957+
auto xmlDoc = xmlUrl.readEntireXmlStream (false);
958+
EXPECT_NE (xmlDoc, nullptr);
959+
if (xmlDoc != nullptr)
960+
{
961+
EXPECT_EQ (xmlDoc->getTagName(), "root");
962+
auto* element = xmlDoc->getChildByName ("element");
963+
EXPECT_NE (element, nullptr);
964+
if (element != nullptr)
965+
EXPECT_EQ (element->getAllSubText(), "value");
966+
}
967+
}
968+
969+
TEST_F (URLTests, DownloadTask)
970+
{
971+
// Create a test file to serve as download source
972+
File sourceFile = testDir.getChildFile ("source.txt");
973+
sourceFile.replaceWithText ("Download content");
974+
975+
URL sourceUrl (sourceFile);
976+
File targetFile = testDir.getChildFile ("downloaded.txt");
977+
978+
// Test basic download
979+
URL::DownloadTaskOptions options;
980+
auto task = sourceUrl.downloadToFile (targetFile, options);
981+
982+
if (task != nullptr)
983+
{
984+
// Wait for download to complete
985+
int maxWait = 50; // 5 seconds max
986+
while (! task->isFinished() && maxWait-- > 0)
987+
Thread::sleep (100);
988+
989+
EXPECT_TRUE (task->isFinished());
990+
EXPECT_FALSE (task->hadError());
991+
EXPECT_GT (task->getTotalLength(), 0);
992+
EXPECT_EQ (task->getLengthDownloaded(), task->getTotalLength());
993+
EXPECT_EQ (task->getTargetLocation().getFullPathName(), targetFile.getFullPathName());
994+
995+
// Verify downloaded content
996+
if (targetFile.existsAsFile())
997+
{
998+
EXPECT_EQ (targetFile.loadFileAsString(), "Download content");
999+
}
1000+
}
1001+
}
1002+
#endif

0 commit comments

Comments
 (0)