123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- 'use strict';
- var Assert = require('assert');
- var Fs = require('fs');
- var JsYaml = require('../../lib/js-yaml');
- var Common = require('../../lib/js-yaml/common');
- var Tokens = require('../../lib/js-yaml/tokens');
- var Helper = require('../helper');
- // Tokens mnemonic:
- // directive: %
- // document_start: ---
- // document_end: ...
- // alias: *
- // anchor: &
- // tag: !
- // scalar _
- // block_sequence_start: [[
- // block_mapping_start: {{
- // block_end: ]}
- // flow_sequence_start: [
- // flow_sequence_end: ]
- // flow_mapping_start: {
- // flow_mapping_end: }
- // entry: ,
- // key: ?
- // value: :
- var REPLACES = new Common.Hash();
- REPLACES.store(Tokens.DirectiveToken, '%');
- REPLACES.store(Tokens.DocumentStartToken, '---');
- REPLACES.store(Tokens.DocumentEndToken, '...');
- REPLACES.store(Tokens.AliasToken, '*');
- REPLACES.store(Tokens.AnchorToken, '&');
- REPLACES.store(Tokens.TagToken, '!');
- REPLACES.store(Tokens.ScalarToken, '_');
- REPLACES.store(Tokens.BlockSequenceStartToken, '[[');
- REPLACES.store(Tokens.BlockMappingStartToken, '{{');
- REPLACES.store(Tokens.BlockEndToken, ']}');
- REPLACES.store(Tokens.FlowSequenceStartToken, '[');
- REPLACES.store(Tokens.FlowSequenceEndToken, ']');
- REPLACES.store(Tokens.FlowMappingStartToken, '{');
- REPLACES.store(Tokens.FlowMappingEndToken, '}');
- REPLACES.store(Tokens.BlockEntryToken, ',');
- REPLACES.store(Tokens.FlowEntryToken, ',');
- REPLACES.store(Tokens.KeyToken, '?');
- REPLACES.store(Tokens.ValueToken, ':');
- module.exports = {
- "Test tokens": Helper.functional({
- dirname: __dirname + '/data',
- files: ['.data', '.tokens'],
- test: function (dataFile, tokensFile) {
- var result = [], expected = [];
-
- Fs.readFileSync(tokensFile, 'utf8').split(/[ \n]/).forEach(function (t) {
- if (!!t) { expected.push(t); }
- });
- JsYaml.scan(Fs.readFileSync(dataFile, 'utf8'), function (token) {
- if (Common.isInstanceOf(token, Tokens.StreamStartToken)
- || Common.isInstanceOf(token, Tokens.StreamEndToken)) {
- return;
- }
- result.push(REPLACES.get(token.constructor));
- });
- Assert.equal(result.length, expected.length);
- result.forEach(function (token, i) {
- Assert.equal(expected[i], token);
- });
- }
- })
- };
- ////////////////////////////////////////////////////////////////////////////////
- // vim:ts=2:sw=2
- ////////////////////////////////////////////////////////////////////////////////
|