@@ -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
677621TEST_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-
742647TEST_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-
843712TEST_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