1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
class EmptyMetadata : Kkc.MetadataFile {
public EmptyMetadata (string name, string filename) throws Error {
base (name, filename);
}
public override bool parse (Json.Object object) throws Error {
return true;
}
}
class MetadataFileTests : Kkc.TestCase {
public MetadataFileTests () {
base ("MetadataFile");
add_test ("load", this.test_load);
add_test ("properties", this.test_properties);
}
void test_load () {
const string good[] = {
"metadata"
};
const string bad[] = {
"metadata-bad1",
"metadata-bad2",
"metadata-bad3",
"metadata-bad4"
};
var srcdir = Environment.get_variable ("srcdir");
assert (srcdir != null);
foreach (var name in good) {
try {
new EmptyMetadata (
name,
Path.build_filename (srcdir,
name + ".json"));
} catch (Error e) {
assert_not_reached ();
}
}
foreach (var name in bad) {
try {
new EmptyMetadata (
name,
Path.build_filename (srcdir,
name + ".json"));
assert_not_reached ();
} catch (Error e) {
}
}
}
void test_properties () {
var srcdir = Environment.get_variable ("srcdir");
assert (srcdir != null);
Kkc.MetadataFile metadata;
try {
metadata = new EmptyMetadata (
"metadata",
Path.build_filename (srcdir, "metadata.json"));
} catch (Error e) {
assert_not_reached ();
}
string name;
string label;
string description;
string filename;
metadata.get ("name", out name,
"label", out label,
"description", out description,
"filename", out filename);
}
}
int main (string[] args) {
Test.init (ref args);
Kkc.init ();
TestSuite root = TestSuite.get_root ();
root.add_suite (new MetadataFileTests ().get_suite ());
Test.run ();
return 0;
}
|