def test_blank_mdn_key(self): # https://developer.mozilla.org/en-US/docs/Web/API/MIDIConnectionEvent raw = "{{SpecName('', '#midiconnection')}}" ks = SpecName(raw=raw, args=['', '#midiconnection'], scope=self.scope) self.assertEqual(ks.mdn_key, '') self.assertEqual(ks.subpath, '#midiconnection') self.assertIsNone(ks.section_name, None) issue = ks._make_issue('specname_blank_key') self.assertEqual(ks.issues, [issue])
def test_no_args(self): raw = '{{SpecName}}' ks = SpecName(raw=raw, scope=self.scope) issue = ks._make_issue( 'kumascript_wrong_args', min=1, max=3, count=0, arg_names=['SpecKey', 'Anchor', 'AnchorName'], arg_count='0 arguments', arg_spec=( 'between 1 and 3 arguments (SpecKey, Anchor, [AnchorName])')) self.assertEqual(ks.issues, [issue])
def test_no_args(self): raw = "{{SpecName}}" ks = SpecName(raw=raw, scope=self.scope) issue = ks._make_issue( 'kumascript_wrong_args', min=1, max=3, count=0, arg_names=['SpecKey', 'Anchor', 'AnchorName'], arg_count='0 arguments', arg_spec=( 'between 1 and 3 arguments (SpecKey, Anchor, [AnchorName])')) self.assertEqual(ks.issues, [issue])
def test_unknown_spec(self): raw = "{{SpecName('CSS3 Backgrounds')}}" ks = SpecName(raw=raw, args=['CSS3 Backgrounds'], scope=self.scope) self.assertEqual(ks.mdn_key, 'CSS3 Backgrounds') self.assertEqual(ks.subpath, None) self.assertEqual(ks.section_name, None) expected = [('unknown_spec', 0, 32, {'key': u'CSS3 Backgrounds'})] self.assertEqual(ks.issues, expected)
def test_1arg(self): self.get_instance('Specification', 'css3_backgrounds') raw = "{{SpecName('CSS3 Backgrounds')}}" ks = SpecName(raw=raw, args=['CSS3 Backgrounds'], scope=self.scope) self.assertEqual(ks.mdn_key, 'CSS3 Backgrounds') self.assertEqual(ks.subpath, None) self.assertEqual(ks.section_name, None) self.assertFalse(ks.issues)
def test_3args(self): self.get_instance('Specification', 'css3_backgrounds') raw = ('{{SpecName("CSS3 Backgrounds", "#the-background-size",' ' "background-size")}}') args = ['CSS3 Backgrounds', '#the-background-size', 'background-size'] ks = SpecName(raw=raw, args=args, scope=self.scope) self.assertEqual(ks.mdn_key, 'CSS3 Backgrounds') self.assertEqual(ks.subpath, '#the-background-size') self.assertEqual(ks.section_name, 'background-size') self.assertFalse(ks.issues) self.assertEqual(text_type(ks), raw)