Sha256: e54d6f23dfd6ce31aad26bd5765e763d363bca10d53dc4c5c02fb7b49531a389

Contents?: true

Size: 1.61 KB

Versions: 16

Compression:

Stored size: 1.61 KB

Contents

//
//  Copyright (c) 2012 Artyom Beilis (Tonkikh)
//
//  Distributed under the Boost Software License, Version 1.0. (See
//  accompanying file LICENSE_1_0.txt or copy at
//  http://www.boost.org/LICENSE_1_0.txt)
//

#include <boost/nowide/cstdio.hpp>
#include <iostream>
#include <string.h>
#include "test.hpp"

#ifdef BOOST_MSVC
#  pragma warning(disable : 4996)
#endif


int main()
{
    try {
        std::string example = "\xd7\xa9-\xd0\xbc-\xce\xbd.txt";
        std::wstring wexample = L"\u05e9-\u043c-\u03bd.txt";

        #ifdef BOOST_WINDOWS
        FILE *f=_wfopen(wexample.c_str(),L"w");
        #else
        FILE *f=std::fopen(example.c_str(),"w");
        #endif
        TEST(f);
        std::fprintf(f,"test\n");
        std::fclose(f);
        f=0;
        
        TEST((f=boost::nowide::fopen(example.c_str(),"r"))!=0);
        char buf[16];
        TEST(std::fgets(buf,16,f)!=0);
        TEST(strcmp(buf,"test\n")==0);
        TEST((f=boost::nowide::freopen(example.c_str(),"r+",f))!=0);
        std::fclose(f);
        f=0;
        
        TEST(boost::nowide::rename(example.c_str(),(example+".1").c_str())==0);
        TEST(boost::nowide::remove(example.c_str())<0);
        TEST((f=boost::nowide::fopen((example+".1").c_str(),"r"))!=0);
        std::fclose(f);
        f=0;
        TEST(boost::nowide::remove(example.c_str())<0);
        TEST(boost::nowide::remove((example+".1").c_str())==0);
    }
    catch(std::exception const &e) {
        std::cerr << "Failed " << e.what() << std::endl;
        return 1;
    }
    std::cout << "Ok" << std::endl;
    return 0;
}

///
// vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
facter-3.12.2.cfacter.20181217 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.12.1.cfacter.20181031 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.6.cfacter.20181031 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.12.1.cfacter.20181023 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.5.cfacter.20181022 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.12.0.cfacter.20181004 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.12.0.cfacter.20181001 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.12.0.cfacter.20180918 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.4.cfacter.20180821 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.3.cfacter.20180716 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.2.cfacter.20180612 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.9.6.cfacter.20180612 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.2.cfacter.20180606 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.9.6.cfacter.20180606 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
facter-3.11.0.cfacter.20180319 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp
cfacter-3.11.0.rc.20180314 ext/facter/leatherman/vendor/nowide/test/test_stdio.cpp