Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
tous
tails
Commits
dc987567
Commit
dc987567
authored
May 06, 2020
by
sajolida
Browse files
Make lint_po happy
parents
b4ee870a
3e5bbca6
Changes
1000
Expand all
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 1000+
files are displayed.
Plain diff
Email patch
config/binary_rootfs/squashfs.sort
View file @
dc987567
This diff is collapsed.
Click to expand it.
config/chroot_local-hooks/99-set_mtimes
View file @
dc987567
...
...
@@ -6,9 +6,7 @@ set -e
echo
"Setting mtime on large files whose content generally do not change"
touch
--no-create
-t
197001010000
\
/usr/lib/locale/locale-archive
\
/usr/share/ppd/hplip/HP/
*
.ppd
\
/var/lib/anthy/anthy.dic
\
/var/lib/anthy/mkworddic/anthy.wdic
/usr/share/ppd/hplip/HP/
*
.ppd
find /usr/share/doc/tails/website
-depth
-exec
\
touch
--no-create
-t
197001010000
'{}'
\;
config/chroot_local-includes/etc/dconf/db/local.d/00_Tails_defaults
View file @
dc987567
...
...
@@ -70,7 +70,7 @@ sleep-inactive-battery-type ='nothing'
[org/gnome/shell]
enabled-extensions = ['apps-menu@gnome-shell-extensions.gcampax.github.com', 'places-menu@gnome-shell-extensions.gcampax.github.com', 'window-list@gnome-shell-extensions.gcampax.github.com', 'TopIcons@phocean.net', 'status-menu-helper@tails.boum.org', 'torstatus@tails.boum.org', 'desktop-icons@csoriano']
favorite-apps=['tor-browser.desktop', 't
hunderbird
.desktop', '
pidgin
.desktop', 'org.keepassxc.KeePassXC.desktop', '
org.gnome.Nautilus
.desktop', 'gnome
-terminal
.desktop']
favorite-apps=['tor-browser.desktop', 't
ails-persistence-setup.desktop', 'tails-documentation.desktop', 'whisperback.desktop', 'tails-installer
.desktop', '
thunderbird
.desktop', 'org.keepassxc.KeePassXC.desktop', '
pidgin
.desktop', '
org.
gnome
.Nautilus
.desktop']
[org/gnome/shell/extensions/desktop-icons]
icon-size='small'
...
...
config/chroot_local-includes/usr/local/lib/tails-configure-keyboard
View file @
dc987567
...
...
@@ -23,24 +23,24 @@ fi
LANGPREFIX
=
`
echo
"
$LANG
"
|
sed
's/_.*//'
`
case
"
$LANGPREFIX
"
in
ja
)
PRELOAD
=
"['
anthy
', 'libpinyin', 'hangul', 'Unikey', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', '
anthy
'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
PRELOAD
=
"['
mozc-jp
', 'libpinyin', 'hangul', 'Unikey', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', '
mozc-jp
'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
;;
ko
)
PRELOAD
=
"['hangul', 'libpinyin', '
anthy
', 'Unikey', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', '
anthy
'), ('ibus', 'Unikey')]"
PRELOAD
=
"['hangul', 'libpinyin', '
mozc-jp
', 'Unikey', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', '
mozc-jp
'), ('ibus', 'Unikey')]"
;;
vi
)
PRELOAD
=
"['Unikey', 'hangul', 'libpinyin', '
anthy
', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'Unikey'), ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', '
anthy
')]"
PRELOAD
=
"['Unikey', 'hangul', 'libpinyin', '
mozc-jp
', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'Unikey'), ('ibus', 'hangul'), ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', '
mozc-jp
')]"
;;
zh
)
PRELOAD
=
"['libpinyin', 'chewing', '
anthy
', 'hangul', 'Unikey']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', '
anthy
'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
PRELOAD
=
"['libpinyin', 'chewing', '
mozc-jp
', 'hangul', 'Unikey']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'libpinyin'), ('ibus', 'chewing'), ('ibus', '
mozc-jp
'), ('ibus', 'hangul'), ('ibus', 'Unikey')]"
;;
*
)
PRELOAD
=
"['libpinyin', '
anthy
', 'hangul', 'Unikey', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'libpinyin'), ('ibus', '
anthy
'), ('ibus', 'hangul'), ('ibus', 'Unikey'), ('ibus', 'chewing')]"
PRELOAD
=
"['libpinyin', '
mozc-jp
', 'hangul', 'Unikey', 'chewing']"
SOURCES
=
"[
$SOURCES
, ('ibus', 'libpinyin'), ('ibus', '
mozc-jp
'), ('ibus', 'hangul'), ('ibus', 'Unikey'), ('ibus', 'chewing')]"
;;
esac
...
...
config/chroot_local-includes/usr/share/tails/tbb-dist-url.txt
View file @
dc987567
http://torbrowser-archive.tails.boum.org/9.0.
9
-build
1
/
http://torbrowser-archive.tails.boum.org/9.0.
10
-build
2
/
config/chroot_local-includes/usr/share/tails/tbb-sha256sums.txt
View file @
dc987567
cf910b9577dc94bcfeef60fe9904e7f8f29277bf1a7360600c32956225d04473
tor-browser-linux64-9.0.
9
_en-US.tar.xz
c90d6b87c671a9dadeeaed84311511a21e067f39eab52d1b4e15bcb4c2dcf1ef
langpacks-tor-browser-linux64-9.0.
9
.tar.xz
71bdf80a64488b95a621ab3275fa2de79cf7e671df41982d1f43bc1c17749c1d
tor-browser-linux64-9.0.
10
_en-US.tar.xz
f699e2e9ee2f0db3a144801971ea3854604f82a08544db69ba38c05224bc9914
langpacks-tor-browser-linux64-9.0.
10
.tar.xz
config/chroot_local-includes/usr/src/iuk/dist.ini
View file @
dc987567
...
...
@@ -6,6 +6,22 @@ license = GPL_3
copyright_holder
=
Tails developers
copyright_year
=
2013
; Author tests prereqs
; authordep File::Find::Rule
; authordep GnuPG::Interface
; authordep HTTP::Server::Simple
; authordep HTTP::Server::Simple::Static
; authordep IO::Socket::SSL
; authordep Module::Pluggable::Object
; authordep Sys::Filesystem
; authordep Test::BDD::Cucumber
; authordep Test::EOL
; authordep Test::Fatal
; authordep Test::Most
; authordep Test::Perl::Critic
; authordep Test::Pod
; authordep Test::Spec
[MetaResources]
homepage
=
https://tails.boum.org/
repository.url
=
git://git.tails.boum.org/tails
...
...
config/chroot_local-includes/usr/src/perl5lib/dist.ini
View file @
dc987567
...
...
@@ -7,8 +7,11 @@ copyright_holder = Tails developers
copyright_year
=
2014
; Author tests prereqs
; authordep Module::Pluggable::Object
; authordep Test::EOL
; authordep Test::Most
; authordep Test::Perl::Critic
; authordep Test::Pod
[MetaResources]
homepage
=
https://tails.boum.org/
...
...
config/chroot_local-packageslists/tails-common.list
View file @
dc987567
...
...
@@ -37,8 +37,6 @@ acl
zenity
# Needed by tails-htp-notify-user and others
libdesktop-notify-perl
# Needed by tails-transform-mirror-url
nodejs
# Needed by SSH's ProxyCommand
netcat-openbsd
# Needed by config/chroot_local-includes/usr/local/lib/udev-watchdog-wrapper
...
...
@@ -287,7 +285,7 @@ ibus-libpinyin
## Chinese ZhuYin (Bopomofo)
ibus-chewing
## Japanese
ibus-
anthy
ibus-
mozc
## Korean
ibus-hangul
## Vietnamese
...
...
@@ -418,3 +416,6 @@ usbmuxd
pdf-redact-tools
tesseract-ocr
ffmpeg
# U2F support (i.e. in TorBrowser)
libu2f-udev
config/chroot_local-packageslists/tails-perl5lib.list
View file @
dc987567
...
...
@@ -19,3 +19,5 @@ libtype-tiny-xs-perl
libtypes-path-tiny-perl
libunix-mknod-perl
libwww-curl-perl
# Needed by tails-transform-mirror-url
nodejs
debian/changelog
View file @
dc987567
tails
(
4.6
)
unstable
;
urgency
=
medium
*
Security
fixes
-
Upgrade
Tor
Browser
to
9.0.10
-
build2
(
Closes
:
#
17660
).
-
Upgrade
Thunderbird
to
1
:
68.7.0
-
1
~
deb10u1
(
MFSA
-
2020
-
14
,
DSA
-
4656
).
-
Upgrade
Git
to
1
:
2.11.0
-
3
+
deb9u3
(
DSA
-
4657
,
DSA
-
4659
).
-
Upgrade
Node
.
js
to
10.19.0
~
dfsg1
-
1
(
DSA
-
4669
).
-
Upgrade
OpenLDAP
to
2.4.47
+
dfsg
-
3
+
deb10u2
(
DSA
-
4666
).
-
Upgrade
OpenSSL
to
1.1.1
d
-
0
+
deb10u3
(
DSA
-
4661
).
-
Upgrade
ReportLab
to
3.5.13
-
1
+
deb10u1
(
DSA
-
4663
).
-
Upgrade
WebKitGTK
to
2.26.4
-
1
~
deb10u3
(
DSA
-
4658
).
*
Bugfixes
-
Switch
Japanese
input
method
from
Anthy
to
Mozc
(
Closes
:
#
16719
).
-
Install
the
libu2f
-
udev
package
,
for
U2F
device
support
.
-
Update
our
list
of
'Favorites'
applications
(
Closes
:
#
16990
).
*
Build
system
-
lint_po
:
support
locales
with
"@"
in
their
name
,
such
as
ru
@
petr1708
(
Closes
:
#
17554
).
-
perl5lib
:
declare
missing
test
dependencies
(
Closes
:
#
17591
).
-
iuk
:
declare
missing
test
dependencies
(
Closes
:
#
17592
).
-
Upgrade
to
po4a
0.55
for
Tails
images
and
Vagrant
box
(
Closes
:
#
17005
).
*
Test
suite
-
Print
disk
usage
information
when
the
test
suite
fails
with
“
No
space
left
”
errors
.
-
Ensure
no
zombie
processes
are
left
around
,
by
cleaning
subprocesses
correctly
(
Closes
:
#
17551
).
-
Prevent
webrick
from
becoming
a
zombie
process
.
-
Avoid
test
suite
getting
stuck
due
to
a
zero
timeout
.
-
Fix
obsoletion
warnings
(
Closes
:
#
17552
).
-
Add
root
check
and
--
allow
-
non
-
root
option
(
Closes
:
#
17613
).
Let
's
make it clear running the test suite requires root privileges in
the general case.
-- Tails developers <tails@boum.org> Mon, 04 May 2020 18:43:38 +0200
tails (4.5) unstable; urgency=medium
* Security fixes
...
...
features/scripts/vm-execute
View file @
dc987567
...
...
@@ -46,7 +46,7 @@ opt_parser = OptionParser.new do |opts|
end
opt_parser
.
parse!
(
ARGV
)
cmd
=
ARGV
.
join
(
" "
)
c
=
RemoteShell
::
ShellCommand
.
new
(
FakeVM
.
new
,
cmd
,
cmd_opts
)
c
=
RemoteShell
::
ShellCommand
.
new
(
FakeVM
.
new
,
cmd
,
**
cmd_opts
)
puts
"Return status:
#{
c
.
returncode
}
"
puts
"STDOUT:
\n
#{
c
.
stdout
}
"
puts
"STDERR:
\n
#{
c
.
stderr
}
"
...
...
features/step_definitions/common_steps.rb
View file @
dc987567
...
...
@@ -62,8 +62,13 @@ end
Given
/^I (temporarily )?create an? (\d+) ([[:alpha:]]+) (?:([[:alpha:]]+) )?disk named "([^"]+)"$/
do
|
temporary
,
size
,
unit
,
type
,
name
|
type
||=
"qcow2"
$vm
.
storage
.
create_new_disk
(
name
,
{
:size
=>
size
,
:unit
=>
unit
,
:type
=>
type
})
begin
$vm
.
storage
.
create_new_disk
(
name
,
size:
size
,
unit:
unit
,
type:
type
)
rescue
NoSpaceLeftError
=>
e
cmd
=
"du -ah
\"
#{
$config
[
'TMPDIR'
]
}
\"
| sort -hr | head -n20"
info_log
(
"
#{
cmd
}
\n
"
+
`
#{
cmd
}
`
)
raise
e
end
add_after_scenario_hook
{
$vm
.
storage
.
delete_volume
(
name
)
}
if
temporary
end
...
...
@@ -508,7 +513,7 @@ Given /^I enter the sudo password in the pkexec prompt$/ do
step
"I enter the
\"
#{
@sudo_password
}
\"
password in the pkexec prompt"
end
def
deal_with_polkit_prompt
(
password
,
opts
=
{}
)
def
deal_with_polkit_prompt
(
password
,
**
opts
)
opts
[
:expect_success
]
=
true
if
opts
[
:expect_success
].
nil?
image
=
'PolicyKitAuthPrompt.png'
@screen
.
wait
(
image
,
60
)
...
...
@@ -641,7 +646,7 @@ When /^I run "([^"]+)" in GNOME Terminal$/ do |command|
end
When
/^the file "([^"]+)" exists(?:| after at most (\d+) seconds)$/
do
|
file
,
timeout
|
timeout
=
0
if
timeout
.
nil?
timeout
=
1
0
if
timeout
.
nil?
try_for
(
timeout
.
to_i
,
:msg
=>
"The file
#{
file
}
does not exist after
#{
timeout
}
seconds"
...
...
@@ -858,7 +863,10 @@ EOF
Process
.
kill
(
0
,
proc
.
pid
)
==
1
end
add_after_scenario_hook
{
Process
.
kill
(
"TERM"
,
proc
.
pid
)
}
add_after_scenario_hook
do
Process
.
kill
(
"TERM"
,
proc
.
pid
)
Process
.
wait
(
proc
.
pid
)
end
# It seems necessary to actually check that the LAN server is
# serving, possibly because it isn't doing so reliably when setting
...
...
@@ -908,7 +916,7 @@ When /^AppArmor has (not )?denied "([^"]+)" from opening "([^"]+)"$/ do |anti_te
"'I monitor the AppArmor log of ...' step"
)
audit_line_regex
=
'apparmor="DENIED" operation="open" profile="%s" name="%s"'
%
[
profile
,
file
]
begin
try_for
(
10
,
{
:
delay
=>
1
}
)
{
try_for
(
10
,
delay
:
1
)
{
audit_log
=
$vm
.
execute
(
"journalctl --full --no-pager "
+
"--since='
#{
@apparmor_profile_monitoring_start
[
profile
]
}
' "
+
...
...
@@ -1014,7 +1022,7 @@ def share_host_files(files)
return
mount_dir
end
def
mount_USB_drive
(
disk
,
fs_options
=
{}
)
def
mount_USB_drive
(
disk
,
**
fs_options
)
fs_options
[
:encrypted
]
||=
false
@tmp_usb_drive_mount_dir
=
$vm
.
execute_successfully
(
'mktemp -d'
).
stdout
.
chomp
dev
=
$vm
.
disk_dev
(
disk
)
...
...
@@ -1052,7 +1060,7 @@ When(/^I plug and mount a (\d+) MiB USB drive with an? (.*)$/) do |size_MiB, fs|
fs_options
[
:encrypted
]
=
true
fs_options
[
:password
]
=
/encrypted with password "([^"]+)"/
.
match
(
fs
)[
1
]
end
mount_dir
=
mount_USB_drive
(
disk
,
fs_options
)
mount_dir
=
mount_USB_drive
(
disk
,
**
fs_options
)
@tmp_filesystem_size_b
=
convert_to_bytes
(
avail_space_in_mountpoint_kB
(
mount_dir
),
'KB'
...
...
@@ -1060,7 +1068,7 @@ When(/^I plug and mount a (\d+) MiB USB drive with an? (.*)$/) do |size_MiB, fs|
end
When
(
/^I mount the USB drive again$/
)
do
mount_USB_drive
(
@tmp_filesystem_disk
,
@tmp_filesystem_options
)
mount_USB_drive
(
@tmp_filesystem_disk
,
**
@tmp_filesystem_options
)
end
When
(
/^I umount the USB drive$/
)
do
...
...
features/step_definitions/thunderbird.rb
View file @
dc987567
...
...
@@ -200,7 +200,7 @@ When /^I send an email to myself$/ do
.
typeText
(
'test'
)
compose_window
.
child
(
'Composition Toolbar'
,
roleName:
'tool bar'
)
.
button
(
'Send'
).
click
try_for
(
120
,
{
:
delay
=>
2
}
)
do
try_for
(
120
,
delay
:
2
)
do
not
compose_window
.
exist?
end
end
...
...
features/step_definitions/tor.rb
View file @
dc987567
...
...
@@ -35,7 +35,7 @@ def ip6tables_rules(chain, table = "filter")
iptables_rules_parse
(
"ip6tables"
,
chain
,
table
)
end
def
ip4tables_packet_counter_sum
(
filters
=
{}
)
def
ip4tables_packet_counter_sum
(
**
filters
)
pkts
=
0
ip4tables_chains
do
|
name
,
_
,
rules
|
next
if
filters
[
:tables
]
&&
not
(
filters
[
:tables
].
include?
(
name
))
...
...
features/step_definitions/untrusted_partitions.rb
View file @
dc987567
...
...
@@ -26,7 +26,7 @@ Given /^I create an?( (\d+) ([[:alpha:]]+))? ([[:alnum:]]+) partition( labeled "
opts
.
merge!
(
:luks_password
=>
luks_password
)
if
is_encrypted
opts
.
merge!
(
:size
=>
size
)
if
with_size
opts
.
merge!
(
:unit
=>
unit
)
if
with_size
$vm
.
storage
.
disk_mkpartfs
(
name
,
parttype
,
fstype
,
opts
)
$vm
.
storage
.
disk_mkpartfs
(
name
,
parttype
,
fstype
,
**
opts
)
end
Given
/^I write (|an old version of )the Tails (ISO|USB) image to disk "([^"]+)"$/
do
|
old
,
type
,
name
|
...
...
features/step_definitions/veracrypt.rb
View file @
dc987567
...
...
@@ -9,7 +9,7 @@ $veracrypt_volume_name = 'veracrypt'
$veracrypt_pim
=
'1'
$veracrypt_basic_container_with_pim
=
"
#{
MISC_FILES_DIR
}
/container_with_pim.hc"
def
veracrypt_volume_size_in_Nautilus
(
options
=
{}
)
def
veracrypt_volume_size_in_Nautilus
(
**
options
)
options
[
:isHidden
]
?
'52 MB'
:
(
...
...
@@ -19,7 +19,7 @@ def veracrypt_volume_size_in_Nautilus(options = {})
)
end
def
veracrypt_volume_size_in_GNOME_Disks
(
options
=
{}
)
def
veracrypt_volume_size_in_GNOME_Disks
(
**
options
)
options
[
:needsPim
]
?
'410 KB'
:
'105 MB'
...
...
features/support/extra_hooks.rb
View file @
dc987567
...
...
@@ -62,7 +62,7 @@ if not($at_exit_print_artifacts_dir_patching_done)
$at_exit_print_artifacts_dir_patching_done
=
true
end
def
info_log
(
message
=
""
,
options
=
{}
)
def
info_log
(
message
=
""
,
**
options
)
options
[
:color
]
=
:clear
# This trick allows us to use a module's (~private) method on a
# one-off basis.
...
...
@@ -70,7 +70,7 @@ def info_log(message = "", options = {})
puts
cucumber_console
.
format_string
(
message
,
options
[
:color
])
end
def
debug_log
(
message
,
options
=
{}
)
def
debug_log
(
message
,
**
options
)
options
[
:timestamp
]
=
true
unless
options
.
has_key?
(
:timestamp
)
if
$debug_log_fns
if
options
[
:timestamp
]
...
...
@@ -79,7 +79,7 @@ def debug_log(message, options = {})
elapsed
=
(
Time
.
now
-
TIME_AT_START
.
to_f
).
utc
.
strftime
(
"%H:%M:%S.%9N"
)
message
=
"
#{
elapsed
}
:
#{
message
}
"
end
$debug_log_fns
.
each
{
|
fn
|
fn
.
call
(
message
,
options
)
}
$debug_log_fns
.
each
{
|
fn
|
fn
.
call
(
message
,
**
options
)
}
end
end
...
...
@@ -122,7 +122,7 @@ module ExtraFormatters
$debug_log_fns
<<
self
.
method
(
:debug_log
)
end
def
debug_log
(
message
,
options
)
def
debug_log
(
message
,
**
options
)
options
[
:color
]
||=
:blue
@io
.
puts
(
format_string
(
message
,
options
[
:color
]))
@io
.
flush
...
...
features/support/helpers/display_helper.rb
View file @
dc987567
...
...
@@ -25,7 +25,7 @@ class Display
# We wait for the display to be active to not lose actions
# (e.g. key presses) that come immediately after starting (or
# restoring) a vm
try_for
(
20
,
{
:
delay
=>
0.1
,
:
msg
=>
"virt-viewer failed to start"
}
)
{
try_for
(
20
,
delay
:
0.1
,
msg
:
"virt-viewer failed to start"
)
{
active?
}
end
...
...
@@ -47,8 +47,7 @@ class Display
def
screenshot
(
target
)
FileUtils
.
rm_f
(
target
)
p
=
IO
.
popen
([
'import'
,
'-quality'
,
'100%'
,
'-window'
,
'root'
,
target
])
p
.
close
popen_wait
([
'import'
,
'-quality'
,
'100%'
,
'-window'
,
'root'
,
target
])
assert
(
$?
.
success?
)
assert
(
File
.
exists?
(
target
))
end
...
...
features/support/helpers/dogtail.rb
View file @
dc987567
...
...
@@ -54,7 +54,7 @@ module Dogtail
class
Application
@@node_counter
||=
0
def
initialize
(
app_name
,
opts
=
{}
)
def
initialize
(
app_name
,
**
opts
)
@var
=
"node
#{
@@node_counter
+=
1
}
"
@app_name
=
app_name
@opts
=
opts
...
...
@@ -162,7 +162,7 @@ module Dogtail
]
size
=
run
(
find_script_lines
).
stdout
.
chomp
.
to_i
return
size
.
times
.
map
do
|
i
|
Node
.
new
(
"
#{
nodes_var
}
[
#{
i
}
]"
,
@opts
)
Node
.
new
(
"
#{
nodes_var
}
[
#{
i
}
]"
,
**
@opts
)
end
end
...
...
@@ -213,13 +213,13 @@ module Dogtail
define_method
(
method
)
do
|*
args
|
args_str
=
self
.
class
.
args_to_s
(
args
)
method_call
=
"
#{
method
.
to_s
}
(
#{
args_str
}
)"
Node
.
new
(
"
#{
@var
}
.
#{
method_call
}
"
,
@opts
)
Node
.
new
(
"
#{
@var
}
.
#{
method_call
}
"
,
**
@opts
)
end
end
TREE_API_NODE_SEARCH_FIELDS
.
each
do
|
field
|
define_method
(
field
)
do
Node
.
new
(
"
#{
@var
}
.
#{
field
}
"
,
@opts
)
Node
.
new
(
"
#{
@var
}
.
#{
field
}
"
,
**
@opts
)
end
end
...
...
@@ -227,7 +227,7 @@ module Dogtail
class
Node
<
Application
def
initialize
(
expr
,
opts
=
{}
)
def
initialize
(
expr
,
**
opts
)
@expr
=
expr
@opts
=
opts
@opts
[
:user
]
||=
LIVE_USER
...
...
@@ -240,7 +240,7 @@ module Dogtail
define_method
(
method
)
do
|*
args
|
args_str
=
self
.
class
.
args_to_s
(
args
)
method_call
=
"
#{
method
.
to_s
}
(
#{
args_str
}
)"
Node
.
new
(
"
#{
@var
}
.
#{
method_call
}
"
,
@opts
)
Node
.
new
(
"
#{
@var
}
.
#{
method_call
}
"
,
**
@opts
)
end
end
...
...
Prev
1
2
3
4
5
…
50
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment