2011-10-11 13:58:23 +00:00
|
|
|
|
|
|
|
// Copyright Ferdinand Majerech 2011.
|
|
|
|
// 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)
|
|
|
|
|
2018-02-28 00:24:05 +00:00
|
|
|
module dyaml.test.resolver;
|
2011-10-11 13:58:23 +00:00
|
|
|
|
|
|
|
|
2014-08-06 12:17:07 +00:00
|
|
|
version(unittest)
|
|
|
|
{
|
|
|
|
|
2011-10-11 13:58:23 +00:00
|
|
|
import std.file;
|
|
|
|
import std.string;
|
|
|
|
|
2018-02-28 00:24:05 +00:00
|
|
|
import dyaml.test.common;
|
2011-10-11 13:58:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Implicit tag resolution unittest.
|
|
|
|
*
|
2018-04-16 23:02:42 +00:00
|
|
|
* Params: dataFilename = File with unittest data.
|
2011-10-12 21:49:42 +00:00
|
|
|
* detectFilename = Dummy filename used to specify which data filenames to use.
|
2011-10-11 13:58:23 +00:00
|
|
|
*/
|
2018-04-16 23:02:42 +00:00
|
|
|
void testImplicitResolver(string dataFilename, string detectFilename) @safe
|
2011-10-11 13:58:23 +00:00
|
|
|
{
|
|
|
|
string correctTag;
|
|
|
|
Node node;
|
|
|
|
|
2011-10-12 21:49:42 +00:00
|
|
|
scope(failure)
|
2011-10-11 13:58:23 +00:00
|
|
|
{
|
2011-10-12 21:49:42 +00:00
|
|
|
if(true)
|
2011-10-11 13:58:23 +00:00
|
|
|
{
|
|
|
|
writeln("Correct tag: ", correctTag);
|
|
|
|
writeln("Node: ", node.debugString);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-10-12 21:49:42 +00:00
|
|
|
correctTag = readText(detectFilename).strip();
|
2018-05-31 07:02:21 +00:00
|
|
|
node = Loader.fromFile(dataFilename).load();
|
2011-10-12 21:49:42 +00:00
|
|
|
assert(node.isSequence);
|
|
|
|
foreach(ref Node scalar; node)
|
|
|
|
{
|
|
|
|
assert(scalar.isScalar);
|
2011-10-20 13:48:21 +00:00
|
|
|
assert(scalar.tag == correctTag);
|
2011-10-12 21:49:42 +00:00
|
|
|
}
|
2011-10-11 13:58:23 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2018-03-23 21:35:16 +00:00
|
|
|
@safe unittest
|
2011-10-11 13:58:23 +00:00
|
|
|
{
|
2018-04-30 22:11:36 +00:00
|
|
|
printProgress("D:YAML Resolver unittest");
|
2011-10-11 13:58:23 +00:00
|
|
|
run("testImplicitResolver", &testImplicitResolver, ["data", "detect"]);
|
|
|
|
}
|
2014-08-06 12:17:07 +00:00
|
|
|
|
|
|
|
} // version(unittest)
|